File indexing completed on 2024-04-21 04:37:44

0001 /*
0002     SPDX-FileCopyrightText: 2017 Aleix Pol Gonzalez <aleixpol@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-only
0005 */
0006 
0007 #include "androidplugin.h"
0008 #include "androidruntime.h"
0009 #include "androidpreferences.h"
0010 #include "androidpreferencessettings.h"
0011 #include <interfaces/icore.h>
0012 #include <interfaces/iruntimecontroller.h>
0013 #include <KPluginFactory>
0014 
0015 K_PLUGIN_FACTORY_WITH_JSON(KDevAndroidFactory, "kdevandroid.json", registerPlugin<AndroidPlugin>();)
0016 
0017 using namespace KDevelop;
0018 
0019 AndroidPlugin::AndroidPlugin(QObject *parent, const QVariantList & /*args*/)
0020     : KDevelop::IPlugin( QStringLiteral("kdevandroid"), parent )
0021     , m_settings(new AndroidPreferencesSettings)
0022 {
0023     setXMLFile( QStringLiteral("kdevandroidplugin.rc") );
0024 
0025     AndroidRuntime::s_settings = m_settings.data();
0026 
0027     ICore::self()->runtimeController()->addRuntimes(new AndroidRuntime);
0028 }
0029 
0030 AndroidPlugin::~AndroidPlugin()
0031 {
0032     AndroidRuntime::s_settings = nullptr;
0033 }
0034 
0035 int AndroidPlugin::configPages() const
0036 {
0037     return 1;
0038 }
0039 
0040 KDevelop::ConfigPage* AndroidPlugin::configPage(int number, QWidget* parent)
0041 {
0042     if (number == 0) {
0043         return new AndroidPreferences(this, m_settings.data(), parent);
0044     }
0045     return nullptr;
0046 }
0047 
0048 #include "androidplugin.moc"
0049 #include "moc_androidplugin.cpp"