QueryMatch by value! shared dptr == no copy of data either! so (nearly) all the speed love of pointers with none of the crash hate. woo!
RunnerContext also by value! die pointers die!
also get rid of tons of locking that just doesn't make sense anymore; get rid of data priority enum as well since it's completely meaningless.
speed, glory, stability! ftw!
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=805661
-New RunnerManager class, it manages runners at high level
and gives a simple API for interfaces to use.
- AbstractRunners gains description, setIgnoredTypes, ignoredTypes methods.
Now runners can specify what SearchContext::Types they are not going to process.
- SearchContext tries shared data between the original context and any local context.
It doesn't have its own completer no more.
- SearchMatch has a new type of match, CompleterMatch. Instead of using a hard coded
completer in SearchContext
- Interface class on krunner has its own completer and other changes
done to accomodate the above changes in libplasma.
-A new configuration option blacklist for runnermanager and krunner
instead of the whitelist of krunner.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802903
run() method is more obvious than exec() (don't forget that a runner run :) ).
Anyway during the meeting we have decided to replace createMatchOptions() with createRunOptions()
and (set)hasMatchOptions() with (set)hasRunOptions(), now with this commit we have a more coherent naming.
CCMAIL: panel-devel@kde.org
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802143
applets,
please update to another revision to use the version that works
green flag from aaron
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=796368
* remove add*Match since they broke the pattern of usage (who owns the match? do you have to add it again? etc..)
* add addMatch to compliment addMatches for those runners that just ever have one match
* make the default SearchMatch type Possible rather than Exact (making Exact and Informational the exceptions, which matches usage patterns)
* const'ify the API a bit better
generally more performant, lower memory usage and clearer API having seen what is beign done in the runners. also makes it a bit easier to turn the Matches into a qt model
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=776931
introduces two new classes: Plasma::SearchContext and Plasma::SearchAction
benefits include:
- well, future proofing =)
- the ability to eventually allow runners that mutate the search
- multiple exact matches per runner
- 'executing' of informational runners (useful for, e.g., the calculator)
- being able to centralize expensive operations such a KUriFilter actions
- simplifies writing runners *dramatically*
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=731253
* change krunner to plasma in the plugin loader macro
this essentially helps hide krunner completely from the runner implementor and follows with the rest of the generic plugins offered by libplasma
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=723220
* Copyright (C) -> Copyright
* add "or later" clause to files that i have the sole copyright on
* add current year (2007) to my copyrights where it was missing
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696946
* pass the exact match action into exec(). this allows runners the opportunity to store otherwise expensive information in the action and get it back easily
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=689642
#include <plasma/foo.h>
in headers in libplasma. this is important so that they can be used post-install by third party plugins, apps, etc.
also, changed Applet::loadDataEngine to just Applet::dataEngine and make it actually return the data engine; move the applets to using it. safer and fewer LoC
svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=670850