will first delete the d->failureText object and than trigger a relayout
which will access the invalid d->failureText in Applet::contentSize().
=> No crash anymore
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=749708
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
* introduce relayout() which does only that
* place guards around relayout() calls in Layout class to prevent recursion
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738923
* clean up some dead code
* try and get rid of a few of the jaggies that happen when rotating
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738594
* 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
* auto handle the whole draw standard background thing. it now does the right thing for panels, containments and applets for 99% of the cases
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=733970
* invalidate the managing layout on geometry changes, which is what i expected it to do in the first place. calling setGeometry and then updateGeometry is just damaged
CCMAIL:raabe@kde.org
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=732526
* only adjust the size of the containment to the screen size if it is a DesktopContainMent
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=724225
- 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
* turn off clipping to shape for Applet as that breaks background painting in cute and wonderful ways
* remove some dead code
* use setFlag instead of setFlags everywhere
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=694556
* add in a completely untested-but-should-work ;) implementation of config ui loading; requires a package with config/ui/main.ui and config/xml/main.xml in it. should shave 7LOC off of the clock's Script.js, which is ~10% of the code line count!
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=694399
Color the shadows instead of a roundrect when zoomed out.
Actually paint the applet when zoomed out.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=693787
* 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