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