Commit Graph

62 Commits

Author SHA1 Message Date
Marco Martin
c906b58d08 allow applet configuration and extenderitems config nested into the
group of another applet
this thing is possibly dangerous, so better plasma-devel is informed
CCMAIL:plasma-devel@kde.org

svn path=/trunk/KDE/kdelibs/; revision=989520
2009-06-30 13:32:40 +00:00
Marco Martin
4e69cb0553 kill the drop target after the drop
svn path=/trunk/KDE/kdelibs/; revision=987298
2009-06-25 19:38:27 +00:00
Aaron J. Seigo
a2cd3cdeec be more careful with items being added more than once
svn path=/trunk/KDE/kdelibs/; revision=986691
2009-06-24 21:55:19 +00:00
Aaron J. Seigo
0e32cf6cf6 SVN_SILENT: a comment .. woooooo..
svn path=/trunk/KDE/kdelibs/; revision=982047
2009-06-14 20:15:32 +00:00
Aaron J. Seigo
d199bb679c be more careful accessing the containment associated with the applet, try to avoid looking through all the applets if the extender belongs to us when initializing
svn path=/trunk/KDE/kdelibs/; revision=980050
2009-06-11 00:28:24 +00:00
Aaron J. Seigo
4a96c20195 copy the ugly "seach the tree" triple loop to the places its used as that allows us to perform optimizations for each case, like searching the attached items first in item()
svn path=/trunk/KDE/kdelibs/; revision=980036
2009-06-10 23:27:35 +00:00
Aaron J. Seigo
fd2c597c4a make isEmpty part of the public API, make the implementation of it slightly more efficient
svn path=/trunk/KDE/kdelibs/; revision=964311
2009-05-06 14:21:05 +00:00
Rob Scheepmaker
af3c1f881d Set margins for spacer and empty extender label based on the extender-background margins, and also consider the extender empty if there are only empty groups in it.
BUG: 189451


svn path=/trunk/KDE/kdelibs/; revision=961366
2009-04-30 00:34:49 +00:00
Rob Scheepmaker
a5c48ddc4f Move children together with their group when the group gets moved, and add a group convenience function to extender to avoid needing all those casts from extenderitem to extendergroup. Plus some minor code cleanups.
svn path=/trunk/KDE/kdelibs/; revision=959604
2009-04-26 17:03:15 +00:00
Aaron J. Seigo
97556b8bf5 SVN_SILENT: --compileWarnings;
svn path=/trunk/KDE/kdelibs/; revision=951380
2009-04-09 05:55:36 +00:00
Rob Scheepmaker
1b2c3da340 Make it more distinct which items belong to a group, by always putting children of a group below the ExtenderGroup item, and hiding their borders, so each group has only one horizontal seperator.
svn path=/trunk/KDE/kdelibs/; revision=951193
2009-04-08 16:16:00 +00:00
Rob Scheepmaker
c47d34bcba Yay! Add support for grouping in extenders. Expect this feature used for grouping jobs in systemtray soon: I'll commit that as soon as I figured out the last problem that patch has (an atm seemingly random crash that happens incidentally).
svn path=/trunk/KDE/kdelibs/; revision=943303
2009-03-23 16:30:32 +00:00
Rob Scheepmaker
0f57196266 Insert new extender items at the top of the extender, if the extender is located in a popup at the bottom of the screen.
svn path=/trunk/KDE/kdelibs/; revision=938706
2009-03-12 18:45:45 +00:00
Rob Scheepmaker
766bca2524 Addition of the hasItem(...) function to Extender. And usage of this function in libplasmaclock. This function allows for checking if items exist, even if that item hasn't been instantiated yet.
svn path=/trunk/KDE/kdelibs/; revision=938688
2009-03-12 17:19:45 +00:00
Rob Scheepmaker
e1730c4704 Move the showing of the dropzone from panelview to containment. Leads to less code duplication and makes showing dropzones when dragging extenderitems to the panel work. Also don't hide the extenderapplet and panel when detaching the last item from an extenderapplet, and move extenderitems off screen before creating the pixmap to avoid other items appearing in the pixmap.
svn path=/trunk/KDE/kdelibs/; revision=938242
2009-03-11 14:41:37 +00:00
Rob Scheepmaker
5105554bc1 2nd fixed regression! You can now again drop into extenders when hovering over popupapplets.
svn path=/trunk/KDE/kdelibs/; revision=924031
2009-02-09 22:10:35 +00:00
Rob Scheepmaker
6ce839cc08 1 regression down! Reenabling and changing one of the layout workarounds fixes the incorrect sizehints problem for detached extenderitems, while still allowing
for items on the desktop to be resized, which is even beter then it was in 4.2. I might backport depending on how good this works with Qt4.4 and depending on 
how complex the patch would become (it would need a few of the changes from my previous monsterpatch).


svn path=/trunk/KDE/kdelibs/; revision=923944
2009-02-09 19:21:59 +00:00
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
1eb7e181bc Qt4.5 hit qt-copy, and layouts behave properly now! Let's remove the layout bug workaround
hacks from extenders. This improves behavior a lot. :)


