diff options
Diffstat (limited to 'kcontrol/taskbar/kcmtaskbar.cpp')
-rw-r--r-- | kcontrol/taskbar/kcmtaskbar.cpp | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/kcontrol/taskbar/kcmtaskbar.cpp b/kcontrol/taskbar/kcmtaskbar.cpp index 3a2436b24..00e0cd1f3 100644 --- a/kcontrol/taskbar/kcmtaskbar.cpp +++ b/kcontrol/taskbar/kcmtaskbar.cpp @@ -21,6 +21,8 @@ #include <tqlayout.h> #include <tqtimer.h> #include <tqvaluelist.h> +#include <tqfile.h> +#include <tqlabel.h> #include <dcopclient.h> @@ -31,7 +33,7 @@ #include <kgenericfactory.h> #include <twin.h> #include <kcolorbutton.h> -#include <tqlabel.h> +#include <kstandarddirs.h> #define protected public #include "kcmtaskbarui.h" @@ -161,7 +163,24 @@ TaskbarConfig::TaskbarConfig(TQWidget *parent, const char* name, const TQStringL { m_configFileName = args[0]; m_widget->globalConfigWarning->hide(); + m_widget->globalConfigReload->show(); + } + else + { + m_widget->globalConfigReload->hide(); + m_widget->globalConfigWarning->show(); + } + connect(m_widget->globalConfigReload, TQT_SIGNAL(clicked()), this, TQT_SLOT(slotReloadConfigurationFromGlobals())); + + TQFile configFile(locateLocal("config", m_configFileName)); + if (!configFile.exists()) + { + KConfig globalConfig(GLOBAL_TASKBAR_CONFIG_FILE_NAME, TRUE, TRUE); + KConfig localConfig(m_configFileName); + globalConfig.copyTo(m_configFileName, &localConfig); + localConfig.sync(); } + m_settingsObject = new TaskBarSettings(KSharedConfig::openConfig(m_configFileName)); m_settingsObject->readConfig(); @@ -240,6 +259,14 @@ TaskbarConfig::~TaskbarConfig() } } +void TaskbarConfig::slotReloadConfigurationFromGlobals() +{ + KConfig globalConfig(GLOBAL_TASKBAR_CONFIG_FILE_NAME, TRUE, TRUE); + globalConfig.copyTo(m_configFileName); + m_settingsObject->readConfig(); + load(); +} + void TaskbarConfig::slotUpdateCustomColors() { m_widget->kcfg_ActiveTaskTextColor->setEnabled(m_widget->kcfg_UseCustomColors->isChecked()); |