File indexing completed on 2024-05-19 16:38:49

0001 /*
0002     SPDX-FileCopyrightText: 2020 Tobias Fella <fella@posteo.de>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #include "kcm_componentchooser.h"
0008 
0009 #include <QApplication>
0010 
0011 #include <KBuildSycocaProgressDialog>
0012 #include <KLocalizedString>
0013 #include <KPluginFactory>
0014 
0015 #include "componentchooserbrowser.h"
0016 #include "componentchooserdata.h"
0017 #include "componentchooseremail.h"
0018 #include "componentchooserfilemanager.h"
0019 #include "componentchooserterminal.h"
0020 
0021 K_PLUGIN_FACTORY_WITH_JSON(KcmComponentChooserFactory, "kcm_componentchooser.json", registerPlugin<KcmComponentChooser>();
0022                            registerPlugin<ComponentChooserData>();)
0023 
0024 KcmComponentChooser::KcmComponentChooser(QObject *parent, const KPluginMetaData &metaData, const QVariantList &args)
0025     : KQuickAddons::ManagedConfigModule(parent, metaData, args)
0026     , m_data(new ComponentChooserData(this))
0027 {
0028     setButtons(Help | Default | Apply);
0029 
0030     connect(browsers(), &ComponentChooser::indexChanged, this, &KcmComponentChooser::settingsChanged);
0031     connect(fileManagers(), &ComponentChooser::indexChanged, this, &KcmComponentChooser::settingsChanged);
0032     connect(terminalEmulators(), &ComponentChooser::indexChanged, this, &KcmComponentChooser::settingsChanged);
0033     connect(emailClients(), &ComponentChooser::indexChanged, this, &KcmComponentChooser::settingsChanged);
0034     connect(geoUriHandlers(), &ComponentChooser::indexChanged, this, &KcmComponentChooser::settingsChanged);
0035     connect(telUriHandlers(), &ComponentChooser::indexChanged, this, &KcmComponentChooser::settingsChanged);
0036 }
0037 
0038 ComponentChooser *KcmComponentChooser::browsers() const
0039 {
0040     return m_data->browsers();
0041 }
0042 
0043 ComponentChooser *KcmComponentChooser::emailClients() const
0044 {
0045     return m_data->emailClients();
0046 }
0047 
0048 ComponentChooser *KcmComponentChooser::terminalEmulators() const
0049 {
0050     return m_data->terminalEmulators();
0051 }
0052 
0053 ComponentChooser *KcmComponentChooser::fileManagers() const
0054 {
0055     return m_data->fileManagers();
0056 }
0057 
0058 ComponentChooser *KcmComponentChooser::geoUriHandlers() const
0059 {
0060     return m_data->geoUriHandlers();
0061 }
0062 
0063 ComponentChooser *KcmComponentChooser::telUriHandlers() const
0064 {
0065     return m_data->telUriHandlers();
0066 }
0067 
0068 void KcmComponentChooser::defaults()
0069 {
0070     m_data->defaults();
0071 }
0072 
0073 void KcmComponentChooser::load()
0074 {
0075     m_data->load();
0076 }
0077 
0078 void KcmComponentChooser::save()
0079 {
0080     m_data->save();
0081     KBuildSycocaProgressDialog::rebuildKSycoca(QApplication::activeWindow());
0082 }
0083 
0084 bool KcmComponentChooser::isDefaults() const
0085 {
0086     return m_data->isDefaults();
0087 }
0088 
0089 bool KcmComponentChooser::isSaveNeeded() const
0090 {
0091     return m_data->isSaveNeeded();
0092 }
0093 
0094 #include "kcm_componentchooser.moc"