DataEngine::connectSource / DataEngine::connectAllSources
also: If a DataEngine fails to create the source in
sourceRequested(source), an empty source is created in d->source(source)
and then used during QMetaObject::invokeMethod, which calls updated for
the applet.
Better: don't create the source. This forces DataEngines to create the
source.
Patch by Michael Olbrich <michael-olbrich@web.de>
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=695097
* passing a null or invalid QVariant to DataSource::setData now results in the removal of the entry if it exists
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=676783
* data sources now signal when the are unused
* listen to the unused signal for sources created on demand via dataSourceRequested
svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=673389
* return an instance of the NullEngine on engine loading failure; this way applets don't have to test for engine existence and can just assume something gets returned
* DataEngine::isValid() in case someone really cares to know whether they have a non-functional engine (e.g. the NullEngine)
svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=670900
* add the ability to limit the number of data sources in an engine; least used items drop off. the algorithm for this is pretty simplistic and not overly scalable, but that's something that can be fixed when we run into problems (e.g. setLimit(1000) or something silly =)
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=668927
* void addSource(DataSource* source): allows adding of DataSources directly; useful for more complex engines where setData would be inneficient and clumsy or just not powerful enough
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=667584
* make DataEngine take a QObject in the connect, making DataVisualization somewhere superfluous. unless it ends up doing something useful soon, DataVisualization as a class will be going away.
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=667167
* move DataSource::Data to DataEngine::Data; this means consumers of DataEngine have no need to know about DataSource as a class
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=666756
* queue updates so that multiple calls to setData don't result in a storm of updated signals
* some API cleanups, e.g. connect -> connectSource
* provide and install a ServiceType .desktop; this adds the X-EngineName QString symbol. maybe that's too generic.
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=666241