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@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); _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel