Commit Graph

54 Commits

Author SHA1 Message Date
Aaron J. Seigo
6019dc7b27 huge patch, but it's needed to avoid crashes and i can't wait on other people's pending work forever. so...
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
2008-05-09 03:49:11 +00:00
Aaron J. Seigo
6ea602b848 make RunnerManager a friend so we can do the happy-scripting-dance again
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=804739
2008-05-06 20:48:44 +00:00
Aaron J. Seigo
e2ec9b03db * get rid of Plasma-RunnerName; use Name and KPluginInfo's pluginName instead
* add AbstractRunner::id()
* add QueryMatch::id()

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=804670
2008-05-06 18:43:55 +00:00
Aaron J. Seigo
f3188fb672 SearchMatch -> QueryMatch
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=803385
2008-05-02 18:46:05 +00:00
Aaron J. Seigo
a8647e4ecc SearchTerm -> Query
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=803374
2008-05-02 18:17:09 +00:00
Aaron J. Seigo
f55bbb73f9 SearchContext -> RunnerContext
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=803041
2008-05-01 18:40:10 +00:00
Jordi Polo
95157e20c4 Big patch with several internal changes to krunner:
-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
2008-05-01 07:51:59 +00:00
Davide Bettio
c32f8a4511 Replacing exec() with run(): this change wasn't discussed during the tokamak meeting.
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
2008-04-28 17:11:12 +00:00
Davide Bettio
5ad0e12cdd API REVIEW: load() -> loadAll()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801377
2008-04-26 13:10:37 +00:00
Davide Bettio
444c2f6b49 API REVIEW: createMatchOptions() -> createRunOptions()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801372
2008-04-26 12:54:25 +00:00
Davide Bettio
e576ed397b API REVIEW: (set)hasMatchOptions -> (set)hasRunOptions()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801367
2008-04-26 12:41:16 +00:00
Davide Bettio
451dc3b8cd API REVIEW: runnerName() -> name()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801360
2008-04-26 12:20:29 +00:00
Davide Bettio
a36939ee2c API REVIEW: config() -> protected
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801342
2008-04-26 11:59:23 +00:00
Davide Bettio
6b0b1e0dc4 API REVIEW: ctors -> protected
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801340
2008-04-26 11:55:02 +00:00
Davide Bettio
b976255bf3 API REVIEW: http://techbase.kde.org/index.php?title=Projects/Plasma/Tokamak1
SlowSpeed before NormalSpeed

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801339
2008-04-26 11:49:59 +00:00
Aaron J. Seigo
871b7fe9e6 SVN_SILENT api fixaboo
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=796424
2008-04-13 15:02:02 +00:00
Aaron J. Seigo
637515f2a9 changes that were lost in the merge
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=796407
2008-04-13 14:37:10 +00:00
Alexis Ménard
4467261c95 Merge woc branch to trunk, say good bye to old plasma, there is a lot of stuff to port
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
2008-04-13 13:23:39 +00:00
Aaron J. Seigo
40866fc443 implement package support
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=796112
2008-04-12 16:00:43 +00:00
Pino Toscano
fd0adac258 slots -> Q_SLOTS
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=781228
2008-03-02 11:05:54 +00:00
Aaron J. Seigo
7cf7109266 load* -> load .. simpler, less verbose API
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=779407
2008-02-26 01:58:55 +00:00
Aaron J. Seigo
b6767e1e39 we need a non-const object to lock, may as well make it a pointer as well since that's the common usage
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=776952
2008-02-19 06:27:31 +00:00
Aaron J. Seigo
2954087e8d * eliminate the three search lists and have just one
* 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
2008-02-19 03:59:21 +00:00
Aaron J. Seigo
9244e126f2 seems that priority has taken over what tier was intended for; easy to add back if necessary / desired, but i think that the idea of chaining really needs more expresivity than that
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=771458
2008-02-06 02:51:21 +00:00
Aaron J. Seigo
e3c3b847f6 provide a bigLock() for runners to use whenever accessing common but non-reentrant api (e.g. most everything in kdelibs ;)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=770952
2008-02-04 20:28:09 +00:00
Petri Damstén
8a15088888 Scripting update.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=770587
2008-02-04 04:41:40 +00:00
Aaron J. Seigo
fc8079a99e ++apidox;
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=768975
2008-01-31 03:25:19 +00:00
Aaron J. Seigo
55eb91140b some improvements as suggested by mattr via review-board. boy, what a neat tool
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=768467
2008-01-30 06:17:13 +00:00
Aaron J. Seigo
099785fbdc let's see if serializing (via a mutex) access to kservicetypetrader helps with those kservicetypetrader related crashes i'm seeing constantly go away
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=768454
2008-01-30 03:41:36 +00:00
Sebastian Trueg
824b9a221e Fixed doxumentation a bit
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=758620
2008-01-08 15:33:26 +00:00
Ryan P. Bitanga
3328d293ae Give runners priority levels
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=758482
2008-01-08 00:21:10 +00:00
Pino Toscano
f54a012731 include fixup
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=747300
2007-12-11 16:56:06 +00:00
Aaron J. Seigo
5fc323b7db provide a place for runners to put their config. no, not overly performant but this really shouldn't need to be
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=747296
2007-12-11 16:53:40 +00:00
Ryan P. Bitanga
5f7c078705 Remove remnants of QAction inheritance from SearchMatch
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=746951
2007-12-10 18:04:45 +00:00
Ryan P. Bitanga
f1df93c794 Add runner speed functions to abstractrunner
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=746915
2007-12-10 16:20:46 +00:00
Aaron J. Seigo
cfd3bfac48 * SearchAction becomes SearchMatch; fall out of the refactoring
* add camel case headers for those classes now that they've settled in

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=744452
2007-12-03 17:18:28 +00:00
Ryan P. Bitanga
eff8326f80 Say hello to multithreaded krunner ;)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=743865
2007-12-02 07:11:50 +00:00
Ryan P. Bitanga
72a3b2b68b Add a whitelist to loadRunners, change canBeConfigured to isConfigurable
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=739989
2007-11-22 09:08:58 +00:00
Aaron J. Seigo
0a6f2af7f3 * move SearchAction and SearchContext to their own files
* term -> searchTerm
* add a completion object to SearchContext

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=731848
2007-11-02 02:34:46 +00:00
Rolf Eike Beer
5027216cd0 compile++
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=731636
2007-11-01 09:47:28 +00:00
Dirk Mueller
1a85b92002 header cleanness++
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=731620
2007-11-01 08:22:28 +00:00
Aaron J. Seigo
43ea2d708f workspace -> kworkspace to mirror the library name and install path
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=731519
2007-10-31 22:06:41 +00:00
Aaron J. Seigo
82302e817b actually allow runns to provide their config ;)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=731262
2007-10-31 05:25:07 +00:00
Aaron J. Seigo
e099821b71 massive change to AbstractRunner API, but now at least it is hopefully future proof and we won't have to change it in BIC ways after 4.0
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
2007-10-31 04:44:09 +00:00
Aaron J. Seigo
192ba4bad3 * move the pluggable krunners into plasma/krunner
* 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
2007-10-09 03:41:24 +00:00
Aaron J. Seigo
c911115b10 kpluginfactory, it's all the new rage
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=705970
2007-08-29 02:17:39 +00:00
Aaron J. Seigo
db4a7ebe61 copyright cleanups:
* 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
2007-08-06 11:20:02 +00:00
Aaron J. Seigo
abd156ece2 * clarify several points in the api documentation. time to do a techbase tutorial!
* 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
2007-07-18 19:09:41 +00:00
Aaron J. Seigo
bbaebc6b1b move workspace/plasma/lib to workspace/lib/plasma so that we can do:
#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
2007-06-02 17:29:39 +00:00
Matt Williams
dfb58b44c1 EBN Fixes
* Include own header file first
* Make d-pointer const
* Use references-to-const

svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=667001
2007-05-21 14:28:03 +00:00