Adding "Set Wallpaper" Option In Frame Applet

Sinny Kumari ksinny at gmail.com
Sun Oct 31 19:33:13 CET 2010


Hi!
     Earlier due to Binary Compatibility it was not possible to add
function addWallpaper(const KUrl &url) as virtual in
Plasma::Wallpaper, but now since BC is going to break, can I add it in
http://community.kde.org/Plasma/libplasma2.
        Thanks

On 10/1/10, Aaron J. Seigo <aseigo at kde.org> wrote:
> 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
>


-- 
http://www.sinny.in


More information about the Plasma-devel mailing list