playground/base/plasma/applets

Sebastian Kügler sebas at kde.org
Wed Aug 27 18:56:01 CEST 2008


SVN commit 853392 by sebas:

(As Jason is moving houses, I'll use this opportunity to sneak my code in)

    Beginnings of a applets-in-the-systray.

    This commit adds a new protocol (Systemtray::MID::Protocol) and
    a corresponding subclass to Systemtray::Task (which would be
    Systemtray::MID::Task). The Systemtray::Manager now also loads
    MID::Protocol. MID::Task loads an applet and pass this as
    QGraphicsWidget up to the Systemtray::Manager.

   Pretty much everything seems to be in place, but after loading
   the applet, the taskCreated(task) signal is not received by the
   manager, (it's sent from the protocol after loading the applet).

   Can someone help me out and have a look why the signal is never
   received (and keep me from banging my head against a wall)?

CCMAIL:plasma-devel at kde.org


 M  +2 -2      CMakeLists.txt  
 M  +3 -1      systray-refactor/CMakeLists.txt  
 M  +6 -1      systray-refactor/core/manager.cpp  
 A             systray-refactor/core/mid (directory)  
 A             systray-refactor/core/mid/midprotocol.cpp   systray-refactor/core/manager.cpp#853305 [License: GPL (v2+)]
 A             systray-refactor/core/mid/midprotocol.h   systray-refactor/core/manager.cpp#853305 [License: GPL (v2+)]
 A             systray-refactor/core/mid/midtask.cpp   [License: GPL (v2+)]
 A             systray-refactor/core/mid/midtask.h   systray-refactor/core/manager.cpp#853305 [License: GPL (v2+)]


--- trunk/playground/base/plasma/applets/CMakeLists.txt #853391:853392
@@ -71,7 +71,7 @@
    add_subdirectory(peachydock)
    add_subdirectory(systemcommand)
    add_subdirectory(embed-win)
-   #add_subdirectory(systray-refactor)
+   add_subdirectory(systray-refactor)
 endif ( Q_WS_X11 )
 ###uncomment this section when FindDecibel.cmake exists
 #macro_optional_find_package(Decibel)
@@ -101,7 +101,7 @@
         set(MARBLEWIDGET_FOUND FALSE)
 endif(DEPEND_PACKAGE_MarbleWidget)
 
-if(MARBLEWIDGET_FOUND) 
+if(MARBLEWIDGET_FOUND)
 	 add_subdirectory(contacts)
 endif(MARBLEWIDGET_FOUND)
 
--- trunk/playground/base/plasma/applets/systray-refactor/CMakeLists.txt #853391:853392
@@ -13,6 +13,9 @@
     core/fdo/x11embedcontainer.cpp
     core/fdo/x11embeddelegate.cpp
 
+    core/mid/midprotocol.cpp
+    core/mid/midtask.cpp
+
     ui/applet.cpp
     ui/compactlayout.cpp
     ui/taskarea.cpp
@@ -24,4 +27,3 @@
 
 install(TARGETS plasma_applet_systemtray DESTINATION ${PLUGIN_INSTALL_DIR})
 install(FILES plasma-applet-systemtray.desktop DESTINATION ${SERVICES_INSTALL_DIR})
-
--- trunk/playground/base/plasma/applets/systray-refactor/core/manager.cpp #853391:853392
@@ -21,10 +21,11 @@
 
 // KDE
 #include <KGlobal>
-
+#include <kdebug.h>
 // Own
 #include "manager.h"
 #include "fdo/fdoprotocol.h"
+#include "mid/midprotocol.h"
 
 
 namespace SystemTray
@@ -57,6 +58,7 @@
 Manager::Manager()
 :   d(new Private)
 {
+    registerProtocol(new MID::Protocol(this));
     registerProtocol(new FDO::Protocol(this));
 }
 
@@ -89,6 +91,9 @@
             this, SLOT(removeTask(Task*)));
     connect(task, SIGNAL(changed(Task*)),
             this, SIGNAL(taskChanged(Task*)));
+    kDebug() << "#################################################################";
+    kDebug() << "TASK ADDED:" << task->name();
+    kDebug() << "#################################################################";
 
     d->tasks.append(task);
     emit taskAdded(task);


More information about the Plasma-devel mailing list