[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    kdebase/kcontrol/kicker
From:       Stefan Nikolaus <stefan.nikolaus () kdemail ! net>
Date:       2005-03-28 16:14:17
Message-ID: 20050328161417.6CC13630 () office ! kde ! org
[Download RAW message or body]

CVS commit by nikolaus: 

Let the modules respond again on external changes, if they are executed in kcontrol/kcmshell.

TODO: Fix the kcontrol defaults and reset functions.


  M +18 -16    main.cpp   1.59


--- kdebase/kcontrol/kicker/main.cpp  #1.58:1.59
@@ -86,4 +86,5 @@ KickerConfig::~KickerConfig()
 }
 
+// TODO: This is not true anymore:
 // this method may get called multiple times during the life of the control panel!
 void KickerConfig::init()
@@ -102,5 +103,5 @@ void KickerConfig::init()
     if (configpath.isEmpty())
        configpath = locateLocal("config", configname);
-    KSharedConfig::Ptr c = KSharedConfig::openConfig(configname);
+    KSharedConfig::Ptr config = KSharedConfig::openConfig(configname);
 
     if (m_extensionInfo.isEmpty())
@@ -125,5 +126,5 @@ void KickerConfig::init()
     }
 
-    setupExtensionInfo(*c, true, true);
+    setupExtensionInfo(*config, true, true);
 
     connect(configFileWatch, SIGNAL(dirty(const QString&)), this, SLOT(configChanged(const QString&)));
@@ -158,8 +159,8 @@ void KickerConfig::notifyKicker()
 }
 
-void KickerConfig::setupExtensionInfo(KConfig& c, bool checkExists, bool reloadIfExists)
+void KickerConfig::setupExtensionInfo(KConfig& config, bool checkExists, bool reloadIfExists)
 {
-    c.setGroup("General");
-    QStringList elist = c.readListEntry("Extensions2");
+    config.setGroup("General");
+    QStringList elist = config.readListEntry("Extensions2");
 
     // all of our existing extensions
@@ -174,5 +175,5 @@ void KickerConfig::setupExtensionInfo(KC
 
         // is there a config group for this extension?
-        if (!c.hasGroup(group) || group.contains("Extension") < 1)
+        if (!config.hasGroup(group) || group.contains("Extension") < 1)
         {
             continue;
@@ -180,8 +181,8 @@ void KickerConfig::setupExtensionInfo(KC
 
         // set config group
-        c.setGroup(group);
+        config.setGroup(group);
 
-        QString df = KGlobal::dirs()->findResource("extensions", c.readEntry("DesktopFile"));
-        QString configname = c.readEntry("ConfigFile");
+        QString df = KGlobal::dirs()->findResource("extensions", config.readEntry("DesktopFile"));
+        QString configname = config.readEntry("ConfigFile");
         QString configpath = KGlobal::dirs()->findResource("config", configname);
 
@@ -232,10 +233,11 @@ void KickerConfig::setupExtensionInfo(KC
 }
 
-void KickerConfig::configChanged(const QString& config)
+void KickerConfig::configChanged(const QString& configPath)
 {
-    if (config.endsWith(configName()))
+    if (configPath.endsWith(configName()))
     {
-        KSharedConfig::Ptr c = KSharedConfig::openConfig(configName());
-        setupExtensionInfo(*c, true);
+        KSharedConfig::Ptr config = KSharedConfig::openConfig(configName());
+        config->reparseConfiguration();
+        setupExtensionInfo(*config, true);
     }
 
@@ -243,7 +245,7 @@ void KickerConfig::configChanged(const Q
     for (ExtensionInfoList::iterator it = m_extensionInfo.begin(); it != m_extensionInfo.end(); ++it)
     {
-        if (config == (*it)->_configPath)
+        if (configPath == (*it)->_configPath)
         {
-            emit extensionAboutToChange(config);
+            emit extensionAboutToChange(configPath);
             (*it)->configChanged();
             break;
@@ -251,5 +253,5 @@ void KickerConfig::configChanged(const Q
     }
 
-    emit extensionChanged(config);
+    emit extensionChanged(configPath);
 }
 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic