Commit Graph

46 Commits

Author SHA1 Message Date
Brian David Pritchett
1259ea24cd Redid much of the storage capability and implemented many suggestions.
svn path=/trunk/KDE/kdelibs/; revision=1156347
2010-07-28 23:28:31 +00:00
Aaron J. Seigo
451049664e * various FIXME notes in dataengine.cpp; Brian, if you could look through them and ask if you have any questions regarding them
* only check for stored data if the DataContainer is thusly marked; removes a huge bottleneck for non-storage-backed engines; currently this probably breaks storage support (since marking the source as storage related probably happens after it is created and so this doesn't get calle?) but there is a FIXME note there that states what the fix should be
* some code clean ups

CCMAIL:batenkaitos@gmail.com

svn path=/trunk/KDE/kdelibs/; revision=1150416
2010-07-15 21:58:58 +00:00
Brian David Pritchett
53a227a43f This adds the first iteration of data caching for dataengines.
svn path=/trunk/KDE/kdelibs/; revision=1149185
2010-07-12 20:51:12 +00:00
Aaron J. Seigo
118e9c8394 revert this commit, it breaks the dataengine usge pattern and introduces memory leaks (which can be worked around, but at a cpu penalty for the common case)
svn path=/trunk/KDE/kdelibs/; revision=1136118
2010-06-09 01:17:16 +00:00
John Layt
fb07bcab0a Don't throw away multiple values per key when doing deep copy.
See http://reviewboard.kde.org/r/4235/


svn path=/trunk/KDE/kdelibs/; revision=1134838
2010-06-05 13:09:48 +00:00
Beat Wolf
be9c4e9781 allow null values for dataengines as sugested by aseigo.
BUG:237760

svn path=/trunk/KDE/kdelibs/; revision=1128225
2010-05-18 18:22:13 +00:00
Aaron J. Seigo
c477a8c2c2 once disconnected, stop caring about the object's destruction; prevents those "no such slot" warnings at runtime (and probably a tiny optimization to boot)
svn path=/trunk/KDE/kdelibs/; revision=1101797
2010-03-10 23:05:39 +00:00
Aaron J. Seigo
5bdb436709 allow kicking all visualizations immediately rather than wait for their timeouts in the case of changes that _must_ be reflected immediatley, e.g. time changes or network availability causing first fetch of data
svn path=/trunk/KDE/kdelibs/; revision=987939
2009-06-27 01:26:33 +00:00
Aaron J. Seigo
a6140d5a27 use isEmpty; a couple minor, minor changes that crept in while debugging things elsewhere
svn path=/trunk/KDE/kdelibs/; revision=895022
2008-12-09 20:37:41 +00:00
Aaron J. Seigo
4b08c03726 change KDE includes to use the .h style now that we're in libs
svn path=/trunk/KDE/kdelibs/; revision=879795
2008-11-04 02:04:34 +00:00
Aaron J. Seigo
1b523b9054 ok, this time JUST the plasma dir ;)
svn path=/trunk/KDE/kdelibs/; revision=879759
2008-11-03 23:08:39 +00:00
Aaron J. Seigo
fa5a2d87d9 bum-de-dum! plasma to kdelibs.
svn path=/trunk/KDE/kdelibs/; revision=879757
2008-11-03 23:03:26 +00:00
Allen Winter
e88e2faa63 first batch of small coding style fixes.
these were found while testing the Krazy style checker, which I'm adapting
for the kdelibs style.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=870051
2008-10-11 16:19:04 +00:00
Aaron J. Seigo
3d6b183011 try to keep updateSourcEvents to a minimum by only triggering an immediate update from the SignalRelay object if it is not the first visualization connected to the source
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=852899
2008-08-26 20:37:53 +00:00
Alex Merry
ffd9d8f796 SVN_SILENT:
Looks a little cleaner like this.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=851458
2008-08-23 17:35:23 +00:00
Aaron J. Seigo
63bce9d1b4 move all the prive code into private/; makes it much clearer with the division lines are
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=839792
2008-07-30 20:35:42 +00:00
Marijn Kruisselbrink
21b148b963 change all ClassName::Private classes to ClassNamePrivate, and adjust friends accordingly; this makes plasma compilable with gcc < 4.2
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=826893
2008-07-01 18:56:43 +00:00
Dan Meltzer
f57cc1c623 Lotsa little ebn fixes.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=805672
2008-05-09 05:32:15 +00:00
Aaron J. Seigo
b94c6913ff small optimization: prevent reconnecting (and likely a delete and new of a SignalObject) when the requested polling interval and the current one are the same
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802273
2008-04-29 00:26:33 +00:00
Aaron J. Seigo
9a156375a3 SVN_SILENT: a bit more useful debug in places
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=802271
2008-04-29 00:15:26 +00:00
Alexis Ménard
2b235d2906 +hasUpdates()->pimpl ok
+setNeedsUpdate()->protected used in dataengine line 306
+checkUsage()->protected used in dataengine line 293

protected or pimpl/modification in dataengine too?

CCMAIL : ervin@kde.org
 

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801168
2008-04-25 20:33:46 +00:00
Alexis Ménard
9316dbd0d5 +checkForUpdate()->protected
+int timeSinceLastUpdate()->protected+return uint 


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=801145
2008-04-25 19:45:09 +00:00
Aaron J. Seigo
52c81b0a5a make visualizationIsConnected work better
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800763
2008-04-24 20:09:57 +00:00
Anne-Marie Mahfouf
50269beb15 API review: DataContainer SIGNAL unused()->becameUnused()
none in extragear/plasma or in playground/base/plasma

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800574
2008-04-24 12:22:40 +00:00
Anne-Marie Mahfouf
75ba09738f API review: DataContainer clearData()->removeAllData()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800558
2008-04-24 11:56:32 +00:00
Aaron J. Seigo
7d1d889a47 * add a way to query if a visualization is already connected to a source
* don't do an immediate call using invokeMethod if the visualization is already connected and we're just adjusting it

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800383
2008-04-24 05:58:59 +00:00
Chani Armitage
e850a93871 dataengine api review: %s/UpdateInterval/PollingInterval/g
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=800376
2008-04-24 02:21:22 +00:00
Aaron J. Seigo
0ea2371835 * work around a bug in Qt where the receiver count isn't updated until *after* another connect is made (disconnects don't count); this will work even after fixed upstream (and yes, it was reported)
* be a bit smarter with connect/disconnects
* return a pointer to the Relay directly in the private interface rather than a generic qobject

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=791628
2008-03-30 01:58:10 +00:00
Aaron J. Seigo
b19eb3eaff handful more of krazy fixes and i'm done for the night
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=776988
2008-02-19 09:12:34 +00:00
Chani Armitage
17ddc75c3a fix bug where one signalrelay requests an update right after another and gets nothing
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=764821
2008-01-22 17:03:34 +00:00
Aaron J. Seigo
ee32d3c996 remove the use of 1209 explicitly now that i have Winter's Magic Formula for default debug space. makes backporting way easier; sorry for the noise of the earlier commit. suppose i should read planetkde.org more closely ;)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=758498
2008-01-08 01:25:09 +00:00
Aaron J. Seigo
12ef6308cb use the plasma debug area (1209); i considered wrapping this in Plasma::debug() but that seems overkill ;)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=758415
2008-01-07 20:50:31 +00:00
Chani Armitage
936078bbfb update the timestamp when data is cleared
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=755380
2008-01-01 12:18:26 +00:00
Chani Armitage
ca8f72c7bc fix timing bug (only the millisecond part of the timestamp was used)
now the update intervals will actually work.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=753663
2007-12-28 05:00:56 +00:00
Aaron J. Seigo
1dae9bba86 SVN_SILENT: misc ws fixes
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738072
2007-11-17 21:42:36 +00:00
Aaron J. Seigo
b9b99b4fd2 updated -> dataUpdated to make it really clear what's going on. there are too many update* methods, esp in applets where there is update() and updated()... a painful change, but it will only get worse if it happens any later.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=733314
2007-11-06 07:20:08 +00:00
Michael Olbrich
038de158d1 cleanups
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=713200
2007-09-16 16:25:59 +00:00
Aaron J. Seigo
e0f831373c SVN_SILENT: add "or later" clause. cleared with copyright holders, except for rich moore's ui loader which i need to ask him for permission for first.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=712549
2007-09-14 19:06:18 +00:00
Aaron J. Seigo
6ffbc459ad - when an intervalled visualization triggers an update, but the update is async, we queue up to trigger updated when the data _actually_ arrives.
- timestamp sources on update so we don't over update them due to multiple visualizations hammering on it. improves our tick situation even more.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=712188
2007-09-13 20:34:17 +00:00
Aaron J. Seigo
e15c950bc3 introduce interval alignment, so it is possible to align a time interval to the minute or hour (we can add arbitrary ones to the mix should we choose; e.g. "every 10 mins" or whatever..but there needs to be good use cases =)
this is needed by clocks, as the obvious example, since "once a minute" isn't enough: it needs to be once a minute *on* the minute

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=711737
2007-09-12 17:53:54 +00:00
Aaron J. Seigo
8415f49e55 - add connectVisualization so now the DataContainer manages all connect/disconnecting
- keep track of objects that are connected even at interval == 0
- remove disconnectNotify due to these changes
- allow multiple calls to connectVisualization to work properly without resulting in
  multiple connections to the same object and allowing the update interval to be
  adjusted for a given source/vis pair

this makes it pretty important to use connectVisualization and disconnectVisualization rather than QObject::connect and QObject::disconnect for the updated signal stuff

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=711717
2007-09-12 17:03:06 +00:00
Aaron J. Seigo
fc89eff135 first run at per-visualization timeouts, as per the design worked out on panel-devel.
i'm sure there are several bugs at this point (so don't try and use it quite yet ;) but most importantly:

- all methods are implemented
- it compiles ;)
- it does not have any negative impact on existing engines and applets as they currently are written

next will be to put it all through its paces, starting with the time engine and analog clock applet. i may not get to that until tomorrow, hoever.

this commit also fixed a number of buglettes along the way that had creeped in, e.g. not properly connecting all signals in connectAllSources (moved that ccode to the Private class to avoid code dupe and similar bugs in the future)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=710849
2007-09-11 00:49:51 +00:00
Michael Olbrich
56429d3adc check for unused DataContainers in a way that actually works.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=707450
2007-09-01 22:23:03 +00:00
Thiago Macieira
0ad0b8c21f You don't need QAtomic if you're not thread-safe
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=705296
2007-08-27 17:27:27 +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
26b3b62ed7 DataSource -> DataContainer, so it's more obvious that it isn't the -source- of the data.
the api remains the same however.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=691134
2007-07-23 00:22:16 +00:00