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

List:       kde-commits
Subject:    branches/KDE/4.6/kdebase/workspace/powerdevil/daemon
From:       Dario Freddi <drf () kde ! org>
Date:       2011-01-24 10:19:16
Message-ID: 20110124101916.D23C5AC8B9 () svn ! kde ! org
[Download RAW message or body]

SVN commit 1216709 by dafre:

CCMAIL: Dirk Mueller <mueller@kde.org>
CCMAIL: release-team@kde.org

Backporting r1216706

This commit fixes a critical bug in the migrator, hence it should be released with \
4.6.0


 M  +27 -14    powerdevilprofilegenerator.cpp  
 M  +23 -0     powerdevilprofilegenerator.h  


--- branches/KDE/4.6/kdebase/workspace/powerdevil/daemon/powerdevilprofilegenerator.cpp \
#1216708:1216709 @@ -260,26 +260,18 @@
             runScript.writeEntry< uint >("scriptPhase", 0);
         }
         // SuspendSession
-        if (oldGroup.readEntry< int >("idleAction", 0) > 0) {
+        if (oldGroup.readEntry< uint >("idleAction", 0) > 0) {
             KConfigGroup suspendSession(&newGroup, "SuspendSession");
             suspendSession.writeEntry< uint >("idleTime", oldGroup.readEntry< int \
                >("idleTime", 30) * 60 * 1000);
-            if (!methods.contains(Solid::PowerManagement::SuspendState)) {
-                suspendSession.writeEntry< uint >("suspendType", 2);
-            } else {
-                suspendSession.writeEntry< uint >("suspendType", 1);
+            suspendSession.writeEntry< uint >("suspendType", \
upgradeOldAction(oldGroup.readEntry< uint >("idleAction", 0)));  }
-        }
         // Buttons
-        if (oldGroup.readEntry< int >("powerButtonAction", 0) > 0 || \
                oldGroup.readEntry< int >("lidAction", 0) > 0) {
-            KConfigGroup suspendSession(&newGroup, "SuspendSession");
-            suspendSession.writeEntry< uint >("idleTime", oldGroup.readEntry< int \
                >("idleTime", 30) * 60 * 1000);
-            if (!methods.contains(Solid::PowerManagement::SuspendState)) {
-                suspendSession.writeEntry< uint >("suspendType", 2);
-            } else {
-                suspendSession.writeEntry< uint >("suspendType", 1);
+        if (oldGroup.readEntry< uint >("powerButtonAction", 0) > 0 || \
oldGroup.readEntry< uint >("lidAction", 0) > 0) { +            KConfigGroup \
handleButtons(&newGroup, "HandleButtonEvents"); +            \
handleButtons.writeEntry< uint >("powerButtonAction", \
upgradeOldAction(oldGroup.readEntry< uint >("powerButtonAction", 0))); +            \
handleButtons.writeEntry< uint >("lidAction", upgradeOldAction(oldGroup.readEntry< \
uint >("lidAction", 0)));  }
         }
-    }
 
     // Save and be happy
     profilesConfig->sync();
@@ -301,4 +293,25 @@
     }
 }
 
+uint ProfileGenerator::upgradeOldAction(uint oldAction)
+{
+    switch ((OldIdleAction)oldAction) {
+        case Standby:
+        case S2Ram:
+            return ToRamMode;
+        case S2Disk:
+            return ToDiskMode;
+        case Shutdown:
+            return ShutdownMode;
+        case Lock:
+            return LockScreenMode;
+        case ShutdownDialog:
+            return LogoutDialogMode;
+        case TurnOffScreen:
+            return TurnOffScreenMode;
+        default:
+            return 0;
 }
+}
+
+}
--- branches/KDE/4.6/kdebase/workspace/powerdevil/daemon/powerdevilprofilegenerator.h \
#1216708:1216709 @@ -31,8 +31,31 @@
         ResultUpgraded = 2
     };
 
+    enum OldIdleAction {
+        None = 0,
+        Standby = 1,
+        S2Ram = 2,
+        S2Disk = 4,
+        Shutdown = 8,
+        Lock = 16,
+        ShutdownDialog = 32,
+        TurnOffScreen = 64
+    };
+
+    enum NewMode {
+        NoneMode = 0,
+        ToRamMode = 1,
+        ToDiskMode = 2,
+        SuspendHybridMode = 4,
+        ShutdownMode = 8,
+        LogoutDialogMode = 16,
+        LockScreenMode = 32,
+        TurnOffScreenMode = 64
+    };
+
     GeneratorResult generateProfiles(bool tryUpgrade = false);
     void upgradeProfiles();
+    unsigned int upgradeOldAction(unsigned int actionId);
 }
 
 }


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

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