Python Plasma.PopupApplet revisited
Thomas Olsen
tanghus at gmail.com
Mon Jul 5 23:05:27 CEST 2010
Hi
Inspired by Petri's example [1] I almost succeeded in creating a Python based
PopupApplet without instantiating ExtenderItems. The only problem is that in
order for the Applet to actually popup when clicked on in the panel, I have to
first add it to the desktop and then drag it to the panel :-/
In metadata.desktop I have ServiceTypes=Plasma/PopupApplet.
I have overloaded graphicsWidget() which creates the GUI and widget() which
simply calls graphicsWidget(). Had to use both of them because either I got a
TypeError or neither got called. I also had to call setGraphicsWidget() and
setPopupIcon(). All of this works excellent but only if the Plasmoid was first
added to the desktop.
From reading the source of the C++ implementation [2] I can see that the
panel-icon-widget's (or whatever it's called) clicked() signal gets connected
to a private method internalTogglePopup() but for some reason that doesn't
happen when it is added directly to the panel.
Am I missing something or will I have to reimplement everything in Python -
which seems a bit silly ;-)
[1] http://websvn.kde.org/trunk/KDE/kdeexamples/plasma/python/applets/pyhello/
[2] http://websvn.kde.org/trunk/KDE/kdelibs/plasma/popupapplet.cpp?view=markup
PS: Sorry for the X-post but it kinda overlaps both lists.
PSS: Do say if you need actual code then I'll make a simplified example.
--
Best Regards / Med venlig hilsen
Thomas Olsen
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 230 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/plasma-devel/attachments/20100705/03b9ba6b/attachment.sig
More information about the Plasma-devel
mailing list