Review Request: Adaptive Search for KRunner
Aaron Seigo
aseigo at kde.org
Wed May 13 17:41:15 CEST 2009
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/694/#review1107
-----------------------------------------------------------
the idea is sound, but i think a save(KConfigGroup &group), restore(KConfigGroup &group) and run(const QueryMatch &match) in RunnerContext would make it all a lot cleaner. it would allow us to change the underlying implementation if we wish to later (i don't know how scalable / future proof a simple QHash<QString, int> is going to be for this, for instance) and also accommodate the addition of other similar features in the future.
/trunk/KDE/kdelibs/plasma/runnermanager.cpp
<http://reviewboard.kde.org/r/694/#comment721>
this looks like something that should be in RunnerContext, with a save/restore pair of methods that take a KConfigGroup in RunnerContext. that would prevent exposing all of these methods ...
/trunk/KDE/kdelibs/plasma/runnermanager.cpp
<http://reviewboard.kde.org/r/694/#comment723>
as an implementation tip, since a string could in theory contain a %# sequence it's usually safer to write this as:
QString("%2 %1").arg(i.key()).arg(i.value());
/trunk/KDE/kdelibs/plasma/runnermanager.cpp
<http://reviewboard.kde.org/r/694/#comment722>
if this became d->context->run(match), which i think makes sense since match belongs to the context, then increaseLaunchCount can be kept interna to Context.
- Aaron
On 2009-05-13 07:13:18, Ryan Bitanga wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://reviewboard.kde.org/r/694/
> -----------------------------------------------------------
>
> (Updated 2009-05-13 07:13:18)
>
>
> Review request for Plasma.
>
>
> Summary
> -------
>
> This enables adaptive search for KRunner by tracking user behavior in terms of programs run, documents opened, etc. via KRunner. It boosts relevance of a match whenever a user runs that match, allowing the match to appear before other matches obtained of similar nature as long as the front-end correctly sorts the matches.
>
> For example, running a query of "kon" on the services runner may result in matches for Konqueror and Konsole. Both matches will have a relevance of 1.3, but Konqueror will appear before Konsole. If a user launches Konsole via KRunner at least one time more than Konqueror, Konsole will have its relevance boosted and will appear before Konqueror in the list of matches.
>
> This partially addresses bug #180158. The other part (changes to quicksand) will be committed soon.
>
>
> Diffs
> -----
>
> /trunk/KDE/kdelibs/plasma/querymatch.cpp 967300
> /trunk/KDE/kdelibs/plasma/runnercontext.h 967300
> /trunk/KDE/kdelibs/plasma/runnercontext.cpp 967300
> /trunk/KDE/kdelibs/plasma/runnermanager.cpp 967300
>
> Diff: http://reviewboard.kde.org/r/694/diff
>
>
> Testing
> -------
>
>
> Thanks,
>
> Ryan
>
>
More information about the Plasma-devel
mailing list