* 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
we need a separate private contentSize() for Applet because we need to be able to override what the subclass might be trying to accomplish. since the method is virtual, i had to put it in the dptr and call Applet::contentSize from there on successfully passing various tests such as "is this a script?" and "has this applet been marked as failed?". stupid polymorphism.
end result is that now an applet can, as expected, call setFailedToLaunch(true) and the applet gets the right size, no matter when or where it was called from.
huzzah.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=692630
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
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
* make the library names appear in descending order of specificity (plasma_kind_instance)
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=668019
not much to see yet, but people are looking at this and understandably
scratching their head since it's not obvious that a lot of this was
sketching versus implementing... well, that's starting to change.
svn path=/trunk/KDE/kdebase/workspace/plasma/lib/; revision=576845
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