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

List:       kde-commits
Subject:    KDE/kdebase/workspace/kcontrol/colors
From:       Matthew Woehlke <mw_triad () users ! sourceforge ! net>
Date:       2010-06-11 23:55:11
Message-ID: 20100612000241.33C47AC8CF () svn ! kde ! org
[Download RAW message or body]

SVN commit 1137215 by mwoehlke:

colors kcm: fix 'defaults'

defaults() was only selecting the default scheme, which is a no-op if it
was already selected. Discard changes by forcibly reloading the scheme
if default is selected. Also reset the options (which are not part of
the scheme).

BUG: 159536

 M  +31 -15    colorscm.cpp  
 M  +3 -0      colorscm.h  


--- trunk/KDE/kdebase/workspace/kcontrol/colors/colorscm.cpp #1137214:1137215
@@ -1147,8 +1147,21 @@
     applyToAlien->blockSignals(false);
 }
 
-void KColorCm::loadInternal(bool loadOptions)
+void KColorCm::loadOptions()
 {
+    contrastSlider->setValue(KGlobalSettings::contrast());
+    shadeSortedColumn->setCheckState(KGlobalSettings::shadeSortColumn() ? \
Qt::Checked : Qt::Unchecked); +
+    KConfigGroup group(m_config, "ColorEffects:Inactive");
+    useInactiveEffects->setCheckState(group.readEntry("Enable", false) ? Qt::Checked \
: Qt::Unchecked); +    // NOTE: keep this in sync with \
kdelibs/kdeui/colors/kcolorscheme.cpp +    // NOTE: remove extra logic from \
updateFromOptions and on_useInactiveEffects_stateChanged when this changes! +    \
inactiveSelectionEffect->setCheckState(group.readEntry("ChangeSelectionColor", \
group.readEntry("Enable", true)) +                                           ? \
Qt::Checked : Qt::Unchecked); +}
+
+void KColorCm::loadInternal(bool loadOptions_)
+{
     // clean the config, in case we have changed the in-memory kconfig
     m_config->markAsClean();
     m_config->reparseConfiguration();
@@ -1160,19 +1173,9 @@
     // fill in the color scheme list
     populateSchemeList();
 
-    if (loadOptions)
-    {
-        contrastSlider->setValue(KGlobalSettings::contrast());
-        shadeSortedColumn->setCheckState(KGlobalSettings::shadeSortColumn() ? \
Qt::Checked : Qt::Unchecked); +    if (loadOptions_)
+        loadOptions();
 
-        KConfigGroup group(m_config, "ColorEffects:Inactive");
-        useInactiveEffects->setCheckState(group.readEntry("Enable", false) ? \
                Qt::Checked : Qt::Unchecked);
-        // NOTE: keep this in sync with kdelibs/kdeui/colors/kcolorscheme.cpp
-        // NOTE: remove extra logic from updateFromOptions and \
                on_useInactiveEffects_stateChanged when this changes!
-        inactiveSelectionEffect->setCheckState(group.readEntry("ChangeSelectionColor", \
                group.readEntry("Enable", true))
-                                               ? Qt::Checked : Qt::Unchecked);
-    }
-
     updateEffectsPage();
 
     updatePreviews();
@@ -1219,12 +1222,25 @@
 
 void KColorCm::defaults()
 {
+    // Switch to default scheme
     for(int i = 0; i < schemeList->count(); ++i) {
-        if(schemeList->item(i)->text() == i18nc("Default color scheme", "Default")) \
                {
-            schemeList->setCurrentItem(schemeList->item(i));
+        QListWidgetItem *item = schemeList->item(i);
+        if(item->text() == i18nc("Default color scheme", "Default")) {
+            // If editing the default scheme, force a reload, else select the \
default scheme +            if(schemeList->currentItem() == item)
+                loadScheme(item, item);
+            else
+                schemeList->setCurrentItem(item);
             break;
         }
     }
+
+    // Reset options (not part of scheme)
+    m_config->setReadDefaults(true);
+    loadOptions();
+    m_config->setReadDefaults(false);
+    applyToAlien->setChecked(Qt::Checked);
+
     KCModule::defaults();
     emit changed(true);
 }
--- trunk/KDE/kdebase/workspace/kcontrol/colors/colorscm.h #1137214:1137215
@@ -133,6 +133,9 @@
     /** create a preview of a color scheme */
     static QPixmap createSchemePreviewIcon(const KSharedConfigPtr &config);
 
+    /** load options from global */
+    void loadOptions();
+
     /** load from global */
     void loadInternal(bool loadOptions);
 


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

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