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"