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