Review Request: Also save extender item config when not detached, and save collapsed state.
Rob Scheepmaker
r.scheepmaker at student.utwente.nl
Fri Jan 16 18:31:02 CET 2009
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.vidsolbach.de/r/328/
-----------------------------------------------------------
(Updated 2009-01-16 09:31:02.878221)
Review request for Plasma.
Summary
-------
Previously we've decided to, by default not make attached items in an extender permanent. This has the problem of the position not being saved on items that are not detached though. For applets like network manager, it would however be nice if the position of the different extender items is being saved. That way the user can order the items the way they like it.
Since in for example libplasmaclock we check if the calendar already exists anyways (we don't want to duplicate the calendar just because it is detached), I don't think it's a very big problem if we change this behavior to always make extenderitems persistent (unless they have an autoExpireTimeout set). The only problem this gives is that jobs and notifications don't make sense to stay around after a reboot, cause they don't get an autoExpireTimout set while being displayed (they are just deleted when the notification is destroyed by knotification). This means if you reboot while a notification is being displayed, the notification will be shown after the reboot, which doesn't make sense. This will require a change to the systemtray to destroy all attached extender items in it's destructor which is fairly trivial. And I think most applets would want the plasma clock kind of behavior (always having a kind of fixed set of items being displayed), which would require them to check for duplicates anyway through extender()->item(name).
This patch changes the behavior to 'always persistent', and also saves all items' collapsed state. (and adds a big fat warning in the default implementation of initExtenderItem about not implementing initExtenderItem while using extenders)
The question is, do we want this change in behavior? I personally think it's worth it. Second question is, do we want this backported to 4.2. Again, I think yes, but can we do this considering the freeze?
Diffs
-----
/trunk/KDE/kdelibs/plasma/applet.cpp
/trunk/KDE/kdelibs/plasma/extender.cpp
/trunk/KDE/kdelibs/plasma/extenderitem.cpp
/trunk/KDE/kdelibs/plasma/private/extenderitem_p.h
Diff: http://reviewboard.vidsolbach.de/r/328/diff
Testing
-------
Thanks,
Rob
More information about the Plasma-devel
mailing list