[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-panel-devel
Subject:    Re: Review Request: Multiple action support for KRunner
From:       "Aaron Seigo" <aseigo () kde ! org>
Date:       2008-09-17 15:34:04
Message-ID: 20080917153404.18774.83637 () vidsolbach ! de
[Download RAW message or body]


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.vidsolbach.de/r/178/#review202
-----------------------------------------------------------


i mostly like this patch ...

however, QueryActionPool doesn't seem to actually be used; where it is used, it seems \
to be an implementation detail and therefore shouldn't need to be exported .. but \
even more evident is that it probably isn't needed at all?

what plans do you have for QueryActionPool, if any?

(without QueryActionPool, QueryAction seems unecessary as well?)



/trunk/KDE/kdebase/workspace/krunner/resultitem.cpp
<http://reviewboard.vidsolbach.de/r/178/#comment166>

    setting a title on a QMenu doesn't actually do anything unless the menu is put \
into a submenu; KMenu lets you put a visible title in a menu, if that's what you're \
looking for.  
    if the menu title is visible in the menu itself (as opposed to a sub-menu entry \
that shows the menu), it should contain the name of the action. i18n("Actions For \
'%1'", name()) or something like that ...



/trunk/KDE/kdebase/workspace/libs/plasma/queryactionpool.h
<http://reviewboard.vidsolbach.de/r/178/#comment167>

    for applications that use runners internally, versus an application like krunner \
which is only about runners, the constructor will be used (think of multiple kickoff \
applets, for instance?); perhaps the apidox should be altered to make self() sound \
less required =)



/trunk/KDE/kdebase/workspace/libs/plasma/querymatch.h
<http://reviewboard.vidsolbach.de/r/178/#comment168>

    "current" sounds like an iterator; perhaps "selected" or "active"? \
setSelectedAction sounds good to me ..


- Aaron


On 2008-09-17 02:11:27, Ryan Bitanga wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.vidsolbach.de/r/178/
> -----------------------------------------------------------
> 
> (Updated 2008-09-17 02:11:27)
> 
> 
> Review request for Plasma.
> 
> 
> Summary
> -------
> 
> This introduces multiple action (or noun-verb) support for runners. Each QueryMatch \
> (the noun) can now have multiple actions associated with it. 
> Actions are QueryActions which inherit QAction. I intend to extend QueryAction to \
> support mimetypes and more functionality. If QueryActions have associated \
> mimetypes, the runner can intelligently select which of the available actions to \
> add to the match. 
> Another possibility would be to add object support to an action. For example, a \
> match returned by the Desktop Search runner could have the action "Copy to...". The \
> object of the action would be a directory. I'm still looking for ways to implement \
> this. One way would be to have a set of core runners designated as object providers \
> (e.g. Places, Contacts) and run a secondary query on a specific runner. 
> Because QueryActions are GUI objects, they need to live in the GUI thread. That \
> means that QueryActions must be created outside of the match method, preferably at \
> the time of runner construction. After creation, QueryActions must be registered \
> with QueryActionPool, the global action registry. This allows QueryActions to only \
> be created once during the lifetime of a runner. This also allows runners to add \
> actions that belong to different runners. However, correct execution of the action \
> is left up to the runner in the exec method. I'll provide an example of how to do \
> this soon. 
> Multiple action support is optional. Runners that do not create actions will \
> continue to function just as they did prior to the introduction of multiple action \
> support. 
> An example implementation with multiple action support is the amarok-based \
> mediaplayer runner currently in playground. To access the actions, right click on \
> the icon and select the desired action. Note, the temporary solution triggers the \
> action upon selection the action in the context menu. Pressing enter or clicking on \
> the icon will cause the action to be performed again. 
> As of the latest patch, registration and unregistration from the global action \
> registry is handled by the QueryAction itself. Actions are added by the \
> actionsForMatch() method in abstract runner allowing on-demand creation of actions \
> if so desired. 
> 
> Diffs
> -----
> 
> /trunk/KDE/kdebase/workspace/krunner/resultitem.h
> /trunk/KDE/kdebase/workspace/krunner/resultitem.cpp
> /trunk/KDE/kdebase/workspace/libs/plasma/CMakeLists.txt
> /trunk/KDE/kdebase/workspace/libs/plasma/abstractrunner.h
> /trunk/KDE/kdebase/workspace/libs/plasma/abstractrunner.cpp
> /trunk/KDE/kdebase/workspace/libs/plasma/includes/QueryAction
> /trunk/KDE/kdebase/workspace/libs/plasma/includes/QueryActionPool
> /trunk/KDE/kdebase/workspace/libs/plasma/queryaction.h
> /trunk/KDE/kdebase/workspace/libs/plasma/queryaction.cpp
> /trunk/KDE/kdebase/workspace/libs/plasma/queryactionpool.h
> /trunk/KDE/kdebase/workspace/libs/plasma/queryactionpool.cpp
> /trunk/KDE/kdebase/workspace/libs/plasma/querymatch.h
> /trunk/KDE/kdebase/workspace/libs/plasma/querymatch.cpp
> /trunk/KDE/kdebase/workspace/libs/plasma/runnermanager.h
> /trunk/KDE/kdebase/workspace/libs/plasma/runnermanager.cpp
> 
> Diff: http://reviewboard.vidsolbach.de/r/178/diff
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> Ryan
> 
> 

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


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic