Review Request: SystemTray: Refactoring: UiTask and TasksPool have been removed

Aaron J. Seigo aseigo at kde.org
Thu Nov 1 15:40:37 UTC 2012



> On Nov. 1, 2012, 9:47 a.m., Aaron J. Seigo wrote:
> > plasma/generic/applets/systemtray/core/manager.h, line 54
> > <http://git.reviewboard.kde.org/r/107160/diff/1/?file=93099#file93099line54>
> >
> >     the manager is shared across all instances of the system tray plasmoid. (look for s_manager) this keeps memory usage and dbus activity down. so this approach can not work.
> 
> Dmitry Ashkadov wrote:
>     So, task will have no widget property and WidgetItem will know about Task (not only QGraphicsWidget).
> 
> Dmitry Ashkadov wrote:
>     And does somebody really need 2 or more trays ? And I don't know will X11 tasks be shown by all trays at the same time?

"task will have no widget property"

correct.

"WidgetItem will know about Task"

yes; this can either be the Task QObject itself (which is safe and easy to access from QML) or it could use the taskId() as a string that is used in the C++ to look up the correct task from the Manager (whichever turns out to be easier)

"does somebody really need 2 or more trays"

yes: multiple screens or activities, for instance. this was a requested feature for kicker in kde3; Plasma also provides (quite intentionally) no way to prevent more than one instance of an applet.

also, Manager may even eventually be used across multiple widgets (tray + tasks, for instance).

"I don't know will X11 tasks be shown by all trays at the same time"

no, they won't. this is one reason why we replaced the XEmbed based system tray protocol. it is only there the current tray for backwards-compatibility.


- Aaron J.


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/107160/#review21280
-----------------------------------------------------------


On Oct. 31, 2012, 7 p.m., Dmitry Ashkadov wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/107160/
> -----------------------------------------------------------
> 
> (Updated Oct. 31, 2012, 7 p.m.)
> 
> 
> Review request for Plasma, Aaron J. Seigo and Marco Martin.
> 
> 
> Description
> -------
> 
> Aaron has noticed in his mail to plasma-devel that the system tray requires some refactoring. This is a first step of refactoring. If it is approved I'll continue work on system tray.
> 
> 
> Diffs
> -----
> 
>   plasma/generic/applets/systemtray/CMakeLists.txt d3478a8 
>   plasma/generic/applets/systemtray/core/manager.h 3b6b6f8 
>   plasma/generic/applets/systemtray/core/manager.cpp c23225e 
>   plasma/generic/applets/systemtray/core/task.h 66bf6e1 
>   plasma/generic/applets/systemtray/core/task.cpp 8754785 
>   plasma/generic/applets/systemtray/package/contents/code/main.js 10518cd 
>   plasma/generic/applets/systemtray/package/contents/ui/IconsList.qml f251cc5 
>   plasma/generic/applets/systemtray/package/contents/ui/StatusNotifierItem.qml 27d476a 
>   plasma/generic/applets/systemtray/package/contents/ui/main.qml f80abc7 
>   plasma/generic/applets/systemtray/protocols/dbussystemtray/dbussystemtraytask.h 34aae74 
>   plasma/generic/applets/systemtray/protocols/dbussystemtray/dbussystemtraytask.cpp 6364272 
>   plasma/generic/applets/systemtray/protocols/fdo/fdoprotocol.h b006967 
>   plasma/generic/applets/systemtray/protocols/fdo/fdoprotocol.cpp c1bb8b1 
>   plasma/generic/applets/systemtray/protocols/fdo/fdoselectionmanager.h c86a2d5 
>   plasma/generic/applets/systemtray/protocols/fdo/fdoselectionmanager.cpp 4257202 
>   plasma/generic/applets/systemtray/protocols/fdo/fdotask.h 85a9ec5 
>   plasma/generic/applets/systemtray/protocols/fdo/fdotask.cpp d1a18df 
>   plasma/generic/applets/systemtray/protocols/plasmoid/plasmoidtask.h 1913986 
>   plasma/generic/applets/systemtray/protocols/plasmoid/plasmoidtask.cpp 761a62f 
>   plasma/generic/applets/systemtray/protocols/plasmoid/plasmoidtaskprotocol.cpp 505e0c4 
>   plasma/generic/applets/systemtray/ui/applet.h bab8d9c 
>   plasma/generic/applets/systemtray/ui/applet.cpp 41efb10 
>   plasma/generic/applets/systemtray/ui/plasmoid.h 01a7c5b 
>   plasma/generic/applets/systemtray/ui/plasmoid.cpp d3e1937 
>   plasma/generic/applets/systemtray/ui/taskspool.h 4b5bcd4 
>   plasma/generic/applets/systemtray/ui/taskspool.cpp df39e3d 
>   plasma/generic/applets/systemtray/ui/uitask.h 7b20bde 
>   plasma/generic/applets/systemtray/ui/uitask.cpp 2a15800 
>   plasma/generic/applets/systemtray/ui/widgetitem.h 40aa92d 
>   plasma/generic/applets/systemtray/ui/widgetitem.cpp 9d2c622 
> 
> Diff: http://git.reviewboard.kde.org/r/107160/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Dmitry Ashkadov
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20121101/e3ab3a2e/attachment-0001.html>


More information about the Plasma-devel mailing list