Commit Graph

17 Commits

Author SHA1 Message Date
Aaron J. Seigo
0fbe1e47c1 * count the number of objects connected to each datasource
* 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
2007-06-10 05:39:27 +00:00
Aaron J. Seigo
b86f3f6209 when a data source is requested but does not exist, allow the engine the opportunity to add it by reimplementing dataSourceRequested(const QString&). this makes it trivial to add timezones to the time engine, rss feeds to an rss engine, weather stations to a weather engine or hardware data to solid engines.
svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=673373
2007-06-10 04:03:50 +00:00
Dirk Mueller
ab560f1242 fix return value
svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=671375
2007-06-04 16:11:55 +00:00
Aaron J. Seigo
2638b6031b * introduce a NullEngine
* 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
2007-06-02 22:23:26 +00:00
Aaron J. Seigo
10dd76c794 * when connecting sources, invoke the updated method so they get the current values immediately
* 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
2007-05-28 05:43:54 +00:00
Aaron J. Seigo
1835680cf3 * get rid of Interface hack now that DataEngineManager is in libplasma
* provide a singleton accessor to DataEngineManager
* port code to API changes

svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=668668
2007-05-27 07:59:17 +00:00
Aaron J. Seigo
dacd91f859 constification.
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=667619
2007-05-23 08:27:09 +00:00
Aaron J. Seigo
22015aa3c9 add icons to data engines. a bit superfluous, but can be nice when showing engines to the user as we do in the engine explorer
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=667592
2007-05-23 07:13:00 +00:00
Aaron J. Seigo
479a977830 * api documentation
* 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
2007-05-23 06:38:44 +00:00
Matt Williams
a6c0d7a952 DataVisualisation isn't actually used in here
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=667493
2007-05-22 23:11:21 +00:00
Aaron J. Seigo
879e215a43 * make DataSource emit the name of the source along with the data; this makes it possible widgets connected to multiple DataSources to have a chance of doing the right thing
* 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
2007-05-22 02:49:54 +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
Aaron J. Seigo
b8cc485705 * split DataSource into its own files
* 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
2007-05-20 20:36:59 +00:00
Aaron J. Seigo
4c4b013b89 * implement the engine, source and visualization classes
* 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
2007-05-19 08:38:46 +00:00
Stephan Kulow
302bfadf77 compile
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=638222
2007-03-01 08:22:38 +00:00
Matt Broadstone
b49680140c Get things actually building here
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=638147
2007-02-28 23:35:26 +00:00
Aaron J. Seigo
3de9c853b7 get this to compile at least so i can start to exercise it with krunner
and other such bits. no point on having this just sit on my disk i
suppose =)

svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=614239
2006-12-16 23:04:44 +00:00