Commit Graph

637 Commits

Author SHA1 Message Date
Marco Martin
3f937278e1 Fix IconAction animation
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=775286
2008-02-15 11:39:10 +00:00
Andreas Aardal Hanssen
7516d7ea30 Introduce QGraphicsItem::CacheMode in place of Widget::CachePaintMode.
This move was planned from the beginning; Widget::CachePaintMode was a
backport of the same feature in Qt 4.4. OK'ed by aseigo after post on
panel-devel. I've left CachePaintMode in there (it simply redirects to
CacheMode); I don't know if it's OK to remove these APIs or not (and
it's not monday anyway).

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=775198
2008-02-15 06:51:37 +00:00
Aaron J. Seigo
d03a381595 various geometry fixes (though somewhat depends on monday's big layout fix commit)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=774336
2008-02-13 01:48:18 +00:00
Aaron J. Seigo
e27b0ca4d0 ok, second try based on tzander's response. i think this should work better and be a nice come back from lunch toy for him to play/test with.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=773999
2008-02-12 10:07:45 +00:00
Aaron J. Seigo
5b394a752f make popup location calcs xinerama aware. i bet this even closes some BRs. i'm too tired to look for them though. =P
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=773980
2008-02-12 09:41:49 +00:00
Andre Duffeck
c42f0593ba Fix broken usage of Plasma::Phase
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=773933
2008-02-12 05:52:49 +00:00
Aaron J. Seigo
22c8b77b34 this is not a Plasma::Widget. now styling is back. looks as nasty as ever, though.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=773813
2008-02-11 20:50:13 +00:00
Aaron J. Seigo
c7fe098480 avoid flicker
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=773744
2008-02-11 17:35:21 +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
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
1c4bdb9408 don't set d->size directly; this fixes the weird issues with setting minimum size before contentsize and makes sure the svg is updated
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=773472
2008-02-11 05:53:19 +00:00
Marco Martin
2f6a8de658 recalculate all the margin sizes when the plasma theme changes
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=772465
2008-02-08 20:50:55 +00:00
Marco Martin
253f892b99 Now tooltips are svg-themed, the svg background for tooltips can be found on desktoptheme/widgets/tooltip.svg and when compositing is disabled desktoptheme/opaque/widgets/tooltip.svg is used
at the moment the svgs are the usual ones from the applet

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=772132
2008-02-07 21:24:20 +00:00
Aaron J. Seigo
462c52af51 be a little more paranoid about setting the info.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=771449
2008-02-06 01:25:59 +00:00
Aaron J. Seigo
476eb885cb return on emptying the tooltip
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=771375
2008-02-05 20:10:53 +00:00
Aaron J. Seigo
c7779d983e helps to make it an actual slot, no?
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=771348
2008-02-05 19:17:50 +00:00
Aaron J. Seigo
9aa26c5e35 * set the palette on theme changes only
* don't grab the data until actually shown
* show the right size and position when we are showing the tip
* allow the tooltip to figure out it's size with the help of the widget (it knows when to do this, the widget only knows how)
* don't show the tip on every item's mouse over, respect the small timeout
* only create a ToolTipData struct for those items that actually use it (memory savings as well as makes the check for showing the tip a lot simpler)


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=771314
2008-02-05 18:26:17 +00:00
Sebastian Kügler
886eb24647 Ooops. Didn't mean to sneak this in.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=771018
2008-02-05 00:13:37 +00:00
Sebastian Kügler
576a655b05 Tooltip uses Plasma:Theme now ... and turns black here.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=771014
2008-02-05 00:01:15 +00:00
Aaron J. Seigo
abd8d94daa while getting the size wrong is bad, flickering like crazy is even worse =)
resize after the contents have been set to get a rational size out of the widget.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=770966
2008-02-04 20:59:39 +00:00
Riccardo Iaconelli
2434a31f69 Reset tooltip's size when changing text.
BUG: 157059

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=770405
2008-02-03 16:57:00 +00:00
Riccardo Iaconelli
08771bb763 Align to grid, and slightly smaller frame
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=770404
2008-02-03 16:56:53 +00:00
Bill Egert
29215641ef Reveiwed from http://matt.rogers.name/r/42/
Set windowSize only from readWindowSize()  
It looks like that function has some logic to determine what windowSize should really be.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=770330
2008-02-03 13:06:34 +00:00
Marco Martin
fb5ad56937 some tweaks in popupPosition()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=766629
2008-01-26 12:37:17 +00:00
Aaron J. Seigo
74a5773d79 use the Theme::*Color methods. another place we really need Plasma::ThemeColor, apparently.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=766075
2008-01-25 07:36:33 +00:00
Marco Martin
b39fa0c7db white semitransparent border of icon background for better contrast
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=765805
2008-01-24 18:35:22 +00:00
Marco Martin
92ecb186df in popupPosition() calculating if we are out of screen with the actual screen size instead of graphicsview size
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=765724
2008-01-24 15:44:11 +00:00
Aaron J. Seigo
11f9ad3064 BINARY INCOMPATIBLE CHANGE
make it possible to use the context menu event hack with non-Plasma::Widgets.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=765005
2008-01-22 23:39:15 +00:00
Aaron J. Seigo
76747db2d9 --compiler.warningsCount();
--compiler.warningsCount();

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=765001
2008-01-22 23:31:57 +00:00
Marco Martin
e8b62a6ceb move popupleft when there is not enough room (it looks like the windowmanager doesn't always do it automatically)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=764755
2008-01-22 14:06:37 +00:00
Aaron J. Seigo
08812eeb00 setFont is not on the agenda; Plasma::Theme is there for that now
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=764402
2008-01-21 17:35:01 +00:00
Marco Martin
6d362861e0 SVN_SILENT: micro cosmetic style fix
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=764302
2008-01-21 11:51:04 +00:00
Marco Martin
ee37d19811 better positioning of tooltips in case of panels not in bottom position and a new function in widget called popupPosition(const QSize s) this will be used every time a tooltip or popup menu has to be positioned
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=764299
2008-01-21 11:42:08 +00:00
Marco Martin
d3b203777c use a text color from plasma color scheme when the lineedit is not styled
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=764029
2008-01-20 20:59:34 +00:00
Marco Martin
4b8a510837 -less magic numbers on calculation of the position of IconAction
-don't paint IconAction when the icon is too tiny and there is not enough room

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=764014
2008-01-20 20:07:22 +00:00
Shane King
2d697cbfa9 Plasma compile fixes for non-X11 platforms. Not sure if the X11 stuff even needs an implementation on other platforms or whether this is sufficient.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=763632
2008-01-19 23:30:14 +00:00
Volker Krause
6f89539ced compile with -pedantic
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=762324
2008-01-16 20:21:47 +00:00
Marco Martin
9cc8eabf9b SVN_SILENT: don't pass click also on action icons when the mouse was moved
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=761954
2008-01-15 18:56:23 +00:00
Marco Martin
67844a4190 SVN_SILENT: don't pass click on main icon when clicking on an action icon
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=761952
2008-01-15 18:51:43 +00:00
Aaron J. Seigo
6329570f8f icons moving doesn't trigger a click action
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=760630
2008-01-13 05:33:05 +00:00
Jason Stubbs
c4399a67cb Have the icon applet explicitly tell the icon widget that a clicked() signal
isn't wanted after a mouse move rather than the widget assuming so. This means
that icon applets that can't be dragged act like regular buttons again.

Ok to commit this to 4.0 as well?

BUG: 155531

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=760441
2008-01-12 17:07:19 +00:00
Aaron J. Seigo
8801af70e5 in case a tooltip becomes permanent, allow clicking it away
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=760180
2008-01-12 05:32:07 +00:00
Marco Martin
834ce37f54 implement activated() slot for Plasma::Icon
and use it in IconApplet

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=760054
2008-01-11 20:30:25 +00:00
Aaron J. Seigo
3d6c1c5527 give some shape to the icon
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=760002
2008-01-11 18:17:24 +00:00
Christopher Blauvelt
f46a6a269c Use mouseDoubleClickEvent instead of a custom implementation.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=759629
2008-01-10 23:29:05 +00:00
Aurélien Gâteau
0d4a6be225 Nicer tooltips:
- No more big font
- Use full width for text label
- Removed gap between main and sub texts

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=759530
2008-01-10 20:25:37 +00:00
Aaron J. Seigo
d2a5c1a7af implement a doubleClicked signal.
i must admit that using signals that don't exist to implement needed features in applets is an inventive way to force me to implement stuff in libplasma ;)
BUG:155413

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=759525
2008-01-10 20:18:11 +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
Ryan P. Bitanga
6e46fe97ff Use colors from palette instead of hard coded Qt::Black, keep mask functionality in resizeEvent()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=758301
2008-01-07 15:03:14 +00:00
Ryan P. Bitanga
9bace0db16 Fix style
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=758298
2008-01-07 14:58:50 +00:00
Aaron J. Seigo
483851b361 trigger a re-calc of the icon size when text is set. fixes icon presentation on reload at startup
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=758190
2008-01-07 05:09:09 +00:00
Aaron J. Seigo
7b5c62982d commit ryan's black border on tooltip patch so i can merge to the branch soon
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=758187
2008-01-07 04:41:30 +00:00
Aaron J. Seigo
402cfc7d26 self(), not instance(), in line with all other singletons in plasma
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=758186
2008-01-07 04:39:36 +00:00
Percy Leonhardt
84f2fad73e The signalplotter needs to know when it is resized. Otherwise the plots are too short for the current width.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=757903
2008-01-06 12:49:32 +00:00
Marco Martin
454d824d4f removing sizeHint() since it's identical to Widget::sizeHint()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=757897
2008-01-06 11:41:15 +00:00
Aaron J. Seigo
c00b3a9b4a * drop the "to be hidden timer"
* don't immediately reset isShown, that's why we have the timer in the first place (really, it just looks like left-over code from before the hide timer)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=757828
2008-01-06 00:50:56 +00:00
Aaron J. Seigo
658f0c4bb3 * 150ms delay for already shown tooltips, just as we did with kicker, to prevent overwhelming lower end cpus (or network connections, for that matter)
* 500ms delay for new tooltips up from 300ms which worked rather nicely in kicker as well

(trying to learn from kicker, not forget it ;)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=757827
2008-01-06 00:43:49 +00:00
Riccardo Iaconelli
5ad643f313 Show tooltip after a shorter delay, for discoverability issues.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=757769
2008-01-05 21:16:30 +00:00
Marco Martin
eff9536215 Make icon applets to work in panel:
sizehint of icon widget returns size() instead of the stored one to preventing returning (-1,-1) for the first time
and initialize a size in the icon applet

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=757756
2008-01-05 20:25:18 +00:00
Aaron J. Seigo
f07d73ff53 allow setting the background of icon on/off ... a little sad about this, but no time to do something else atm
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=756868
2008-01-03 21:22:24 +00:00
Christopher Blauvelt
ac040130bf Enable dragging of icons by clicking in the middle of the IconApplet.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=756862
2008-01-03 21:10:07 +00:00
Aaron J. Seigo
dc4981ec41 include a slight mod of ryan's curved corner patch; committing directly to ensure we make the deadline
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=756856
2008-01-03 21:02:32 +00:00
Marco Martin
9a0dcafb8d Substitutes the background svg with a Plasma::roundedRectangle()
this makes the radius of the rounded borders of the background of the icon to look right

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=756763
2008-01-03 18:38:11 +00:00
Aaron J. Seigo
9aaedf4ddc SVN_SILENT: fix the style.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=756757
2008-01-03 18:20:35 +00:00
Luboš Luňák
1ce57b1d7b Fix last commit.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=756632
2008-01-03 13:59:03 +00:00
Luboš Luňák
89ab030a89 Use KWin's TaskbarThumbnail effect to show window previews in tooltips.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=756513
2008-01-03 11:35:42 +00:00
Marco Martin
bef6adb720 added
bool invertedLayout() const;
returns if the layout of the icons should appear inverted or not

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=755891
2008-01-02 10:39:29 +00:00
Marco Martin
b6030dd8b3 added the method
void invertLayout(bool invert);
inverts the layout of the icons if the orientation is horizontal,
normally we get icon on the left with left-to-right languages,
this inverts the behaviour

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=755564
2008-01-01 21:00:37 +00:00
Marco Martin
1ca970c48e added the method
void invertLayout(bool invert);
it inverts the layout of the icons if the orientation is horizontal,
normally we get icon on the left with left-to-right languages,
this inverts the behaviour

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=755562
2008-01-01 20:58:36 +00:00
Aaron J. Seigo
d5c9ab0cf6 style fix and remove the extra assignment.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=755558
2008-01-01 20:53:46 +00:00
Aaron J. Seigo
627cb88ccf all members belong in the dptr.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=755512
2008-01-01 19:21:33 +00:00
Jason Stubbs
7a202c3382 Holding on to the return value of view() as it's a heavy function call. Hiding
the widget's tooltip when the widget is deleted. Fixed coding style.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=754986
2007-12-31 01:45:48 +00:00
Richard J. Moore
48a812947b - Better safe than sorry
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=754964
2007-12-31 00:38:04 +00:00
Richard J. Moore
eb86939c77 - Ensure we don't popup a tooltip when a context menu or other mouse
grabbing activity is occuring as we can obscure it.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=754931
2007-12-30 23:48:25 +00:00
Marco Martin
a87dcb6b19 draws iconSvg correctly
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=754836
2007-12-30 21:00:38 +00:00
Jason Stubbs
b907728254 If a widget doesn't have a size yet, it's bounding rect won't intersect
anything, so also check if its position lies within a view's scene rect.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=754627
2007-12-30 11:44:25 +00:00
Jason Stubbs
c268168eab Overrode sceneEvent() rather than hover(Enter|Leave)Event so that subclasses
that use those events (such as Icon) can still have tooltips. Also behaviour
on mouse move, mouse click and mouse wheel events is also managed.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=754605
2007-12-30 10:45:21 +00:00
Jason Stubbs
f3e52b76cb Record which tooltip is being shown so that tooltip data updates don't change
which to another widget's tooltip.

BUG: 154719

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=754590
2007-12-30 10:17:33 +00:00
Marco Martin
87429288bc removing Icon::setAlignment again
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=754369
2007-12-29 17:09:06 +00:00
Marco Martin
296069a3c1 fixed a typo
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=753790
2007-12-28 14:18:52 +00:00
Marco Martin
3893a56543 bring back a dummy setAlignment, otherwise it breaks too many things
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=753789
2007-12-28 14:16:59 +00:00
Marco Martin
1743b3d9ef support for text beside icons depending of the layout direction, can be set with
void setOrientation(Qt::Orientation orientation);

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=753744
2007-12-28 11:29:56 +00:00
Christopher Blauvelt
06295ace02 Piggyback on mart's patch. Add the ability to set the number of lines in the display, fixes
Icon::Private::elidedText so the display won't be truncated to one line if the whole text doesn't 
fit, and fixes some crashes.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=753049
2007-12-26 13:44:57 +00:00
Marco Martin
27ce118c91 removed the following methods:
calculateSize()
Private::displaySizeHint(const QStyleOptionGraphicsItem *option)
setIconSize(QSizeF)

added layoutIcons(), similar to calculateSize() but it resizes the icon instead of the widget around the icon

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=753033
2007-12-26 12:37:54 +00:00
Craig Duquette
ddc888e9c4 moved setToolTip() and toolTip() to match the updated header which moved these functions to
public

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=752612
2007-12-25 05:36:31 +00:00
Craig Duquette
cd216b2eb8 make setToolTip() and toolTip() public from protected
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=752611
2007-12-25 05:34:43 +00:00
Pino Toscano
0ec187a28e include fixup
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=752169
2007-12-23 19:20:22 +00:00
Marco Martin
5952e90351 White icon text on a semitransparent black background
BUG: 154108

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=752098
2007-12-23 15:13:44 +00:00
Marco Martin
1f84d4c290 removing an experimental piece of junk in drawTextItems committed for mistake...
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=752044
2007-12-23 12:07:31 +00:00
Marco Martin
43574b0c3e Added the method QSizeF sizeFromIconSize(const qreal iconWidth) that returns an optimal size of the widget given a desidered size of the icon
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=752018
2007-12-23 10:51:00 +00:00
Jason Stubbs
c0bba16e87 Fix crash when adding widgets to the panel
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=751539
2007-12-22 06:43:05 +00:00
Shawn Starr
8d9aa19d83 Allow rendering of a specific svg element id. You can still render them all if you don't specify a element name but now you can also use a specific element. Doesn't handle resizing.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=751533
2007-12-22 05:31:57 +00:00
Jason Stubbs
4d641580fa Temporarily hide the tooltip when moving it to fix painting corruption
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=751523
2007-12-22 03:44:25 +00:00
Marco Martin
792e8dfba8 icon actions works again (still not drawn correctly)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=751445
2007-12-21 21:35:07 +00:00
Richard J. Moore
3537033b91 - Partial fix to prevent tooltips being displayed over the top of
popup menus. There's still a problem however as the 1 second timer
  can be started before the menu is triggered. The tooltip code needs
  to detect when this is occuring somehow and suppress the tip in such
  cases.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=751298
2007-12-21 15:59:04 +00:00
Dan Meltzer
357656f660 Add a generic tooltip widget to Plasma::Widget and implement it in the tasks applet.
Applets wishing to use this tooltip should Create a Plasma::ToolTipData struct 
(defined in widget.h) and pass it to Widget::setToolTip().  Showing and hiding
the tooltip is all handled automatically.

While the basic idea is found in this patch, the look still definatly needs some
work.  Still a definate work in progress.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=751113
2007-12-21 05:33:17 +00:00
Aaron J. Seigo
4a23298a2c update()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=751052
2007-12-20 23:50:11 +00:00
Aaron J. Seigo
0946029d25 very basic svg icon painting
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=750938
2007-12-20 16:28:47 +00:00
Shawn Starr
853710deca call setFile() when changing the svg image for Icon
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=750670
2007-12-19 20:58:45 +00:00
Shawn Starr
60769c4c6f Add convenience method setSvg() to set the Icon's Svg file instead of the default widget/iconbutton svg. Useful for custom svg button behavour
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=750654
2007-12-19 20:32:31 +00:00
Aaron J. Seigo
809d20b17a remove some ancient cruft
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=750317
2007-12-19 07:02:14 +00:00
Marco Martin
d7f413742a Now icons can be resized
BUG: 152695

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=750084
2007-12-18 16:56:34 +00:00
Urs Wolfer
5510140da1 cleanup header
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=749677
2007-12-17 15:57:54 +00:00
Jason Stubbs
689bc02935 Add reference to Qt's bug number that the workaronud works around.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=749089
2007-12-16 13:51:27 +00:00
André Wöbbeking
fc63b0fb29 -pedantic
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=749088
2007-12-16 13:50:18 +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
Jason Stubbs
4fb7cbc2d6 Fix handling of click/hover events and add methods to allow callers to
make the icon appear clicked. Getting it in now so that it doesn't
block other work. I believe all discussed issues have been fixed with
this patch, but I'll stay around to fix any issues that remain. ;)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=749016
2007-12-16 10:09:07 +00:00
Marijn Kruisselbrink
a7dcbb5456 fixes for platforms where qreal is not a double
btw, wouldn't it be cleaner if all those qMin(0.0, qMax(1.0, foo)) calls are calls to qBound instead?

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=748283
2007-12-14 01:38:32 +00:00
Adriaan de Groot
02023370f2 Disambiguate pow()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=746989
2007-12-10 19:45:45 +00:00
Jason Stubbs
5db83950c4 Use Widget::view() to find the view rather than emmiting
QGraphicsSceneMouseEvent from Plasma::Icon for only that purpose

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=746549
2007-12-09 13:32:30 +00:00
Jason Stubbs
10af4df668 Added methods for gaining information about the view. This is useful for
applets such as systemtray and tasks that need to know about global
geometry.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=746172
2007-12-08 03:35:11 +00:00
Jason Stubbs
89a387b76d Cast the parent being checked rather than parentItem()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=743922
2007-12-02 11:19:26 +00:00
Aaron J. Seigo
9d936d1d8f still messed up, but less useless confusing code in there now =)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=743202
2007-11-30 01:06:27 +00:00
Aaron J. Seigo
312f42dec0 when setting min/max sizes, adjust our geometry if our current size is not within those boundaries
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=742716
2007-11-28 18:41:21 +00:00
Aaron J. Seigo
0374286c07 * don't reset the painter's opacity to the widget's opacity; rather, *apply* the widget's opacity to the painter's opacity
* get rid of the internal child list. we don't need it and it's a pain (as in error prone) to maintain, esp when we have QGraphicsItem::children()

(man i wish svn allows partial file commits =/ i wonder (idly) if git or any of those new fangled vcs's do?)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=742100
2007-11-27 06:03:19 +00:00
Tom Albers
bd382fa983 Fix wording so it does not result in false positives.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=741335
2007-11-25 13:28:25 +00:00
Matias Valdenegro Toro
6c5aea1f60 Add license header to label.cpp
Remove "at your option" from label.h

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=740756
2007-11-24 02:45:34 +00:00
Seb Ruiz
d6001be92a warning fixes
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=739904
2007-11-22 07:19:43 +00:00
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
Aaron J. Seigo
97ddf36df4 * emit pressed(true) when pressed
* excuse the debuggin, but i need to figure out why events are getting eaten (again) by the icon class

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=728763
2007-10-24 06:52:45 +00:00
Stephan Binner
245e63418e revert "cleanup" breakage of r696698
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=728171
2007-10-22 16:16:30 +00:00
Hoàng Đức Hiếu
b14fb9605e Add font property to Plasma::Label; this also helps getting more accurate sizeHint than using Arial 12pt when the default font is Arial 10pt
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=726342
2007-10-17 15:11:29 +00:00
Andre Duffeck
ed1430faa4 be less noisy
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=726279
2007-10-17 12:40:06 +00:00
Hoàng Đức Hiếu
b038a10d13 sizeHint: take alignment and Qt::TextWordWrap flags into account, as done in paintWidget
the QRectF is a reasonably large rect so that it doesn't interfere with result size

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=725859
2007-10-16 11:54:37 +00:00
Andre Duffeck
53e8f95ea6 Fix duration and fadeIn/fadeOut animations
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=725400
2007-10-15 09:41:39 +00:00
Andre Duffeck
9126f8263f less debug output
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=725391
2007-10-15 08:58:08 +00:00
Andre Duffeck
54211a2f54 Fix size when put in layouts.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=725390
2007-10-15 08:54:06 +00:00
Ivan Čukić
93187d0a90 Argument verification
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=725047
2007-10-14 10:57:14 +00:00
İsmail Dönmez
3ffa8ee720 SVN_SILENT --pedantic
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=724810
2007-10-13 14:33:14 +00:00
Ivan Čukić
04f5730e1e NodeLayout:
* initial implementation of sizeHint()
* support for automatic sizing (on one or two dimensions)
* simplified node definition

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=724794
2007-10-13 13:29:21 +00:00
Ivan Čukić
f22a71a22d Changing the licensing to GNU Library/Lesser GPL
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=724418
2007-10-12 08:45:12 +00:00
Aaron J. Seigo
22de66fdc0 * fix order of constraints init so that geometry is done before screen affinity
* 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
2007-10-11 19:16:01 +00:00
Ivan Čukić
c8281cbd05 Code formating
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=724124
2007-10-11 13:50:54 +00:00
Aaron J. Seigo
0f66f80fe2 allow widgets to change their size even if there isn't a layout (because that was just silly)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=723915
2007-10-11 03:30:50 +00:00
Ivan Čukić
3d0bdf2e42 * fixed bug: misplacing center widget when there is no right or bottom one.
* feature: if there is a fixed size for one of the borders, it *will* have that size
  even if there is no widget for that border.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=723796
2007-10-10 18:27:57 +00:00
Ivan Čukić
80bc0a1d00 Margin support (spacing was added earlier)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=723756
2007-10-10 16:34:24 +00:00
Petri Damstén
b5fa2a0936 Calculate available size before perItemSize
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=723274
2007-10-09 07:05:37 +00:00
Petri Damstén
82b947252e Remove debugs
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=723007
2007-10-08 12:49:22 +00:00
Thomas Georgiou
fab3611a21 Transparency works now!! Aaron, remember to fill QPixmaps with
Qt::transparent.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=722710
2007-10-07 23:32:56 +00:00
Petri Damstén
1fce16d307 Add color, font, alignment support for labels.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=722537
2007-10-07 14:52:17 +00:00
Petri Damstén
940f7e00fb Adds toggle support to Plasma::PushButton.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=721138
2007-10-04 17:36:21 +00:00
Rafael Fernández López
5e321b63f5 Update my email address
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=720339
2007-10-03 00:44:18 +00:00
Rafael Fernández López
0f7e4e52ab Code adaptation because of changes on libraries related to revision 719630
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=719642
2007-10-01 15:09:41 +00:00
Aaron J. Seigo
55969fd88b - make setGeometry virtual so that Applet::setGeometry actually does what Petri Damsten was trying for
- erase the rect on the pixmap that is exposed before painting again; this prevents painting over and over and over the pixmap (resulting in darker and darker painting when using transparency)
- some minor whitespace changes made whilst debugging

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=719387
2007-10-01 05:06:51 +00:00
Petri Damstén
61fa701fc0 - Add setSize (needed by Applet)
- Delete white space from line ends

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=718077
2007-09-28 05:45:10 +00:00
Petri Damstén
c4f4f16048 - Use margin at startPos
- Delete white space from line ends

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=718076
2007-09-28 05:43:15 +00:00
Aaron J. Seigo
8f4ed43ae0 whoops, forgot this other half of the commit
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=718011
2007-09-27 22:11:46 +00:00
Aaron J. Seigo
c982fdde3b fix crash; you can't suppose that you get a Widget in ::paint
CCMAIL:tokoe@kde.org

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=718009
2007-09-27 22:05:57 +00:00
Matthew Woehlke
407f13404a remove superfluous header
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=717530
2007-09-27 03:52:50 +00:00
Matías Costa
f4efdfa1f0 Fix infinite loop
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=717393
2007-09-26 20:15:42 +00:00
Alex Merry
30b2cd64fc apidocs fix, and use a better macro name for the include guard
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=717224
2007-09-26 10:37:08 +00:00
Petri Damstén
ff7fb9e515 Plasma::Meter from playground to libplasma
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=716909
2007-09-25 15:26:03 +00:00
Petri Damstén
1897eab31b Plasma::Meter from playground to libplasma
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=716906
2007-09-25 15:24:39 +00:00
Alex Merry
d29805caef Make drag-n-drop applets work again.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=716003
2007-09-23 18:03:37 +00:00
Laurent Montel
4e4a77901e Not necessary
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=715616
2007-09-22 15:45:42 +00:00
Tobias Koenig
227dd0842d warning--
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=714913
2007-09-20 21:44:12 +00:00
Ivan Čukić
cc4da76575 Added spacing() support for BorderLayout
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=714483
2007-09-19 17:31:53 +00:00
Aaron J. Seigo
7fefcf98c7 fix this indentation nightmare (tabs, many levels deep)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=714178
2007-09-18 21:30:30 +00:00
Aaron J. Seigo
fc53b1a7f0 SVN_SILENT suppose we don't need dead code already ;)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=714172
2007-09-18 21:20:06 +00:00
Aaron J. Seigo
fe13964089 add a contextMenuEvent to Widget so that we get proper context menu propagation by default
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=714171
2007-09-18 21:19:10 +00:00
Laurent Montel
950d256e5d Fix mem leak
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=713138
2007-09-16 13:18:04 +00:00
Ivan Čukić
63164d2cc0 BorderLayout initial import
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=713071
2007-09-16 09:08:08 +00:00
Robert Knight
7b607e92c9 Fix applets jumping around when they resize. Avoid calling setGeometry() on Applets in a FreeLayout that have not changed their size hint since the last update.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=712674
2007-09-15 04:16:11 +00:00
Aaron J. Seigo
329d912f47 SVN_SILENT: more licensing updates ... all done with this now i think =)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=712581
2007-09-14 20:17:11 +00:00
Aaron J. Seigo
e0f831373c SVN_SILENT: add "or later" clause. cleared with copyright holders, except for rich moore's ui loader which i need to ask him for permission for first.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=712549
2007-09-14 19:06:18 +00:00
Jon de Andres Frias
e726cd04c6 Added to the Plasma widgets library the ProgressBar class. It's included a small program test for the progressbar.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=712543
2007-09-14 18:19:42 +00:00
Aaron J. Seigo
0fc83b6e76 prevent crashing on exit; layout must not be deleted before the applets which are managed by it.
this is a brittleness in the layout system that really needs to be addressed (and i added a comment and some debug output about this in LayoutItem)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=712164
2007-09-13 19:47:14 +00:00
Aaron J. Seigo
d20c9a010f growing tired of being asked about how to get at the font used in widgets, here's a cute little accessor that provides the answer for now and gives us a way to support font settings in the future much in the way qwidget itself does.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=712158
2007-09-13 19:33:44 +00:00
Aaron J. Seigo
e2b9f9df31 SVN_SILENT: style fixes
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=712122
2007-09-13 17:04:04 +00:00
Aaron J. Seigo
7d533e3472 - missing license header
- fix white space issues
- delete the dptr

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=711899
2007-09-13 05:40:37 +00:00
Aaron J. Seigo
926d039802 SVN_SILENT: why bother with a coding style.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=711898
2007-09-13 05:34:11 +00:00
Andreas Aardal Hanssen
1cf7d7c0f6 Enable DeviceCoordinateCacheMode by default. Overload update() to give
it invalidate-like behavior, and remove invalidate(). Revert last change
to analogclock, cached behavior is now enabled for all applets. If you
want to disable caching, call setCachePaintMode(NoCacheMode) from your
applet's constructor.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=710764
2007-09-10 20:44:24 +00:00
Robert Knight
6828d212bb Add FreeLayout layout, which resizes its children to their sizeHint() whenever it is invalidated. Useful for desktop-like workspaces so that widgets can be agnostic of whether they are being used in a panel or a 'constraint free' area.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=710761
2007-09-10 20:38:59 +00:00
Andreas Aardal Hanssen
55e02ca70a Add CachePaintMode, as a temporary local back-port of
QGraphicsItem::CacheMode, which will appear in 4.4. I've chosen names
that aren't really good, but they're not misleading, and they don't
clash with the API in 4.4.

My first KDE submit :-DDD.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=710738
2007-09-10 19:06:58 +00:00
Robert Knight
37b4ea6334 managingLayout() is a better way to get the layout managing the widget's geometry than parent()->layout() which doesn't work for top-level Widget instances.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=709899
2007-09-08 14:01:03 +00:00
Robert Knight
3dc0a4795f Correct the layout invalidation logic. As with Qt, when a layout is invalidated it finds its top-level layout and causes that to be updated. Calling Widget::updageGeometry() causes the parent widget's layout to be invalidated.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=709495
2007-09-07 16:15:46 +00:00
Pino Toscano
cec28bebac use QtModule/QFoo for public headers
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=708026
2007-09-03 17:16:40 +00:00
Robert Knight
15fbaba2ac Move duplicated animation starting code into Layout::startAnimation() which layout subclasses can call at the end of their setGeometry() implementation to start the layout animator's timer.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=707803
2007-09-03 00:52:29 +00:00
Robert Knight
ecd23d6e67 Always restart timeline from 0 when setGeometry() is called. QTimeLine::start() is a no-op if already running.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=707800
2007-09-03 00:41:57 +00:00
Richard J. Moore
4663b82555 - More Q_PROPERTY additions
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=707687
2007-09-02 17:49:34 +00:00
Richard J. Moore
b09f73ac86 - Add support for opacity property of Widget
- Add Q_PROPERTIES and missing Q_OBJECT to signalplotter


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=707684
2007-09-02 17:41:05 +00:00
Pino Toscano
c27291a3fc slots -> Q_SLOTS
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=707337
2007-09-01 15:02:09 +00:00
Robert Knight
a29ae57a7d This breaks the existing Plasma applet API, see the contentSize()
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
2007-09-01 12:34:22 +00:00
Robert Knight
04375c4b09 Replace 'INFINITY' with more correct numeric_limits<qreal>::infinity()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706983
2007-08-31 17:46:12 +00:00
Robert Knight
536d3749c1 Fix crash when layout argument is null.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706975
2007-08-31 17:24:03 +00:00
Robert Knight
bb25f62e55 Remove Widget::invalidate(), that is a feature which is part of the layouts. Better attempt at Widget::updateGeometry() which widget subclasses can call when their size hint or min/max size changes. Ultimately should behave like the QWidget methods of the same name. Make Widget return Qt::Horizontal | Qt::Vertical in its default implementation of expandingDirections()
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706939
2007-08-31 15:32:10 +00:00
Robert Knight
f7861353ba Add a method to change the parent of a layout. Make isEmpty() non-virtual, and instead always equal to (count()==0). Add invalidate() method which is used like the method of the same name in QLayout to invalidate cached information in the layout.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706937
2007-08-31 15:27:32 +00:00
Robert Knight
af8659fa22 Update the parent of a LayoutItem when calling setLayout
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706935
2007-08-31 15:23:09 +00:00
Robert Knight
d1aba23cd2 Return 0 for the expanding directions of an icon. At present icons have a fixed size.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706934
2007-08-31 15:21:30 +00:00
Robert Knight
37b993d8ff Add auto-deletion functionality into LayoutAnimator which can be used to delete the item when its removal animation finishes. Emit a signal when the state of an item in the animator changes. Avoid repeatedly setting an item's geometry with the NoEffect effect. Added a DeadState into which items transition after their removal animation finishes or if they have not been added to the animator. When inserting an item with a fade in effect set the opacity to 0 if the item is a widget.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706933
2007-08-31 15:19:02 +00:00
Percy Leonhardt
615eae37ba Merged HBoxLayout and VBoxLayout into BoxLayout to avoid duplicate code.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=706645
2007-08-30 23:44:08 +00:00
Thomas Georgiou
44c1f66714 Make other widgets paint when zoomed out. (These 3 commits are just
commenting things out. The code will need to be removed once we are 
sure we do not need it.)

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=705868
2007-08-28 19:12:13 +00:00
Thomas Georgiou
d65ab52dd6 Lineedits should display when zoomed out.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=705867
2007-08-28 19:02:38 +00:00
Robert Knight
773612ac44 Default implementations of minimumSize() , maximumSize() in Layout and correct implementations of minimumSize() , maximumSize() in Widget to match equivalents in QLayout , QWidget.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=703547
2007-08-22 20:13:24 +00:00
Thiago Macieira
eca6dc90c0 Remove use of k_funcinfo
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=702583
2007-08-20 21:33:48 +00:00
Matt Broadstone
4fbc948d56 That'll teach me not to test the build before committing :)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=701238
2007-08-17 18:57:28 +00:00
Matt Broadstone
1fb3bef9bb Fix build
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=701237
2007-08-17 18:55:55 +00:00
Robert Knight
93bf2933e4 When updating a Widget's geometry, pass the geometry in the Widget's co-ordinates to layout()->setGeometry() rather than the parent widget's co-ordinates. Call updateGeometry() inside setGeometry().
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=701207
2007-08-17 16:28:54 +00:00
Matt Broadstone
19efbb9108 Respect min/max sizeHints when setting geometry
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=701205
2007-08-17 16:04:49 +00:00
Robert Knight
93070ce1fd Implement the same sizeHint() logic in Plasma::Widget as QWidget. It returns the layout's sizeHint() if there is a layout or an invalid QSizeF otherwise. Implement sizeHint() in Plasma::Applet. It returns the same as contentSize() if there is no border or the content size hint plus the border size otherwise. Many of the applets need changes for setGeometry() to work properly on them. Fix various warnings.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=701192
2007-08-17 15:05:01 +00:00