if you want to make a widget draggable around just call the new function
void watchForMouseMove(QGraphicsItem * watched, bool watch)
also, some style fixes.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=777705
* restore lock status
* save/restore zorder
* allow "raising" and applet (increase zorder above all others)
* some layout fixes for next monday's big layout fix patch
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=774337
* implement a generic shape() method. this is experimental, so will be interesting to see how it goes. it does show we need a good shape hint in the applet background svg =)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=760187
Widget so that applets with embedded widgets also get the containment's
context menu.
BUG: 152698
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=749078
* introduce QRectF contentRect() const method so applets can easily get the content rect
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=745244
* handle scriptegines properly
* add a setContentSize so applets can use that and not get screwed by the borders
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=743089
* we have to be able to reset it when, e.g. removing the applet or moving it to another, so introduce resetConfigurationObject for internal use
* make it possible to get the containment for an applet by outsiders (e.g. other containments)
* don't access the config object until after we've been assigned to a scene
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=742098
it all happens from one file now using nested groups. this has two major effects:
- one file to rule them all for any given corona; this makes things even nicer for use in other apps, btw.
- the ability to easily save, send/share and restore corona configuration layouts; something i've wanted from the start
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=741158
* don't paint the interface of containments being shown on views that don't want a background
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=737026
- showConfigurationInterface needs to be (as the API documentation points
out correctly) a slot, otherwise it won't work. So put it into the slots
section.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=727149
- as Containment is going to remain an Applet, we can put the context menu hack in Applet instead which is nicer on the widgets anyways. also make it a bit less of a hack...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=717489
- fix some apidox
- add a method for state saving, but for the main applet class info as well as subclasses (plasmoids, e.g.)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=714174
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
* 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
* introduce Applet::destroy which will perform cleanups, like deleting
config files, etc..
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696586
prefix or suffix constraintsUpdated, e.g. manage the shadow
* add experimental support for dynamic shadow, based on a patch by
zrusin; still issues to be addressed but it gives us the start of a
layer-based means to do effects
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=696561
Aaron: your turn now to discover the 'Mimetypes' key problem.
CCMAIL: aseigo@kde.org
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=694676
* on the base implementation of contentSize, check to see if we have a layout and if so use that to determine the size we ought to be
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=693769
Instead of implementing boundingRect(), applets should now implement
contentSize(), to tell Plasma::Applet how much space they need.
I wrote a long commit log, then realised it belonged in the apidocs.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692519
* introduce contentsRect() and pass that into paintInterface instead of a widget
i missed monday so much i wanted to break SOMETHING, so i broke all the plasma widgets. i rock! ;P
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692002
* globalAppletConfig -> globalConfig
* add a convenience and safety method for accessing groups in the applet config, which namespaces the groups appropriately
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=687046
* add a setFailedToLaunch method to applet to allow a generic way to set such status
it's pretty fugly looking at this point, but it works; i'll work with the artists to make it prettier later.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=687027
to change at some point - a definitive list on techbase will probably
be assembled.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=686945
(loadDataEngine will always return a data engine - it just
might not be valid).
I changed it this way, rather than changing the test to
engine->isValid(), since all the plasmoids written so far
blindly assume a valid pointer is returned. (In fact, they
all blindly assume the correct data engine is returned, but
at least this way they shouldn't crash plasma :-P)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=686301
the "brief description" from the "main description",
"Reimplemented from QGraphicsView" should be a comment, not
an APIDOX (so Doxygen will copy the original APIDOX down),
added docs for the export macro.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=684556
more explicit as to what it does and falls in line with
setHasConfigurationInterface
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=682296
- add setDrawStandardBackground(bool) to get our common background
- make paint private and introduce paintInterface (with the same params) instead
this should make standardizing looks a bit easier and give us a way to paint the on-hover applet interface. we may need to do the same with boundingRect?
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=679036
i introduced a new enum in the Plasma namespace, ItemType, so we can keep track of these id's centrally.
however, the right click mechanism is rather broken in its implementation; we need a way to offer a centralized menu on appets no metter where they are clicked.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=678562
* create button applets not icon widgets on drop
honestly, not sure i like the qstringlist of argument approach, but that's what klibloader gives me
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=677941
however, making them items makes it possible to drag children outside of their parents (c.f. the button applet) which causes another set of problems. i'll look into this tomorrow though. it's 01:00 and i was trying not to work on kde tonight.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=677904
#include <plasma/foo.h>
in headers in libplasma. this is important so that they can be used post-install by third party plugins, apps, etc.
also, changed Applet::loadDataEngine to just Applet::dataEngine and make it actually return the data engine; move the applets to using it. safer and fewer LoC
svn path=/trunk/KDE/kdebase/workspace/lib/plasma/; revision=670850
Also cleaned out a bit the code, and improved the painting algorithm. Removed the harcoded values for adjusting the hands, now they're calculated runtime. Still have to make it more flexible, permitting to the artist to specify his center for the hand.
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=668557
* make the library names appear in descending order of specificity (plasma_kind_instance)
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=668019
Thanks a lot to millams for helping with the porting.
Enjoy the clock! Configurability is coming!
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=667677
* 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
app and applets ... doesn't compile atm as it's a work in progress off
the design concepts. but dinner becons and i don't want to lose progress
in case my laptop degrades further.
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=529282