File indexing completed on 2024-05-19 04:58:07
0001 /* 0002 This file is part of Choqok, the KDE micro-blogging client 0003 0004 SPDX-FileCopyrightText: 2008-2012 Mehrdad Momeny <mehrdad.momeny@gmail.com> 0005 0006 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0007 */ 0008 0009 #include "choqokpluginconfig.h" 0010 0011 #include <QVBoxLayout> 0012 0013 #include <KAboutData> 0014 #include <KLocalizedString> 0015 #include <KPluginFactory> 0016 #include <KPluginWidget> 0017 #include <ksettings/Dispatcher> 0018 #include <KConfigGroup> 0019 0020 #include "pluginmanager.h" 0021 #include "pluginsdebug.h" 0022 0023 K_PLUGIN_FACTORY_WITH_JSON(ChoqokPluginConfigFactory, "choqok_pluginconfig.json", 0024 registerPlugin<ChoqokPluginConfig>();) 0025 0026 ChoqokPluginConfig::ChoqokPluginConfig(QWidget *parent, const QVariantList &args) 0027 : KCModule(parent, args) 0028 { 0029 m_pluginWidget = new KPluginWidget(this); 0030 m_pluginWidget->setConfig(KSharedConfig::openConfig()->group("Plugins")); 0031 0032 QVBoxLayout *mainLayout = new QVBoxLayout(this); 0033 mainLayout->setMargin(0); 0034 mainLayout->addWidget(m_pluginWidget); 0035 0036 connect(m_pluginWidget, &KPluginWidget::changed, this, &ChoqokPluginConfig::markAsChanged); 0037 0038 m_pluginWidget->addPlugins(Choqok::PluginManager::self()->availablePlugins(QLatin1String("Plugins")), 0039 i18n("General Plugins")); 0040 } 0041 0042 ChoqokPluginConfig::~ChoqokPluginConfig() 0043 { 0044 } 0045 0046 void ChoqokPluginConfig::load() 0047 { 0048 KCModule::load(); 0049 } 0050 0051 void ChoqokPluginConfig::defaults() 0052 { 0053 m_pluginWidget->defaults(); 0054 } 0055 0056 void ChoqokPluginConfig::save() 0057 { 0058 m_pluginWidget->save(); 0059 Choqok::PluginManager::self()->loadAllPlugins(); 0060 0061 KCModule::save(); 0062 } 0063 0064 #include "choqokpluginconfig.moc" 0065 #include "moc_choqokpluginconfig.cpp"