File indexing completed on 2024-05-12 04:38:19

0001 /*
0002     SPDX-FileCopyrightText: 2012 Miha Čančula <miha@noughmad.eu>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "templateconfig.h"
0008 #include "templatepage.h"
0009 #include "ui_templateconfig.h"
0010 
0011 #include <interfaces/iplugin.h>
0012 #include <interfaces/icore.h>
0013 #include <interfaces/iplugincontroller.h>
0014 #include <interfaces/itemplateprovider.h>
0015 
0016 #include <KLocalizedString>
0017 
0018 TemplateConfig::TemplateConfig(QWidget* parent)
0019     : ConfigPage(nullptr, nullptr, parent)
0020 {
0021     ui = new Ui::TemplateConfig;
0022     ui->setupUi(this);
0023 
0024     const QList<KDevelop::IPlugin*> plugins = KDevelop::ICore::self()->pluginController()->allPluginsForExtension(QStringLiteral("org.kdevelop.ITemplateProvider"));
0025     for (KDevelop::IPlugin* plugin : plugins) {
0026         if (auto* provider = plugin->extension<KDevelop::ITemplateProvider>()) {
0027             ui->tabWidget->addTab(new TemplatePage(provider), provider->icon(), provider->name());
0028         }
0029     }
0030 }
0031 
0032 TemplateConfig::~TemplateConfig()
0033 {
0034     delete ui;
0035 }
0036 
0037 QString TemplateConfig::name() const
0038 {
0039     return i18n("Templates");
0040 }
0041 
0042 QString TemplateConfig::fullName() const
0043 {
0044     return i18n("Configure Templates");
0045 }
0046 
0047 QIcon TemplateConfig::icon() const
0048 {
0049     return QIcon::fromTheme(QStringLiteral("project-development-new-template"));
0050 }
0051 
0052 void TemplateConfig::apply()
0053 {
0054 }
0055 
0056 void TemplateConfig::defaults()
0057 {
0058 }
0059 
0060 void TemplateConfig::reset()
0061 {
0062 }
0063 
0064 #include "moc_templateconfig.cpp"