Go to file
Aaron Seigo fbde93c64f give package a cache for found items; make the dptr implicitly shared
this drops a 100k loop of copies from ~2700ms to ~37ms and a 100k loop
of copy-n-find from ~3900ms to ~40ms.

the cache addition is predicated on the idea that lookups of the same files will be frequent enough to warrant the small amount of extra memory usage for the cache. if that does not hold in practice (though it appears to) then this will not be a gain and in fact be a small net loss for memory footprint

the dptr change is predicated on the assumption that copies of Package will be frequent, and so must be low cost. this is known to be true. even if it wasn't, there is no down-side to this change. the upside are significant time and memory savings.
2011-07-22 17:24:40 +02:00
animations Merge remote-tracking branch 'origin/master' into libplasma2 2011-07-11 21:56:41 +02:00
data Merge remote-tracking branch 'origin/master' into libplasma2 2011-07-21 15:31:07 +02:00
design update with package merge changes 2011-07-15 13:02:29 +02:00
extenders get rid of all Class:load(..) methods, use PluginLoader directrly. --apiBloat; 2011-07-19 22:04:22 +02:00
private give package a cache for found items; make the dptr implicitly shared 2011-07-22 17:24:40 +02:00
remote get rid of all Class:load(..) methods, use PluginLoader directrly. --apiBloat; 2011-07-19 22:04:22 +02:00
scripting Package replaces PackageStructure+Package 2011-07-15 13:04:16 +02:00
tests add a test for copy-n-fetch performance; make list based checks list order independant 2011-07-22 17:24:10 +02:00
widgets Merge remote-tracking branch 'origin/master' into libplasma2 2011-07-11 21:56:41 +02:00
.krazy skip template.h 2008-11-07 14:44:06 +00:00
abstractdialogmanager.cpp Fix mem leak 2010-04-10 11:22:56 +00:00
abstractdialogmanager.h showdialog becomes a slot 2010-04-03 21:58:35 +00:00
abstractrunner.cpp get rid of all Class:load(..) methods, use PluginLoader directrly. --apiBloat; 2011-07-19 22:04:22 +02:00
abstractrunner.h adapt to Package merge: return a Package by reference rather than a pointer 2011-07-15 12:58:33 +02:00
abstracttoolbox.cpp Fixed -Wunused-parameter compiler warning. 2011-07-11 12:45:50 -04:00
abstracttoolbox.h make slots that were invoked into virtuals 2011-05-26 18:56:35 +02:00
animator.cpp get rid of deprecate code in Animator 2011-05-26 23:30:58 +02:00
animator.h Replace doxygen tag @arg by @param. 2011-06-13 14:47:29 +02:00
applet.cpp Merge remote-tracking branch 'origin/master' into libplasma2 2011-07-21 15:31:07 +02:00
applet.h get rid of all Class:load(..) methods, use PluginLoader directrly. --apiBloat; 2011-07-19 22:04:22 +02:00
CMakeLists.txt fix install and introduce another profile-based footprint reduction opportunity 2011-07-21 14:39:55 +02:00
config-plasma.h.cmake Allow to build libplasma without KIO. Only issue is that the 2010-10-14 12:27:15 +00:00
configloader.cpp match the type in KCoreConfigSkeleton::ItemIntList 2010-09-13 18:19:39 +00:00
configloader.h Replace doxygen tag @arg by @param. 2011-06-13 14:47:29 +02:00
containment.cpp get rid of all Class:load(..) methods, use PluginLoader directrly. --apiBloat; 2011-07-19 22:04:22 +02:00
containment.h Merge remote-tracking branch 'origin/master' into libplasma2 2011-07-11 21:56:41 +02:00
containmentactions.cpp let PluginLoader do the work for us 2011-07-19 21:41:10 +02:00
containmentactions.h let PluginLoader do the work for us 2011-07-19 21:41:10 +02:00
containmentactionspluginsconfig.cpp make a class to hold a map of default containmentactions plugins 2009-10-05 20:50:57 +00:00
containmentactionspluginsconfig.h make a class to hold a map of default containmentactions plugins 2009-10-05 20:50:57 +00:00
corona.cpp get rid of all Class:load(..) methods, use PluginLoader directrly. --apiBloat; 2011-07-19 22:04:22 +02:00
corona.h Merge remote-tracking branch 'origin/master' into libplasma2 2011-07-11 21:56:41 +02:00
datacontainer.cpp add bool isUsed() const and remove checkUsage() 2011-06-03 16:04:50 +02:00
datacontainer.h Merge remote-tracking branch 'origin/master' into libplasma2 2011-07-11 21:56:41 +02:00
dataengine.cpp get rid of all Class:load(..) methods, use PluginLoader directrly. --apiBloat; 2011-07-19 22:04:22 +02:00
dataengine.h no longer provide access to the package from the class, let Package do that; adapt to Package merge 2011-07-15 13:01:17 +02:00
dataenginemanager.cpp adapt to changes in PackageStructure api 2011-07-19 21:53:03 +02:00
dataenginemanager.h FEATURE: on debug builds, make it easy to get a full dump of the state of the DataEngines 2010-09-23 19:17:00 +00:00
delegate.cpp pull out the indent 2009-11-12 20:31:18 +00:00
delegate.h Improve subitle showing in Plasma::Delegate. 2009-08-22 20:47:15 +00:00
dialog.cpp Merge branch 'plasmadialogshadows' into libplasma2 2011-06-09 12:48:34 +02:00
dialog.h Merge remote-tracking branch 'origin/master' into libplasma2 2011-07-11 21:56:41 +02:00
framesvg.cpp be less noisy, downgrade two kWarning to kDebug 2011-05-22 19:26:38 +02:00
framesvg.h Replace doxygen tag @arg by @param. 2011-06-13 14:47:29 +02:00
Mainpage.dox don't reference things that don't exist (this dox probably needs a rewrite) 2011-07-15 12:56:37 +02:00
Messages.sh do not extract messages from sources in tests subdirectories 2010-11-01 10:45:59 +00:00
package.cpp give package a cache for found items; make the dptr implicitly shared 2011-07-22 17:24:40 +02:00
package.h give package a cache for found items; make the dptr implicitly shared 2011-07-22 17:24:40 +02:00
packagestructure.cpp remove the static hash of packagestructure 2011-07-19 21:40:25 +02:00
packagestructure.h reintroducing PackageStructure as we need it for the virtuals. it is now a properly stateless clas, however, unlike in libplasma1 2011-07-19 21:36:29 +02:00
paintutils.cpp contentsRect must be bigger 2011-02-09 18:16:48 +01:00
paintutils.h new function texturedText() 2011-02-04 21:02:20 +01:00
plasma_export.h - made kdelibs for wince static 2010-07-30 12:31:39 +00:00
plasma.cpp one thing one was using actionsFromMenu, not justifiable to put it here 2011-07-19 21:51:46 +02:00
plasma.h one thing one was using actionsFromMenu, not justifiable to put it here 2011-07-19 21:51:46 +02:00
plasma.kdev4 Commit my sok project that has been laying around for a while. Shows an overlay on a file's icon, that a KIO job is being performed (e.g download/copy/move) on that same file/folder. Helps in associating regular job notifications with the file managers. If something has broken in KIO wrt job notifications (poke me), it's probably this. Not to say that I didn't test it a lot, just that there could be unforeseen consequences. Feature requires a simple kdirmodel && kfileitemdelegate call to be made to enable it. also note: KIO jobs talk directly to kuiserver, the latter of which acts as a relay to anything interested in that information.(inseparable from workspace & runtime previous commit) 2010-03-19 02:13:41 +00:00
pluginloader.cpp add missing impl 2011-07-21 14:38:44 +02:00
pluginloader.h get rid of all Class:load(..) methods, use PluginLoader directrly. --apiBloat; 2011-07-19 22:04:22 +02:00
popupapplet.cpp use the package directly in Applet::Private 2011-07-15 13:01:52 +02:00
popupapplet.h Replace doxygen tag @arg by @param. 2011-06-13 14:47:29 +02:00
querymatch.cpp QString is not thread-safe; since the matches get shuttled around between threads, we need to protect access to it. as writing is rare, this should hopefully not degrade performance too much. if it passes testing, then i will backport this. 2011-01-16 21:46:55 +00:00
querymatch.h Add removeMatch(es) methods 2009-11-24 12:05:46 +00:00
README git rid of some old stuff 2011-07-15 12:56:25 +02:00
runnercontext.cpp Saturates the relevance boost given to already run matches; 2010-05-19 09:51:21 +00:00
runnercontext.h Replace doxygen tag @arg by @param. 2011-06-13 14:47:29 +02:00
runnermanager.cpp adapt to changes in PackageStructure api 2011-07-19 21:53:03 +02:00
runnermanager.h Replace doxygen tag @arg by @param. 2011-06-13 14:47:29 +02:00
runnersyntax.cpp - Fix several minor issues reported by Krazy2 2009-10-13 12:40:13 +00:00
runnersyntax.h Replace doxygen tag @arg by @param. 2011-06-13 14:47:29 +02:00
service.cpp get rid of all Class:load(..) methods, use PluginLoader directrly. --apiBloat; 2011-07-19 22:04:22 +02:00
service.h get rid of all Class:load(..) methods, use PluginLoader directrly. --apiBloat; 2011-07-19 22:04:22 +02:00
servicejob.cpp QHash replaces QMap as the sorting of QMap is pure overhead 2011-05-26 19:01:44 +02:00
servicejob.h Merge remote-tracking branch 'origin/master' into libplasma2 2011-07-11 21:56:41 +02:00
svg.cpp adapt to the Package merge 2011-07-15 12:59:17 +02:00
svg.h Merge remote-tracking branch 'origin/master' into libplasma2 2011-07-11 21:56:41 +02:00
theme.cpp no longer provide access to the package from the class, let Package do that 2011-07-15 12:57:02 +02:00
theme.h no longer provide access to the package from the class, let Package do that 2011-07-15 12:57:02 +02:00
tooltipcontent.cpp Merge remote-tracking branch 'origin/master' into libplasma2 2011-07-11 21:56:41 +02:00
tooltipcontent.h mark the methods deprecated as they should be 2011-07-11 21:48:56 +02:00
tooltipmanager.cpp Allow to get tooltips to popup instantly on hover 2011-04-26 20:56:00 +02:00
tooltipmanager.h Replace doxygen tag @arg by @param. 2011-06-13 14:47:29 +02:00
version.cpp warn about it as well 2010-08-09 21:03:46 +00:00
version.h bump version 2011-04-26 22:53:32 +02:00
view.cpp remove a line of dead code 2011-02-03 20:38:27 -08:00
view.h Replace doxygen tag @arg by @param. 2011-06-13 14:47:29 +02:00
wallpaper.cpp PluginLoader API changes 2011-07-20 00:06:24 +02:00
wallpaper.h no longer provide access to the package from the class, let Package do that; adapt to Package merge 2011-07-15 12:58:06 +02:00
windoweffects.cpp getting the compiler to stfu 2011-05-28 00:38:34 +02:00
windoweffects.h Replace doxygen tag @arg by @param. 2011-06-13 14:47:29 +02:00

libplasma

This directory contains the classes making up libplasma, which provides the
core framework used by Plasma applications, such as the Plasma desktop shell
and its components. This includes applet and extension definitions and loading,
common GUI elements, data and service interaction, search system, etc.

Domain specific sets of functionality, e.g. for network awareness or sensors,
are not found here but as DataEngine, Service, Applet, Package, Wallpaper,
ContainmentActions, Containment and other plugins.

Commit Guidelines:
* If your patch is not an obvious or trivial bug fix, have it peer reviewed
  by another Plasma developer; http://reviewboard.kde.org is your friend :)

* All code MUST follow the kdelibs coding style, as found at:
        http://techbase.kde.org/Policies/Kdelibs_Coding_Style

* All new public API MUST have apidox written before committing and must go
  through an API review with another Plasma developer. We have to maintain
  binary compatibility, remember!

Unit tests are next to godliness. (Though as you can see, right now libplasma
is hellbound.)

Please refer to the Plasma website (http://plasma.kde.org) and Plasma wiki
(http://techbase.kde.org/Projects/Plasma) for API documentation and design
documents regarding this library.