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

List:       kde-commits
Subject:    KDE/kdebase/workspace/plasma/generic/applets/lock_logout
From:       Dario Freddi <drf () kde ! org>
Date:       2010-11-28 17:09:32
Message-ID: 20101128170932.DA00EAC8AA () svn ! kde ! org
[Download RAW message or body]

SVN commit 1201784 by dafre:

Port plasma lockout applet away from S::C::PowerManager and to new KDE Power \
Management System

 M  +1 -1      CMakeLists.txt  
 M  +18 -28    lockout.cpp  


--- trunk/KDE/kdebase/workspace/plasma/generic/applets/lock_logout/CMakeLists.txt \
#1201783:1201784 @@ -16,7 +16,7 @@
 kde4_add_ui_files(lockout_SRCS lockoutConfig.ui)
 endif(NOT WIN32)
 kde4_add_plugin(plasma_applet_lockout ${lockout_SRCS})
-target_link_libraries(plasma_applet_lockout ${KDE4_PLASMA_LIBS} ${KDE4_KIO_LIBS} \
solidcontrol) +target_link_libraries(plasma_applet_lockout ${KDE4_PLASMA_LIBS} \
${KDE4_KIO_LIBS} ${KDE4_SOLID_LIBS})  if(NOT WIN32)
 target_link_libraries(plasma_applet_lockout kworkspace)
 endif(NOT WIN32)
--- trunk/KDE/kdebase/workspace/plasma/generic/applets/lock_logout/lockout.cpp \
#1201783:1201784 @@ -43,8 +43,6 @@
 #include <screensaver_interface.h>
 #endif
 
-#include <solid/control/powermanager.h>
-
 // Windows
 #ifdef Q_OS_WIN
 #include <windows.h>
@@ -226,20 +224,16 @@
             != KMessageBox::Yes) {
         return;
     }
-    // Check if powerdevil is running, and use its methods to suspend if available
-    // otherwise go through Solid directly
-    QStringList modules;
-    QDBusInterface kdedInterface("org.kde.kded", "/kded", "org.kde.kded");
-    QDBusReply<QStringList> reply = kdedInterface.call("loadedModules");
-    if (reply.isValid() && reply.value().contains("powerdevil")) {
-        kDebug() << "Using powerdevil to suspend";
-        QDBusConnection dbus(QDBusConnection::sessionBus());
-        QDBusInterface iface("org.kde.kded", "/modules/powerdevil", \
                "org.kde.PowerDevil", dbus);
-        iface.call("suspend", Solid::Control::PowerManager::ToRam);
+    // Check if KDE Power Management System is running, and use its methods to \
suspend if available +    if \
(QDBusConnection::sessionBus().interface()->isServiceRegistered("org.kde.Solid.PowerManagement")) \
{ +        kDebug() << "Using KDE Power Management System to suspend";
+        QDBusMessage call = \
QDBusMessage::createMethodCall("org.kde.Solid.PowerManagement", +                     \
"/org/kde/Solid/PowerManagement", +                                                   \
"org.kde.Solid.PowerManagement", +                                                    \
"suspendToRam"); +        QDBusConnection::sessionBus().asyncCall(call);
     } else {
-        kDebug() << "Powerdevil not available, using solid to suspend";
-        KJob * job = \
                Solid::Control::PowerManager::suspend(Solid::Control::PowerManager::ToRam);
                
-        job->start();
+        kDebug() << "KDE Power Management System not available, suspend failed";
     }
 }
 
@@ -251,20 +245,16 @@
             != KMessageBox::Yes) {
         return;
     }
-    // Check if powerdevil is running, and use its methods to hibernate if available
-    // otherwise go through Solid directly
-    QStringList modules;
-    QDBusInterface kdedInterface("org.kde.kded", "/kded", "org.kde.kded");
-    QDBusReply<QStringList> reply = kdedInterface.call("loadedModules");
-    if (reply.isValid() && reply.value().contains("powerdevil")) {
-        kDebug() << "Using powerdevil to hibernate";
-        QDBusConnection dbus(QDBusConnection::sessionBus());
-        QDBusInterface iface("org.kde.kded", "/modules/powerdevil", \
                "org.kde.PowerDevil", dbus);
-        iface.call("suspend", Solid::Control::PowerManager::ToDisk);
+    // Check if KDE Power Management System is running, and use its methods to \
hibernate if available +    if \
(QDBusConnection::sessionBus().interface()->isServiceRegistered("org.kde.Solid.PowerManagement")) \
{ +        kDebug() << "Using KDE Power Management System to hibernate";
+        QDBusMessage call = \
QDBusMessage::createMethodCall("org.kde.Solid.PowerManagement", +                     \
"/org/kde/Solid/PowerManagement", +                                                   \
"org.kde.Solid.PowerManagement", +                                                    \
"suspendToDisk"); +        QDBusConnection::sessionBus().asyncCall(call);
     } else {
-        kDebug() << "Powerdevil not available, using solid to hibernate";
-        KJob * job = \
                Solid::Control::PowerManager::suspend(Solid::Control::PowerManager::ToDisk);
                
-        job->start();
+        kDebug() << "KDE Power Management System not available, hibernate failed";
     }
 }
 


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

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