plasma apps and screen information
Aaron J. Seigo
aseigo at kde.org
Mon Oct 27 06:56:55 CET 2008
On Friday 24 October 2008, Guillaume Pothier wrote:
> 2008/10/23 Aaron J. Seigo <aseigo at kde.org>:
> > On Wednesday 22 October 2008, Guillaume Pothier wrote:
> >> Just tell me if you want me to go ahead.
> >
> > please do =)
>
> Ok, here comes the patch. In summary:
> - Added three methods to Corona:
> int numScreens()
> QRect screenGeometry(int)
> QRect availableScreenGeometry(int)
these shouldn't be pure virtual. they can return silly values like by default,
of course:
int numScreens() { return 1; }
QRect screenGeometry(int) { return sceneRect(); }
etc...
> The latter should probably return a QRegion instead, according to what
> you said about toolbox placement.
yes, it should be a QRegion.
> - QDesktopWidget is not used anymore in libplasma, entirely replaced
> by calls to the new Corona methods.
great.
> - Added Corona* parameter to Plasma::popupPosition
if it relies on Corona, perhaps it should move *to* corona?
> - Added a corona() method to Plasma::Applet. This is needed for calls
> to Plasma::popupPosition.
applet->containment()->corona();
yes, it's one more hoop to jump through but it:
* keeps Applet API clean
* discourages use of corona() from Applets
* makes it clear what the object hierarchy is (Corona -> Containments ->
Applets)
> - Also added a corona() method to Plasma::View for consistency's sake.
containment()->corona().
littering the API with every conceivable convenience method is nonsensical and
destroys the ability to glean the design by reading the API.
> - Corona is friends with ToolTipManager, as ToolTipManager needs to
> call Plasma::popupPosition and thus needs a Corona. Thus, Corona
> registers itself with the ToolTipManager. I think this is the ugliest
> part of the patch, please tell me if there is a better solution.
yes, this is amazingly ugly indeed.
> - Added a ViewerCorona class to plasmoidviewer, as Plasma::Corona is
> now has pure virtual methods.
shouldn't be necessary if they aren't pure virtual. that you had to do this
work was probably a good hint something could be better =)
--
Aaron J. Seigo
humru othro a kohnu se
GPG Fingerprint: 8B8B 2209 0C6F 7C47 B1EA EE75 D6B7 2EB1 A7F1 DB43
KDE core developer sponsored by Qt Software
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/plasma-devel/attachments/20081026/4b1dded9/attachment.sig
More information about the Plasma-devel
mailing list