File indexing completed on 2024-04-28 11:20:31

0001 /*
0002     SPDX-FileCopyrightText: 2009 Aleix Pol <aleixpol@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "kalgebrabackend.h"
0008 #include "kalgebrasession.h"
0009 #include "kalgebraextensions.h"
0010 #include "settings.h"
0011 #include "ui_settings.h"
0012 
0013 #include <KPluginFactory>
0014 
0015 KAlgebraBackend::KAlgebraBackend(QObject* parent,const QList<QVariant> args)
0016     : Cantor::Backend(parent, args)
0017 {
0018     new KAlgebraVariableManagementExtension(this);
0019 }
0020 
0021 QString KAlgebraBackend::id() const
0022 {
0023     return QLatin1String("kalgebra");
0024 }
0025 
0026 QString KAlgebraBackend::version() const
0027 {
0028     return QLatin1String("Analitza version 5.0");
0029 }
0030 
0031 Cantor::Session* KAlgebraBackend::createSession()
0032 {
0033     return new KAlgebraSession(this);
0034 }
0035 
0036 Cantor::Backend::Capabilities KAlgebraBackend::capabilities() const
0037 {
0038     return Cantor::Backend::Completion | Cantor::Backend::SyntaxHighlighting
0039         | Cantor::Backend::SyntaxHelp | Cantor::Backend::VariableManagement;
0040 }
0041 
0042 QWidget* KAlgebraBackend::settingsWidget(QWidget* parent) const
0043 {
0044     QWidget* widget = new QWidget(parent);
0045     Ui::KAlgebraSettingsBase s;
0046     s.setupUi(widget);
0047     return widget;
0048 }
0049 
0050 KConfigSkeleton* KAlgebraBackend::config() const
0051 {
0052     return KAlgebraSettings::self();
0053 }
0054 
0055 QUrl KAlgebraBackend::helpUrl() const
0056 {
0057     return QUrl(i18nc("The url to the documentation of KAlgebra, please check if there is a translated version and use the correct url",
0058                  "https://docs.kde.org/?application=kalgebra"));
0059 }
0060 
0061 bool KAlgebraBackend::requirementsFullfilled(QString* const reason) const
0062 {
0063     Q_UNUSED(reason);
0064     return true;
0065 }
0066 
0067 K_PLUGIN_FACTORY_WITH_JSON(kalgebrabackend, "kalgebrabackend.json", registerPlugin<KAlgebraBackend>();)
0068 #include "kalgebrabackend.moc"