Commit Graph

26 Commits

Author SHA1 Message Date
Rob Scheepmaker
fe805eb338 Massive refactoring of extender drag&drop handling. This should avoid bugs with the old way of doing things (toplevel view on an offscreen widget can lose
mouse events while dragging), and is generally shorter and cleaner. There are still some regressions I'll be working on fixing, but it basically works, avoids 
crashes and is even faster.


svn path=/trunk/KDE/kdelibs/; revision=923915
2009-02-09 18:10:45 +00:00
Rob Scheepmaker
4278e03a25 Two fixes:
* Monitor for sizechanges of the widgets contained inside an ExtenderItem, so the ExtenderItem 
size get's adjusted when the widget size is.
* Check the desired icon size only after themeUpdated is called, with the svg on it's native 
size. Avoids the problem of an occasion giant titlebar.

I will backport both when I've had the time to test with Qt4.4


svn path=/trunk/KDE/kdelibs/; revision=922762
2009-02-07 15:08:17 +00:00
Aaron J. Seigo
4e7e534103 * add actions in the order they are added, not alphabetically by name (?!)
* remove actions if they get deleted
CCBUG:30042

svn path=/trunk/KDE/kdelibs/; revision=907996
2009-01-09 02:15:23 +00:00
Rob Scheepmaker
c51d9d7d9b Yeah, finally! Fixed a crash that occurs when moving an extenderitem back to its source from an extender that was also the last one to have a spacer inserted because the same item was hovering over it. Phew, that was a mouthfull... With this fix we monitor if previousTargetExtender get's destoryed so we don't accidently try to remove it's spacer.
BUG: 171498


svn path=/trunk/KDE/kdelibs/; revision=895405
2008-12-10 17:29:40 +00:00
Rob Scheepmaker
2d4971eb46 Extender Polishing time! The following problems have been adressed:
* Far more correct spacer implementation. This avoids the spacer jumping around while dragging an item. Also adjustSizeHints is now only called once/spacer move.
* Avoid spacer related memleak.
* Only load extenderItems that are actually detached. This way, attached items won't linger around in case of a plasma crash.
* Use utilities-desktop-extra as icon for items with no saved icon (e.g. items where the icon is set using setIcon(QIcon) instead of setIcon(QString)). Sure beats the questionmark.
* Update mask when offscreen extender items are resized when being dragged to avoid screwed up masks (white borders).
* Start the drag only aften being moved a minimum of QApplication::startDragDistance().
* Correct transformation for calls to showDropZone.
* Use the mouse position for positioning items in extenders or panels, the topleft corner for positioning in a desktop containment. This feels the most natural.
* Move items back to the extender they came from when they're dropped into nowhere.
* Some small code style fixes.



svn path=/trunk/KDE/kdelibs/; revision=890249
2008-11-28 17:06:00 +00:00
Aaron J. Seigo
4b08c03726 change KDE includes to use the .h style now that we're in libs
svn path=/trunk/KDE/kdelibs/; revision=879795
2008-11-04 02:04:34 +00:00
Aaron J. Seigo
1b523b9054 ok, this time JUST the plasma dir ;)
svn path=/trunk/KDE/kdelibs/; revision=879759
2008-11-03 23:08:39 +00:00
Aaron J. Seigo
fa5a2d87d9 bum-de-dum! plasma to kdelibs.
svn path=/trunk/KDE/kdelibs/; revision=879757
2008-11-03 23:03:26 +00:00
Rob Scheepmaker
babf165d5d A last couple of api changes before the move to kdelibs:
* in class Extender rename setExtenderAppearance to setAppearance.
* in class ExtenderItem rename moveBackToSource to returnToSource.
* in class ExtenderItem addition of showCloseAction() and hideCloseAction().
... and some minor tweaks in the implementation.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=879670
2008-11-03 19:49:14 +00:00
Rob Scheepmaker
871508e467 Store the title and icon in extenderitem's config so applets don't have to store/restore this info manually.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=877485
2008-10-29 17:01:11 +00:00
Sebastian Kügler
34f4813559 some grammar fixes
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=875759
2008-10-25 14:15:16 +00:00
Rob Scheepmaker
704fad3d81 Small extender api improvements:
* extender() -> protected
* initExtenderItem() no longer a slot
* autoExpireDelay return uint instead of bool


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=875751
2008-10-25 13:41:00 +00:00
Rob Scheepmaker
f3244ec357 Make ExtenderItem's constructor explicit.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=875477
2008-10-24 14:59:21 +00:00
Rob Scheepmaker
16883d6243 Documentation++
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=875470
2008-10-24 14:49:32 +00:00
Rob Scheepmaker
241d38ad65 A bit more sourceApplet correctness:
* Removed sourceApplet() function, it has no place in public api. That was also discussed in the api review, but I forgot to actually remove it.
* Update sourceApplet's pointer and remove the "return to source" button when the source applet is removed.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=875290
2008-10-23 22:42:58 +00:00
Rob Scheepmaker
32fa54a46d Allow toggling the collapse state of extender items by double clicking the drag handle.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=875202
2008-10-23 16:44:40 +00:00
Rob Scheepmaker
a26b73b6bb Give extenders the 'stacked' look from Pinheiro's mockup. It still needs some minor tweaks, but it allready looks quite sexy.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=873867
2008-10-20 10:58:37 +00:00
Allen Winter
e88e2faa63 first batch of small coding style fixes.
these were found while testing the Krazy style checker, which I'm adapting
for the kdelibs style.

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=870051
2008-10-11 16:19:04 +00:00
Rob Scheepmaker
3824adb381 Allow theming the background of ExtenderItems, and react to theme changes. Capabilities still
have to be improved to make it look like the lovely pinheiro mockup.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=868933
2008-10-07 16:15:33 +00:00
Rob Scheepmaker
1f7f9b95ed Support setting QGraphicsItems in ExtenderItem as discussed in the extender api review
discussion on the mailing list.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=862687
2008-09-19 16:23:08 +00:00
Alex Merry
33f7e1e3d6 Actually relicense the files this time. Last time, I managed to change the text from GPL to... GPL.
Again, plasma-devel@kde.org mail archives have the permissions.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=858780
2008-09-08 17:32:25 +00:00
Alex Merry
90f5feb1a6 Relicense files. See plasma-devel@kde.org mailing list archives for permissions.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=858364
2008-09-07 21:33:02 +00:00
Alex Merry
e293d7d785 Specify includes in apidocs, so we get
#include <Plasma/Foo>
at the top of the apidocs pages.


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=852289
2008-08-25 17:47:48 +00:00
Richard Dale
dc878d9033 * Make the multiple inclusion header guard macros all start with PLASMA_
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=842922
2008-08-06 09:19:29 +00:00
Rob Scheepmaker
cfcda8ddf3 Removed the default value in setAutoExpireDelay, and allow the auto expire timer to be
cancelled by calling setAutoExpireDelay(0).


svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=841701
2008-08-03 21:47:21 +00:00
Aaron J. Seigo
577a64f563 extender is not a Plasma Widget (it doesn't follow the API pattern, isn't a button/menu/etc, isn't meant to be used as a general widget in a random layout...)
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=841164
2008-08-02 17:46:32 +00:00