svn path=/trunk/KDE/kdelibs/; revision=922575
2009-02-07 09:52:49 +00:00
Rob Scheepmaker
bfb771ddd8 Make all items persistent by default, even if still attached. This allows us to restore their position and their collapsed state.
svn path=/trunk/KDE/kdelibs/; revision=912127
2009-01-16 18:49:54 +00:00
Rob Scheepmaker
aea9e0e6d8 Move the QGL resize hacks from extender to extenderapplet. The only applet atm for which this hack is necesarry is actually extenderapplet, in the future we will have better layouts, and it won't be necesarry at all, and for now it avoids breaking panel layouts when removing the last extenderitem from an extenderapplet.
svn path=/trunk/KDE/kdelibs/; revision=908195
2009-01-09 13:13:57 +00:00
Marco Martin
bfc790f0f5 center the empty extender label, otherwise the "no noticications and no
jobs" label, rare but that can still be seen while dragging can be drawn
over the shadow outside the borders

svn path=/trunk/KDE/kdelibs/; revision=901648
2008-12-26 12:27:09 +00:00
Rob Scheepmaker
72eaf8c5f7 No longer use a QGraphicsGridLayout to manage offscreen widgets in corona. Instead position them manually and give each one a spot where they can grow up to QWIDGETSIZEMAX. This has the advantage of not requiring hacks to work around QGL problems, and it avoids having to move all views when one item resizes. It feels snappier and the code looks cleaner.
svn path=/trunk/KDE/kdelibs/; revision=895118
2008-12-10 00:57:42 +00:00
Aaron J. Seigo
011832d5fb --compiler_warnings;
svn path=/trunk/KDE/kdelibs/; revision=894470
2008-12-08 18:05:17 +00:00
Aaron J. Seigo
dffbf7817c prevent possible crash
svn path=/trunk/KDE/kdelibs/; revision=894455
2008-12-08 17:32:57 +00:00
Rob Scheepmaker
ab56a3a388 Couple of fixes:
* Close empty extender when clicking in it.
BUG:176545
* Saner size policy for Plasma::Meter. (the height should never be able to be smaller then svg's height because labels could otherwise overlap, actually, the whole current approach doesn't consider font size, I think we should think of a better approach for 4.3)
* Use the same spacer as used in the panel for extenders. I think we would want some svg themable shared spacer widget for 4.3, but at least this adds some consistency.


svn path=/trunk/KDE/kdelibs/; revision=891328
2008-12-01 18:30:42 +00:00
Rob Scheepmaker
bd1a648215 Removed some unnecesarry calls to adjustSizeHints()
svn path=/trunk/KDE/kdelibs/; revision=890899
2008-11-30 16:16:25 +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
Rob Scheepmaker
47dcbf47b9 By default, use an empty string as empty extender label, and don't display that label if that string is empty. The idea is that having that label there is weird when the extender is used in a dialog. The case in which the label is useful, is when the extender is embedded in an applet on the desktop, and the applet should only set the label, if this is the case.
svn path=/trunk/KDE/kdelibs/; revision=886937
2008-11-20 16:37:30 +00:00
Rob Scheepmaker
cfb43a7632 Correct sizehints for extender containing applets on the desktop. Also renamed the private adjustSize() function to adjustSizeHints() to avoid confusion.
svn path=/trunk/KDE/kdelibs/; revision=882356
2008-11-10 15:49:31 +00:00
Rob Scheepmaker
731ccc9f41 Work around a bug in QGL. This will make extenders contained in applets on the desktop appear correctly, and, as opposed to an earlier attempt, doesn't interfere with applets like analog clock.
svn path=/trunk/KDE/kdelibs/; revision=881297
2008-11-07 18:16:35 +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
Kevin Ottens
f66b4d819b API changes as announced:
* ConfigXml becomes ConfigLoader
  * Containment::(add|remove)ToolBoxTool(QAction *action) becomes
    Containment::(add|remove)ToolBoxAction(QAction *action)
  * Flash becomes FlashingLabel
  * Icon becomes IconWidget
  * PanelSvg becomes FrameSvg

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=877504
2008-10-29 17:46:33 +00:00
Rob Scheepmaker
d09ca6858f Also automatically hide dialogs from popupapplets if the last extender item is destroyed.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=875760
2008-10-25 14:17:17 +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
415a1c213d Also update extender item borders correctly when items are removed from the layout.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=875444
2008-10-24 13:20:49 +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
ef3ec40f5d Avoid possible memory leak if an applet tries to create more then one extender.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=875161
2008-10-23 14:08:24 +00:00
Aaron J. Seigo
d9e5d8babd this work around doesn't work
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=874990
2008-10-23 00:09:25 +00:00
Rob Scheepmaker
e5c19dde50 Fixed two potential problems found by fredrikh.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=874016
2008-10-20 16:03:30 +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
81d09742bb fix spelling
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=870322
2008-10-12 11:12:24 +00:00
Rob Scheepmaker
51e03dc5e3 Add return to source icon the the plasma theme, and use this in extender items.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=870089
2008-10-11 17:56:07 +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
Aaron J. Seigo
a062bbc901 * prevent some possibe crash interactions between extenders and applets
* proper save of geometry, transform and position post startup

svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=866823
2008-10-01 23:52:50 +00:00
Aaron J. Seigo
0ae78795da don't use Applet::extender(); we're friends, after all
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=862087
2008-09-18 02:44:08 +00:00
André Wöbbeking
80e89dff6f compile
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=861634
2008-09-16 17:16:26 +00:00
Rob Scheepmaker
c4733af68b Removed some debug spam, some obsolete stuff, and avoid creating 2 calendars in clocks.
svn path=/trunk/KDE/kdebase/workspace/libs/plasma/; revision=861613
2008-09-16 16:26:57 +00:00