Aaron J. Seigo
65d405f264
more layouting love;
...
* widgets should let Widget handle sizing, geometry unless there are very good reasons for it
* don't relayout the parent layout if the parent layout is already relayouting, because that relayout will have called the child's relayout in the first place. get it? relayout!
* i can dance. we can dance. do the relayout dance.
* some style guide fixes
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738957
2007-11-20 01:19:59 +00:00
Aaron J. Seigo
396a48d6ce
don't implement your own min/max size like this
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738952
2007-11-20 01:00:06 +00:00
Aaron J. Seigo
e614df56d0
* consolidate geometry() and setGeometry() from the layouts into Layout
...
* 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
2007-11-19 23:45:56 +00:00
Alexis Ménard
ff0b3da511
Fix include for layout
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738921
2007-11-19 23:40:03 +00:00
Alexis Ménard
55d04002f7
Fix setSize now protected
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738909
2007-11-19 23:16:22 +00:00
Aaron J. Seigo
92ba2c1b0b
move all the layouts to their own directory; much more logical and makes it easier to not miss layouts that need changes
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738898
2007-11-19 22:42:56 +00:00
Aaron J. Seigo
26098964a9
some basic guards; much, much more to follow but first must move files around
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738887
2007-11-19 22:24:18 +00:00
Aaron J. Seigo
9b25961432
code defensively so that items can't be double added to layouts. i love the class design here that makes me duplicate code all over =(((
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738877
2007-11-19 22:04:30 +00:00
Aaron J. Seigo
364b0dca90
minor cleanups and better use of convenience api's
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738770
2007-11-19 16:37:46 +00:00
Aaron J. Seigo
6124183a72
move the blur.cpp into the #define as we don't even really use it right now
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738753
2007-11-19 15:40:55 +00:00
Dirk Mueller
7348a68f3c
these two are no longer implemented
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738682
2007-11-19 13:01:43 +00:00
Aaron J. Seigo
d4438218f4
don't manage our own size, use the facilities in Widget
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738576
2007-11-19 07:57:04 +00:00
Aaron J. Seigo
1a3aec4af2
add another setSize convenience method and use d->size more consistently internally for clarity
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738568
2007-11-19 07:53:48 +00:00
Aaron J. Seigo
78293fea45
always return something, well, even though we always would have. g++ isn't *that* smart ;)
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738560
2007-11-19 07:40:25 +00:00
Aaron J. Seigo
0006ce0ec4
introduce per-side margins to layouts. you can still just call setMargin(qreal) if you wish, but now this is much more useful for, say, panels.
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738526
2007-11-19 03:30:24 +00:00
Aaron J. Seigo
86d745a644
get rid of the crash for now
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738319
2007-11-18 16:24:38 +00:00
Aaron J. Seigo
1dae9bba86
SVN_SILENT: misc ws fixes
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738072
2007-11-17 21:42:36 +00:00
Aaron J. Seigo
2f5fa3f5fa
remove items that are removed from us from our layout, as well
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738068
2007-11-17 21:32:21 +00:00
Aaron J. Seigo
d9493e73ef
avoid unecessary updates, use d->size consistently so problem, if they arise, show up more consistently ;)
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738038
2007-11-17 19:01:02 +00:00
Aaron J. Seigo
e5dca92fdf
always use the parent's geometry when available and stop keeping track of our own geometry in FreeLayout
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=738036
2007-11-17 18:53:16 +00:00
Laurent Montel
287a5db49d
SVN_SILENT: not necessary to add endl;
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=737177
2007-11-15 18:46:43 +00:00
Andre Duffeck
eabba50aa2
this may result in an endless loop and is not necessary
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=737074
2007-11-15 12:54:37 +00:00
Andre Duffeck
3b6b25445d
Do not use space for text if there is none set
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=736901
2007-11-15 06:59:25 +00:00
Aaron J. Seigo
ce765ec610
better button mouse interaction; patch by Jason Stubbs
...
CCMAIL:jasonstubbs@gmail.com
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=736872
2007-11-15 03:35:12 +00:00
Andre Duffeck
0a24d0948f
we need to also update the parent layout if there is one
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=735993
2007-11-13 08:34:37 +00:00
Aaron J. Seigo
f242476e72
items were getting added to the same layout more than once. now that the desktop actually knows what its layout is, this screws things up pretty badly. so fix that.
...
however, the panel is now screwed and will be until i write a proper layout for it. be warned: i really don't want to hear about the panel until then.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=735280
2007-11-11 09:22:17 +00:00
Aaron J. Seigo
a61562ad95
don't change our state unless the mouse was release inside of the widget
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=735135
2007-11-10 23:58:17 +00:00
Aaron J. Seigo
b0ddc4362d
KRUSH: we actually want to set the parent's layout in the Layout ctor, not the BoxLayout. handing out books on OOD seems like a good idea at this point.
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=735120
2007-11-10 23:16:32 +00:00
Aaron J. Seigo
4bff9b6912
KRUSH: free layout needs a proper sizeHint
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=735119
2007-11-10 23:13:42 +00:00
Alexis Ménard
6553519076
fix comment
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=734976
2007-11-10 16:06:22 +00:00
Alexis Ménard
1294c4e8a4
Add method to set where we want to put the icon.Usefull for applet
...
Lock/Logout
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=734943
2007-11-10 15:16:33 +00:00
Alexis Ménard
ae2d05c3c3
add updadeGeometry for methods that need to update the geometry of the
...
widget
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=734745
2007-11-09 19:28:28 +00:00
Jon de Andres Frias
65dadf4f3f
Add 'or later' to the license for the progressbar widget in plasmalibs.
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=734236
2007-11-08 09:52:18 +00:00
Aaron J. Seigo
b9b99b4fd2
updated -> dataUpdated to make it really clear what's going on. there are too many update* methods, esp in applets where there is update() and updated()... a painful change, but it will only get worse if it happens any later.
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=733314
2007-11-06 07:20:08 +00:00
Leo Franchi
d83f52e2db
add support for fixed-size columns. default behavious remains to average item widths.
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=733293
2007-11-06 02:46:01 +00:00
Javier Goday
4ed028322c
Change in the progressbar widget, only paint the exposed area
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=732765
2007-11-04 18:20:56 +00:00
Aaron J. Seigo
bba7a3d39c
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
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=732530
2007-11-04 05:36:39 +00:00
Aaron J. Seigo
0e7580b89a
make this ctor like the rest of the widgets
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=732529
2007-11-04 05:36:10 +00:00
Aaron J. Seigo
ccd0753a96
* fix heightForWidth
...
* provide a maximum width setting
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=732528
2007-11-04 05:34:10 +00:00
Aaron J. Seigo
ffcf6bc16b
let's not hold on to our own parent pointer; just too easy to have it fall out of date.
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=731160
2007-10-30 21:00:01 +00:00
Aaron J. Seigo
fab534cf22
only click on left click
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=731159
2007-10-30 20:59:12 +00:00
Aaron J. Seigo
c10ddbe353
the item is already children of us at this point, just make sure to not double add it.
...
i tried to find a way to reliably react to child add events instead of having to call our own method for this, but due to construction order and how itemChanged events are handled, i couldn't find such a thing. =/
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=731137
2007-10-30 20:25:12 +00:00
Aaron J. Seigo
5b10495cf4
get rid of reparent() as that is completely superceded by addChild, and catch when children items no longer belong to us.
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=730877
2007-10-29 23:10:45 +00:00
Laurent Montel
36877e4e94
Fix mem leak
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=729963
2007-10-27 14:27:25 +00:00
Aaron J. Seigo
260a040477
* avoid a couple unecessary vars/method calls
...
* don't try and paint on a null pixmap
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=729679
2007-10-26 16:35:58 +00:00
Aaron J. Seigo
96accbd236
now that it works properly, we probably don't need to be told about it all the time ;)
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=729455
2007-10-26 02:31:44 +00:00
Aaron J. Seigo
49914e5a49
a rather horrific hack, passing the mouse event around, but it's the only way i can find to *reliably* get the event passed around which we must have to locate where on screen to pop things up at
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=729453
2007-10-26 02:15:04 +00:00
Aaron J. Seigo
576798dd52
set panels properly in setScreen. this will need to be augmented with screen edge stuff eventually as well, but for now this might work better on multiple screens.
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=729421
2007-10-25 23:09:02 +00:00
Aaron J. Seigo
49874ae140
temporary fix for the beta: don't make items unmovable when added to a layout as that is screwing with MouseReleaseEvents. this means panels items are, once again, freely draggable (which is wrong) but on the upside you can open the menu again
...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=729202
2007-10-25 09:12:15 +00:00
Aaron J. Seigo
b448d9bb90
when an item is added to the layout, give it a chance to react. in the case of Widget, we're going to set the movable state of the QGraphicsItem. the result: items move, or don't, based on whether or not they are in a layout. finally, you can't just move shit around in the panel.
...
it's pretty hackish since we have to special case FreeLayout but hey, since when were layouts in plasma ever sane?
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=728764
2007-10-24 06:54:26 +00:00