File indexing completed on 2024-05-05 16:05:44

0001 /*
0002     This file is part of the KDE project
0003     SPDX-FileCopyrightText: 2003 Matthias Kretz <kretz@kde.org>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-only
0006 */
0007 
0008 #include "ksettings/pluginpage.h"
0009 #include "kpluginselector.h"
0010 #include "ksettings/dispatcher.h"
0011 #include <KAboutData>
0012 
0013 namespace KSettings
0014 {
0015 #if KCMUTILS_BUILD_DEPRECATED_SINCE(5, 76)
0016 
0017 class PluginPagePrivate
0018 {
0019 public:
0020     PluginPagePrivate()
0021     {
0022     }
0023 
0024     KPluginSelector *m_pluginSelector = nullptr;
0025     void _k_reparseConfiguration(const QByteArray &a);
0026 };
0027 
0028 PluginPage::PluginPage(const KAboutData *aboutData, QWidget *parent, const QVariantList &args)
0029     : KCModule(aboutData, parent, args)
0030     , d_ptr(new PluginPagePrivate)
0031 {
0032     Q_D(PluginPage);
0033     d->m_pluginSelector = new KPluginSelector(this);
0034     connect(d->m_pluginSelector, &KPluginSelector::changed, this, &KCModule::changed);
0035     connect(d->m_pluginSelector, &KPluginSelector::configCommitted, this, [d](const QByteArray &componentName) {
0036         d->_k_reparseConfiguration(componentName);
0037     });
0038 }
0039 
0040 void PluginPagePrivate::_k_reparseConfiguration(const QByteArray &a)
0041 {
0042     Dispatcher::reparseConfiguration(QString::fromLatin1(a));
0043 }
0044 
0045 PluginPage::~PluginPage()
0046 {
0047     delete d_ptr;
0048 }
0049 
0050 KPluginSelector *PluginPage::pluginSelector()
0051 {
0052     return d_ptr->m_pluginSelector;
0053 }
0054 
0055 void PluginPage::load()
0056 {
0057     d_ptr->m_pluginSelector->load();
0058 }
0059 
0060 void PluginPage::save()
0061 {
0062     d_ptr->m_pluginSelector->save();
0063 }
0064 
0065 void PluginPage::defaults()
0066 {
0067     d_ptr->m_pluginSelector->defaults();
0068 }
0069 
0070 #endif
0071 
0072 } // namespace
0073 
0074 #include "moc_pluginpage.cpp"