Review Request: Improved extender theming
Rob Scheepmaker
r.scheepmaker at student.utwente.nl
Sat Oct 18 20:26:59 CEST 2008
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.vidsolbach.de/r/222/
-----------------------------------------------------------
Review request for Plasma.
Summary
-------
This is an attempt to make the appearance of extenders look more like this mockup made by pinheiro: http://img223.imageshack.us/img223/3504/extenderstj5.png
For some more insight, I would like to point to the Extender theming discussion on the plasma mailinglist. My approach is mostly as is discussed there.
To make some stuff easier I have moved some stuff, so this patch is rather large. I will summarize the major changes:
- Added a function setExtenderAppearance (and getter) to Extender. It accepts an enum that determines how to show it's extender items. Options are:
+ enum Appearance {
+ NoBorders = 0, /** Draws no borders on the extender's items. When placed in an applet
+ on the desktop, use this setting and use the standard margins of
+ the applet containing this extender. */
+ BottomUpStacked = 1, /** Draws no borders on the topmost extenderitem, but draws the
+ left, top and right border on subsequent items. When margins
+ of the containing dialog are set to 0, except for the top
+ margin, this leads to the 'stacked' look, recommended for
+ extenders of applet's contained in a panel at the bottom of
+ the screen. */
+ TopDownStacked = 2 /** Draws no borders on the bottom extenderitem, but draws the
+ left, bottom and right border on subsequent items. When margins
+ of the containing dialog are set to 0, except for the bottom
+ margin, this leads to the 'stacked' look, recommended for
+ extenders of applet's contained in a panel at the top of
+ the screen. */
+ };
As opposed as discussed in the mailing list discussion, the we won't use the 'stacked' look for applets on the desktop. Pinheiro explained his vision using skype and vnc (way more effective way of communication then IRC for this kind of stuff), and I agreed this approach makes more sense.
- Set this setting correctly in extenderapplet and popupapplet.
- Added a virtual enabledBorderForItem(ExtenderItem*) to Extender. Depending on the setting of appearance, and the position of the item, this returns which background borders to enable.
- Changed Dialog to check if it contains an extender, and in this case automatically enable the correct borders and set the correct margins of itself.
Known issues:
* I still have some major issues with QGL's and could use some help with that. Until that's fixed, extenders in PopupApplets can grow outside the applet's borders and that doesn't look very sweet. Extenderapplet displays extenders on the desktop correctly though, so you can still check how extenders look when on the desktop.
* The extender-background svg could use some minor tweaks I think.
Diffs
-----
/KDE/workspace/libs/plasma/dialog.cpp
/KDE/workspace/libs/plasma/extender.h
/KDE/workspace/libs/plasma/extender.cpp
/KDE/workspace/libs/plasma/extenderitem.h
/KDE/workspace/libs/plasma/extenderitem.cpp
/KDE/workspace/libs/plasma/popupapplet.cpp
/KDE/workspace/libs/plasma/private/extender_p.h
/KDE/workspace/libs/plasma/private/extenderapplet.cpp
/KDE/workspace/libs/plasma/private/extenderapplet_p.h
/KDE/workspace/libs/plasma/private/extenderitem_p.h
Diff: http://reviewboard.vidsolbach.de/r/222/diff
Testing
-------
Done some testing om kuiserver and clock.
Screenshots
-----------
Screenshot of new extender theming
http://reviewboard.vidsolbach.de/r/222/s/83/
Thanks,
Rob
More information about the Plasma-devel
mailing list