Commit Graph

194 Commits

Author SHA1 Message Date
Dan Meltzer
7f624f85d9 Revert one large git mess
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=780657
2008-02-29 17:50:57 +00:00
Dan Meltzer
64f0ce7739 Fix some problems aseigo pointed out in the code.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=780655
2008-02-29 17:43:35 +00:00
Dan Meltzer
a081559257 Commit initial progress of work to port to qt4.4
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=780654
2008-02-29 17:43:31 +00:00
Aaron J. Seigo
427c61de9b * check the write attribute in the service for the Package type
* set the path of the loaded PackageStructure
* more verbose failure messages

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=780461
2008-02-29 08:11:45 +00:00
Aaron J. Seigo
bed3c1d927 * share the package structures by using a single shared ptr
* use the script's contentSizeHint if we are a script

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=779417
2008-02-26 04:08:51 +00:00
Aaron J. Seigo
2f78de3142 * make it possible for applets to define what package structure they use
* update to api tweakages

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=779404
2008-02-26 01:48:52 +00:00
Aaron J. Seigo
2b68bb49ee This lets the View have a desktop set to it and when drawing a Containment we pass in the effective desktop # being currently painted. The Containment is free to ignore this information, or it can try and cast the passed in options to a Containment::StyleOption to retrieve this information. This should be used for any per-desktop painting that happens (e.g. separate background per desktop) and opens the way to having View-per-Desktop for better composite manager support (think: desktop grid or cube where more than one desktop is simultaneously visible)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=778239
2008-02-22 23:41:44 +00:00
Marco Martin
b1a362b67f transplant of sceneEventFilter and mouseMoveEvent from the icon applet to the applet class, this will cause a lot less duplication.
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
2008-02-21 10:26:40 +00:00
Aaron J. Seigo
2aa51ef338 well that was an easy fix: make scripts work in apps !plasma, e.g. plasmoidviewer
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=776978
2008-02-19 08:31:49 +00:00
Aaron J. Seigo
777b8083f8 * moves the idea of margins up to LayoutItem, allowing any LayoutItem to have a margin
* moves the idea of the size of the item up to LayoutItem, as both Widget and Layout implemented it separately
* provides a way in LayoutItem to adjust a rect within an item to its margins (that is what LayoutItem::topLeft() is there for)
* fix several bugs, both painting and sizing, in LineEdit
* Applet sets margins now based on the existence of setDrawBackground


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=776380
2008-02-17 23:02:46 +00:00
Aaron J. Seigo
cf89bd58d1 make it possible to get at the package structures using Theme::packageStructure() and Applet::packageStructure() without having to export the package definitions from the library itself.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=775272
2008-02-15 10:35:00 +00:00
Aaron J. Seigo
1f5e98edec * allow restoring from applet itself (something i've wanted to to do for a while, have it all in corona isn't a good idea)
* 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
2008-02-13 01:52:02 +00:00
Andre Duffeck
70b12916b2 react to changes of Plasma::Theme
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=773942
2008-02-12 07:33:07 +00:00
Aaron J. Seigo
a438b53373 die, setSize, die, and all the problems you represent. silly duplicated, not-like-qwidget API anyways. ;)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=773505
2008-02-11 08:24:09 +00:00
Aaron J. Seigo
e83f329de0 the proper fix for stupid compilers *sigh* setSize(int, int) isn't virtual in Widget, but that doesn't matter in this case at all.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=773493
2008-02-11 07:56:53 +00:00
Aaron J. Seigo
eed0410c56 * make setSize virtual as well since it sets d->size internally, so Applet needs to intercept that call
* remove some dead code in widgets.cpp

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=773475
2008-02-11 06:11:13 +00:00
Chani Armitage
75c4518154 SVN_SILENT:
less noise.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=772576
2008-02-09 03:41:57 +00:00
Chani Armitage
613d5ef850 it's not safe to delete the layout directly
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=771845
2008-02-07 01:58:48 +00:00
Aaron J. Seigo
7f3aea19ff move MarginEdge to the Plasma namespace to avoid coupling to the layout stuff in innapropriate places
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=771704
2008-02-06 19:12:21 +00:00
Aaron J. Seigo
070781d480 build svpanel into the lib, make applet use it
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=771693
2008-02-06 18:50:25 +00:00
Aaron J. Seigo
92304b6d2c * fix contentSizeHint for square applets when the maximum size is smaller than the resulting size of the widget (resulting in non-square applets)
* move the (broken) size constraining commit to flushUpdatedConstraints, not why it is broken and add a comment into constraintsUpdated() noting why code should never be added to that method directly (and what to do instead)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=770949
2008-02-04 20:09:45 +00:00
Marco Martin
dfb3854a10 Sets on Applet::constraintsUpdated() the maximum content width for horizontal panels and the maximum content height for vertical panels as IconSize(KIconLoader::Panel)
this makes vertical larger panels actually usable. 

