27 #include "ui_general.h"
29 #include <KConfigSkeleton>
31 #include <KPluginSelector>
33 #include <KServiceTypeTrader>
34 #include <KPluginInfo>
38 , m_settingsChanged(false)
41 Ui::General generalUi;
42 generalUi.setupUi(generalPage);
43 addPage(generalPage, i18nc(
"General Config",
"General"),
"krdc", i18n(
"General Configuration"));
46 qobject_cast<MainWindow *>(parent),
47 skeleton->config()->group(
"hostpreferences"));
48 addPage(hostPreferencesList, i18n(
"Hosts"),
"computer", i18n(
"Host Configuration"));
50 m_pluginSelector =
new KPluginSelector();
51 KService::List offers = KServiceTypeTrader::self()->query(
"KRDC/Plugin");
52 m_pluginSelector->addPlugins(KPluginInfo::fromServices(offers), KPluginSelector::ReadConfigFile,
53 i18n(
"Plugins"),
"Service", KGlobal::config());
54 m_pluginSelector->load();
55 addPage(m_pluginSelector, i18n(
"Plugins"),
"preferences-plugin", i18n(
"Plugin Configuration"));
57 connect(
this, SIGNAL(accepted()), SLOT(saveState()));
58 connect(
this, SIGNAL(defaultClicked()), SLOT(loadDefaults()));
59 connect(m_pluginSelector, SIGNAL(changed(
bool)), SLOT(settingsChanged()));
62 void PreferencesDialog::saveState()
65 m_pluginSelector->save();
68 void PreferencesDialog::loadDefaults()
70 m_pluginSelector->defaults();
71 enableButton(Default,
false);
74 void PreferencesDialog::settingsChanged()
76 enableButton(Apply,
true);
77 enableButton(Default,
true);
82 return KConfigDialog::isDefault() && m_pluginSelector->isDefault();
PreferencesDialog(QWidget *parent, KConfigSkeleton *config)