Adding "Set Wallpaper" Option In Frame Applet

Aaron J. Seigo aseigo at kde.org
Fri Oct 1 18:58:46 CEST 2010


On Friday, October 1, 2010, Sinny Kumari wrote:
> So no one has a suggestion, or am I doing something terribly wrong?

sorry, just a very busy week for me and things are falling through the cracks. 
thanks for bringing this thread back to life :)

> On 9/30/10, Sinny Kumari <ksinny at gmail.com> wrote:
> > and class ContainmentPrivate is in
> > trunk/kde/src/KDE/kdelibs/plasma/private. I want to implement it in
> > Frame applet, but, right now I don't know, how can I implement the
> > same thing in Frame applet which is in kdeplasma-addons/applet/frame.

how the wallpaper URL is stored in the config is up to the Wallpaper plugin. i 
don't think we can change that without putting all kinds of requirements on 
the wallpaper itself.

basically, we need to know three things from the containment:

* does it support wallpapers at all? (Containment::setDrawWallpaper()) if not, 
don't show this feature in Frame

* does it have a wallpaper currently? (Containment::wallpaper()) if not, then 
simply setting the wallpaper to be the Image paper or just not offering the 
opeiont at all from Fram would be the answer.

* does the wallpaper support random images? we have nothing for this right 
now. if the wallpaper doesn't, then Frame shouldn't show this option.

if all of the above is met, then we need a way to add an image to a wallpaper. 
there is no way to do this currently, either.

so to make this happen, we probably need to extend Plasma::Wallpaper. in 
particular:

* it should have a property noting whether or not it is image file based. this 
can be set by the plugin.

* an addWallpaper(const KUrl &url) method or something like this. due to 
binary compat issues, it can't be virtual. but it can be public and it can 
either: QMetaObject::invoke a protected slot, which plugins can over-ride, or 
it can emit a signal which plugins would then need to connect to. i'd prefer 
the protected slot, because then when we break BC we can just make that method 
virtual public and not touch the plugins.

-- 
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 Development Frameworks
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
Url : http://mail.kde.org/pipermail/plasma-devel/attachments/20101001/d9afdd9c/attachment.sig 


More information about the Plasma-devel mailing list