Some notes:
-it works only for applets that aren't forced to square 
-in horizontal panels only for applets that don't have expandingDirections()=Qt::Horizontal  
-in vertical panels only for applets that don't have expandingDirections()=Qt::Vertical

On other news the kickoff applets are modified to use this new feature

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=770423
2008-02-03 18:21:01 +00:00
Riccardo Iaconelli
c99bda9dde Remove useless variable
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=766292
2008-01-25 14:53:12 +00:00
Aaron J. Seigo
67aae7bf6e don't produce errors if our content is empty
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=766098
2008-01-25 08:31:32 +00:00
Aaron J. Seigo
f2674c9a51 * setRemainSquare(bool) to allow applets to say "yes, keep my width == height, thank you"
* use AppletScript

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=765975
2008-01-25 00:08:25 +00:00
Aaron J. Seigo
467eadedda api fixes
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=762849
2008-01-18 00:09:33 +00:00
Aaron J. Seigo
16dab9574f * move the header bits around a bit for a more logical ordering (e.g. all static methods together, all reimp'd methods that are really imp details together at the bottom, etc)
* 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
2008-01-12 06:02:29 +00:00
Aaron J. Seigo
f02a65c95e make globalConfig() work properly even for containments
BUG:155454

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=760003
2008-01-11 18:21:53 +00:00
Aaron J. Seigo
311f2380ce per applet aspect ratio guidance with setAspectRatioMode
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=759497
2008-01-10 19:02:05 +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
Aaron J. Seigo
32c6c94c76 some kiosk/immutability logic fixes
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=758174
2008-01-07 04:00:39 +00:00
Laurent Montel
ed93750db3 Make text selectable just by mouse (Qt::TextSelectableByMouse) in
fealure applet text (otherwise we was able to change text...)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=757582
2008-01-05 13:00:10 +00:00
Aaron J. Seigo
11d08f34b3 default implementation for saveState so that saving to random files works even if nobody implements saveState
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=755693
2008-01-02 02:05:47 +00:00
Jason Stubbs
c3c755f68b Setting the minimum size based on the border size is no good because the
borders can later be removed without the minimum size being updated causing a
minimum size that's way too big

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=752322
2007-12-24 07:10:56 +00:00
Jason Stubbs
5e465d9f89 Give applets a default minimum content size of 16x16. This shouldn't be too
big for the panel and can still be overridden by applets.

BUG: 154565

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=752292
2007-12-24 03:53:17 +00:00
Jason Stubbs
55437fafb6 Notify applets when their LocationConstraint has changed. Also, don't bother
emitting geometryChanged() and doing an update() if the geometry hasn't
actually changed.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=751543
2007-12-22 07:35:42 +00:00
Riccardo Iaconelli
e4665a938a Implement Applet::shouldConserveResources(), a method to help plasmoid developers to know whether they should conserve resources.
Peer reviewed by Chani and Richmoore.

CCMAIL:aseigo@kde.org

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=751216
2007-12-21 12:27:29 +00:00
Aaron J. Seigo
f0637a2e9a restore the painter
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=750290
2007-12-19 02:52:41 +00:00
Aaron J. Seigo
65af194560 convenience methods for content size access
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=750257
2007-12-19 00:45:29 +00:00
Tobias Koenig
92e6a35a80 Reset the d->failureText to 0 at that point, as the qDeleteAll below
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
2007-12-17 17:21:34 +00:00
Jason Stubbs
1dc5cc58fc Move the "call the parent's contextMenuEvent()" hack from Applet into
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
2007-12-16 13:21:16 +00:00
Aaron J. Seigo
706585b270 avoid negative sizes in absurd situations
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=746404
2007-12-08 21:40:59 +00:00
Sebastian Trueg
2a34006fcd Do not crash if the scene is not a Corona.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=746210
2007-12-08 09:16:06 +00:00
Aaron J. Seigo
059505f639 save/restore lock status
CCMAIL:tokoe@kde.org

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=745809
2007-12-07 05:02:54 +00:00
Aaron J. Seigo
5c257fce5a * update constraints on immutability changes
* introduce QRectF contentRect() const method so applets can easily get the content rect

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=745244
2007-12-05 20:24:40 +00:00
Aaron J. Seigo
e2249860fd differentiate between runtime and kiosk immutability
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=744675
2007-12-04 04:15:21 +00:00
Aaron Eisenberg
f7a0308982 Added the ability to lock desktop widgets and assigned icons to all the desktop context menu actions.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=744659
2007-12-04 02:17:21 +00:00
Jason Stubbs
4627a3770c Call the immediate parent's version rather than skipping to QGraphicsItem's
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=743925
2007-12-02 11:30:48 +00:00
Aaron J. Seigo
5b65d5c54c * load packages properly
* 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
2007-11-29 20:38:13 +00:00