Hello all, I think it's a good idea to finalize the extender api discussion. I've scanned through the previous threat, and I believe the following suggestions are still 'open' (please say so if I've missed anything):
- allow using qgraphicsitems in ExtenderItems instead of just QGWs. I agree with this suggestion, just haven't implemented it yet. I will soon. - No virtual initExtenderItem in Applet. I really doubt this is a good idea. It would either mean moving this virtual to another class, and I really don't want to require people to have to re-implement other classes then Applet (or PopupApplet). Other solution would be a signal/slot mechanism. Advantage of this would be that it won't break binary compatibility, but that isn't really an issue since I believe it's kind of decided that binary compatibility would only be an issue after 4.2. - No extender() in Applet. That is certainly a possibility. This point is mainly an aesthetic one. Personally, I think having the extender() function leads to nicer code. In practice, I can't think of a situation where you don't need a pointer to your extender after creating it. So why don't track that for your applet, and spare your applet the hassle of having an extra member for something that is already known internally? Of course, this entire point is more a matter of taste, and if a lot of people object to having this function, I'll remove it. I just think it's nice to have. And just being able to do new Extender(this) rocks... ;) Then there are 2 things that I wanted to bring under your attention, because I'm not sure it's done the right way... these are: - Theming. Currently the dragger svg, contains a preferred-icon-size-hint element. This decides which size the icons in the draghandle will get, and also decides which vertical size the draghandle gets (iconsize + margins). I can certainly see different themes having different emphasis on saving screen real estate vs having nice, big, easy to hit with you mouse icons, and this makes it possible. It does however feel a bit hackish, and was wondering if there's a nicer way to accomplish this. - Detached extender items. When an ExtenderItem gets detached, the ExtenderApplet applet (in playground atm) get's loaded, and the ExtenderItem is added to it's extender (since ExtenderItems are always contained in an extender). Not only does this bring the issue of a part of libplasma being dependent on an applet, it also feels wrong to have a certain applet hardcoded as the default extender container. Possible solution for that last problem would maybe be something like associating applets with a plasma/extenderitem mime type or something like that, but still, I think it should work without requiring the user to have a certain applet installed. Any suggestions? Cheers, Rob Scheepmaker (pinda) - _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel