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
- 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
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
it invalidate-like behavior, and remove invalidate(). Revert last change
to analogclock, cached behavior is now enabled for all applets. If you
want to disable caching, call setCachePaintMode(NoCacheMode) from your
applet's constructor.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=710764
QGraphicsItem::CacheMode, which will appear in 4.4. I've chosen names
that aren't really good, but they're not misleading, and they don't
clash with the API in 4.4.
My first KDE submit :-DDD.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=710738
it not currently compiled, and does not yet support loading of full
forms. Note that this shows up that the APIs defined by the widgets
are still woefully inconsistent.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=708875
comments below.
* New Flow Layout. This provides simple icon view-esque layout of items.
Useful for icons for documents , applications or other tasks on the desktop
for example. Supports non-equally sized items.
Works well when used with the LayoutAnimator class to animate insertions
and removals.
* Re-wrote BoxLayout and removed old HBoxLayout,VBoxLayout classes which had
a lot of code duplication. BoxLayout class now takes a direction argument
in the constructor, ala. QBoxLayout. New BoxLayout class actually takes
minimumSize() , maximumSize() of items into account. The Qt layout code
for box and grid layouts is surprisingly sophisticated, so the results
from BoxLayout probably will not be as good in certain situations but
it should do for the panel. New BoxLayout also has support for LayoutAnimator
* Fix Plasma::HBoxLayout and Plasma::VBoxLayout to use margin()
rather than spacing() for the distance from the top and left
margins respectively.
* Fix Plasma::Applet::contentSize() to return the actual content size
rather than a size hint. Added a new method contentSizeHint() which
applets use to provide a hint about suitable content size.
Existing implementations of contentSize() in applets need to be renamed
to contentSizeHint(). The arguments and return type are the same as before.
* Install the LayoutAnimator header so that applets can use it
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=707275