Review Request: The WebshortcutRunner did not check whether the search engines it provided were even enabled.

Nikolaus Waxweiler madigens at gmail.com
Mon Mar 8 00:22:32 CET 2010


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

(Updated 2010-03-07 23:22:31.965411)


Review request for Plasma.


Changes
-------

i just noticed that when pulling down the runner-help thing in krunner and clicking on some web shortcut description that has multiple keys, those keys are inserted in the prompt verbatim (e.g. "gg,google,g <cursor>") which won't work. solution: register each shorthand separately. this should also obsolete my plans to "clean up" the exampleQuery display in KRunner[1], because the way the patch does it is probably the way it's intended, judging from how SyntaxRunner doesn't treat exampleQuery in it's constructor in a special way and just lumps everything into d->exampleQueries.

[1]: Self-quote: '''i noticed that examples for runners hooked in via Plasma::RunnerSyntax:::addExampleQuery are displayed rather... confusing: "g,gg,google:<search term>, g:<search term>". wouldn't it be better to display it as "g,gg,google:<search term> (e.g. <i>g:<search term> </i>)"?'''


Summary
-------

Solution: find out which ones are enabled and compare before presenting a match/advertising a search engine.

I added a QStringList m_enabledSearchEngines which is updated after every relevant change to sycoca and changed 2 places in the runner to query it: when building the runner-help-string to be displayed via krunner's [?]-button and when looking if the first word of the user's string could possibly be a shorthand for/keyword of a search engine.


Diffs (updated)
-----

  /trunk/KDE/kdebase/workspace/plasma/generic/runners/webshortcuts/webshortcutrunner.cpp 1100546 

Diff: http://reviewboard.kde.org/r/3097/diff


Testing
-------

Used rev. 1098255 as the starting point. Compiled it and overwrote the 4.4.1 .so I had installed. Because I'm lazy. I experienced some krunner-crashes, maybe because of this :p Didn't check though. Because I'm lazy.

I then typed the shorthand for some search engine I had disabled ("amg") to check whether the runner would respond. Nope. I then enabled it and ran kbuildsycoca4 manually (the web shortcut dialog in konq. is unreliable with this.. I think there's a few bug reports for this), and the runner responded appropriately. Other shortcuts worked fine.


Thanks,

Nikolaus



More information about the Plasma-devel mailing list