> On 2010-01-14 18:18:26, Chani Armitage wrote:
> > :/ this feels wrong.
> > 
> > for the screensaver, I just created a separate mouse plugin.
> > I suppose the netbook shares actions like "log out" and "lock screen" 
> > though, which makes this a bit trickier...
> > we don't really want to duplicate all that code, but nor do we want a 
> > special hack for the contextmenu plugin...
> > really, all those plugins were written with just the desktop in mind, they 
> > should be in desktop/ not generic/.
> > 
> > *thinks*
> > 
> > abusing kauthorized wouldn't be much better, I guess?
> 
> Marco Martin wrote:
>     yeah, this was just as an experiment to see what options there could be. 
> in the netbook a right mouse button menu makes sense, just that single action 
> shouldn't be here...
>     
>     so, i see at the moment 2 possibilities:
>     -every shell will have its own menu implementation, like DesktopMenu, 
> NetbookMenu ScreensaverMenu etc. quite code duplication but would avoid not 
> too pretty new api
>     -there is a single menu plugin, but is the list of qactions that depends 
> from te shell, so a qlist of ContamentContextActions(ugh what an ugly name) 
> will be provided by the implementations, so the ndividua coronas... ugly api 
> less duplication.
>     
>     hmmm, fscinating problem :)
> 
> Aaron Seigo wrote:
>     i don't think it's worth adding to the libplasma API for what really 
> amounts to one plugin and a subset of its features. 
>     
>     for the particular case mentioned, it suggest that the action should come 
> from the corona. and i agree with that :) in that case the plugin could check 
> if the corona has a "add panel" action and if so include it, otherwise don't.
>     
>     at the worst, simply duplicating this one plugin would be a better answer 
> imho than the API proposal, but distributing the actions around sounds even 
> better to me. (that particular plugin's code could also likely end up being a 
> lot simpler than it is right now; there are a number of collection classes 
> that are being kept in sync with each other, for instance)
>     
>

yes, this is a muuuuch cleaner way.
done as in revision 1079633


- Marco


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/2580/#review3697
-----------------------------------------------------------


On 2010-01-14 11:03:23, Marco Martin wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/2580/
> -----------------------------------------------------------
> 
> (Updated 2010-01-14 11:03:23)
> 
> 
> Review request for Plasma and Chani Armitage.
> 
> 
> Summary
> -------
> 
> This approach doesn't look that right, but is the only way i could think of:
> in the netbook shell there really shouldn't be the "add panel" context menu 
> entry since it isn't supported (what happens right now is the panel 
> containment being created and no views assigned to it.
> we could also decide that yeah, indeed the netbook should support multiple 
> panels too (was thinking about that for unrelated reasons) but the problem 
> would propose itself again when we do another shell without panels but that 
> still make sense to have context menus (like the screensaver)
> i tried to do a generic mechanism: all actions will be enabled by default and 
> the corona keeps a blacklist of them (corona or containment? some actions 
> make sense to be enabled or disabled only globally, like add panel, others 
> could be containment dependent?)
> setContaimentActionEnabled() adds the action to the blacklist
> 
> this is just a stub, all actions should check their availability in the future
> 
> 
> Diffs
> -----
> 
>   
> /trunk/KDE/kdebase/workspace/plasma/generic/containmentactions/contextmenu/menu.cpp
>  1070354 
>   /trunk/KDE/kdebase/workspace/plasma/netbook/shell/netcorona.cpp 1070354 
>   /trunk/KDE/kdelibs/plasma/containment.h 1074119 
>   /trunk/KDE/kdelibs/plasma/containment.cpp 1074119 
>   /trunk/KDE/kdelibs/plasma/corona.h 1074119 
>   /trunk/KDE/kdelibs/plasma/corona.cpp 1074119 
> 
> Diff: http://reviewboard.kde.org/r/2580/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Marco
> 
>

_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to