OSDN Git Service

kdeplasma-addons: deal with TODO related to KSMServer suspend/resume in virus wallaper
authorIvailo Monev <xakepa10@gmail.com>
Sun, 2 Oct 2022 14:47:40 +0000 (17:47 +0300)
committerIvailo Monev <xakepa10@gmail.com>
Sun, 2 Oct 2022 14:47:40 +0000 (17:47 +0300)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
kdeplasma-addons/wallpapers/virus/CMakeLists.txt
kdeplasma-addons/wallpapers/virus/virus.cpp

index 80d5910..7293e86 100644 (file)
@@ -8,11 +8,24 @@ set(virus_SRCS
     itemsview.cpp
 )
 
-set(ksmserver_xml ${KDEBASE_WORKSPACE_SOURCE_DIR}/ksmserver/org.kde.KSMServerInterface.xml)
-qt4_add_dbus_interface(image_SRCS ${ksmserver_xml} ksmserver_interface)
+if(KDE4WORKSPACE_FOUND)
+    add_definitions(-DHAVE_KWORKSPACE)
+    set(ksmserver_xml ${KDE4_DBUS_INTERFACES_INSTALL_DIR}/org.kde.KSMServerInterface.xml)
+    qt4_add_dbus_interface(virus_SRCS ${ksmserver_xml} ksmserver_interface)
+endif()
 
 kde4_add_plugin(plasma_wallpaper_virus ${virus_SRCS})
-target_link_libraries(plasma_wallpaper_virus ${KDE4_PLASMA_LIBS} ${KDE4_KIO_LIBS} ${KDE4_KFILE_LIBS})
+target_link_libraries(plasma_wallpaper_virus
+    ${KDE4_PLASMA_LIBS}
+    ${KDE4_KIO_LIBS}
+    ${KDE4_KFILE_LIBS}
+)
 
-install(TARGETS plasma_wallpaper_virus DESTINATION ${KDE4_PLUGIN_INSTALL_DIR})
-install(FILES plasma-wallpaper-virus.desktop DESTINATION ${KDE4_SERVICES_INSTALL_DIR})
+install(
+    TARGETS plasma_wallpaper_virus
+    DESTINATION ${KDE4_PLUGIN_INSTALL_DIR}
+)
+install(
+    FILES plasma-wallpaper-virus.desktop
+    DESTINATION ${KDE4_SERVICES_INSTALL_DIR}
+)
index 0eb2a82..17acb52 100644 (file)
 #include <Plasma/Animator>
 #include "backgroundlistmodel.h"
 #include "backgrounddelegate.h"
-//#include "ksmserver_interface.h"
+
+#if defined(HAVE_KWORKSPACE)
+#  include "ksmserver_interface.h"
+#endif
 
 K_EXPORT_PLASMA_WALLPAPER(virus, Virus)
 
@@ -421,20 +424,22 @@ void Virus::updateBackground(const QImage &img)
 
 void Virus::suspendStartup(bool suspend)
 {
-    Q_UNUSED(suspend);
-    //TODO: find out how to compile with that ksmserver
-    /*if (m_startupResumed) {
+#if defined(HAVE_KWORKSPACE)
+    if (m_startupResumed) {
         return;
     }
 
     org::kde::KSMServerInterface ksmserver("org.kde.ksmserver", "/KSMServer", QDBusConnection::sessionBus());
-    const QString startupID("desktop wallaper");
+    const QString startupID("desktop wallpaper");
     if (suspend) {
         ksmserver.suspendStartup(startupID);
     } else {
         m_startupResumed = true;
         ksmserver.resumeStartup(startupID);
-    }*/
+    }
+#else
+    Q_UNUSED(suspend);
+#endif // HAVE_KWORKSPACE
 }
 
 void Virus::updateScreenshot(QPersistentModelIndex index)