File indexing completed on 2024-05-12 05:11:20
0001 /* 0002 * SPDX-FileCopyrightText: 2015 Daniel Vrátil <dvratil@redhat.com> 0003 * 0004 * SPDX-License-Identifier: LGPL-2.1-or-later 0005 * 0006 */ 0007 0008 #include "pimcontactsrunnerconfig.h" 0009 #include <KConfigGroup> 0010 #include <KLocalizedString> 0011 #include <KPluginFactory> 0012 #include <KSharedConfig> 0013 #include <QCheckBox> 0014 #include <QVBoxLayout> 0015 0016 K_PLUGIN_FACTORY(PIMContactsRunnerConfigFactory, registerPlugin<PIMContactsRunnerConfig>();) 0017 PIMContactsRunnerConfig::PIMContactsRunnerConfig(QObject *parent, const KPluginMetaData &data) 0018 : KCModule(parent, data) 0019 , mQueryCompletionCheckBox(new QCheckBox(i18n("Search in contacts indexed from sent and received emails too"), widget())) 0020 { 0021 auto vbox = new QVBoxLayout(widget()); 0022 0023 connect(mQueryCompletionCheckBox, &QCheckBox::stateChanged, this, &PIMContactsRunnerConfig::configChanged); 0024 0025 vbox->addWidget(mQueryCompletionCheckBox); 0026 0027 load(); 0028 } 0029 0030 void PIMContactsRunnerConfig::configChanged() 0031 { 0032 markAsChanged(); 0033 } 0034 0035 void PIMContactsRunnerConfig::load() 0036 { 0037 KCModule::load(); 0038 0039 const KSharedConfig::Ptr cfg = KSharedConfig::openConfig(QStringLiteral("krunnerrc")); 0040 KConfigGroup grp = cfg->group(QStringLiteral("Runners")); 0041 grp = KConfigGroup(&grp, QStringLiteral("PIM Contacts Search Runner")); 0042 0043 mQueryCompletionCheckBox->setChecked(grp.readEntry(QStringLiteral("queryAutocompleter"), true)); 0044 0045 setNeedsSave(false); 0046 } 0047 0048 void PIMContactsRunnerConfig::save() 0049 { 0050 KCModule::save(); 0051 0052 const KSharedConfig::Ptr cfg = KSharedConfig::openConfig(QStringLiteral("krunnerrc")); 0053 KConfigGroup grp = cfg->group(QStringLiteral("Runners")); 0054 grp = KConfigGroup(&grp, QStringLiteral("PIM Contacts Search Runner")); 0055 0056 grp.writeEntry(QStringLiteral("queryAutocompleter"), mQueryCompletionCheckBox->isChecked()); 0057 0058 cfg->sync(); 0059 setNeedsSave(false); 0060 } 0061 0062 void PIMContactsRunnerConfig::defaults() 0063 { 0064 KCModule::defaults(); 0065 0066 mQueryCompletionCheckBox->setChecked(true); 0067 setNeedsSave(true); 0068 } 0069 0070 #include "pimcontactsrunnerconfig.moc" 0071 0072 #include "moc_pimcontactsrunnerconfig.cpp"