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
Also adds a addMatchesTo(SearchContext) which encapsulates this code and makes it safe to delete matches on object deletion, preventing possible memory leaks on SearchContext destruction.
Finally, don't copy all the SearchMatches already registered for each thread-local copy as that's just unused and unecessary overhead.
BIC, though SC.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=773473
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
* move the service description .desktop file into libs/plasma/servicetypes with the rest of them
* add a X-Plasma-RunnerPhase property so we can try and order these puppies
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=723217
needed now because friday is the last BC day. The rest of the modules will
follow as fast as my laptop allows.
svn path=/trunk/KDE/kdelibs/; revision=721704
* 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
* fancy includes so third party stuff can do #include <Plasma/Svg> instead of #include "plasma/svg.h", etc
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=644677