-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://reviewboard.kde.org/r/49/
-----------------------------------------------------------

Review request for Plasma.


Summary
-------

This is a massive refactoring of how extenders handle drag & drop, plus some 
general restructuring, because that makes sense with the new way of doing 
things. Also notice a few of the layout workarounds are removed. Reason for 
this refactoring is that after hours of debugging, we concluded that the old 
way of doing things (view on an offscreen widget, which is nice because of the 
live updates, and because we can just paint on the canvas when we don't leave a 
view), is probably never going to work correctly. There was a bug (too lazy to 
look it up on bko now, and I don't got my mail readily available here), where 
quickly dragging extenderitems over other windows causes the item to no longer 
receive mouse events. Besides this patch being an elaborate fix for that bug, 
by now using QDrag and just setting a pixmap, it's actually faster too, the 
code is a bit shorter and it's more logically structured.


Diffs
-----

  /trunk/KDE/kdelibs/plasma/CMakeLists.txt 922573 
  /trunk/KDE/kdelibs/plasma/applet.h 922573 
  /trunk/KDE/kdelibs/plasma/containment.cpp 922573 
  /trunk/KDE/kdelibs/plasma/extender.h 922573 
  /trunk/KDE/kdelibs/plasma/extender.cpp 922575 
  /trunk/KDE/kdelibs/plasma/extenderitem.h 922762 
  /trunk/KDE/kdelibs/plasma/extenderitem.cpp 922762 
  /trunk/KDE/kdelibs/plasma/popupapplet.h 922573 
  /trunk/KDE/kdelibs/plasma/popupapplet.cpp 922573 
  /trunk/KDE/kdelibs/plasma/private/extenderapplet.cpp 922573 
  /trunk/KDE/kdelibs/plasma/private/extenderapplet_p.h 922573 
  /trunk/KDE/kdelibs/plasma/private/extenderitem_p.h 922762 
  /trunk/KDE/kdelibs/plasma/private/extenderitemmimedata.cpp PRE-CREATION 
  /trunk/KDE/kdelibs/plasma/private/extenderitemmimedata_p.h PRE-CREATION 

Diff: http://reviewboard.kde.org/r/49/diff


Testing
-------

I've done a bit of testing (on qt4.5 btw, backporting doesn't strike me as the 
best idea at the moment considering the insane size of this patch) with the 
calendar and systemtray. Basically, stuff seems to work, but there are a couple 
of regressions. Since it's trunk though, I still would like to get this in and 
continue working on improving it from there to avoid merge problems later, and 
to allow people to already test their applets with it and provide feedback. The 
regressions are:
* When dropping an item on te desktop, the mousepointer is used as the topleft 
position of the item, instead of the actual topleft position of the pixmap. I 
want to add the hotSpot position to the QMimeData to solve this.
* While it supports dropping items on popupApplets, you can't move the item to 
a desired position within the popup if that isn't the popup you started in, 
since the dragLeaveEvent of PopupApplet will hide the popup. I'll need to do 
some stuff with a timer to decide when it's 'safe' to hide the popup.
* Live updates of the pixmap while dragging would be nice and should be doable, 
but currently the pixmap is just static while dragging.
* When dropping on the desktop you can now actually resize the extenderapplet, 
which is nice, but the miminumSize isn't respected (maximumSize is), except on 
a fresh start of plasma, I'll be bugging Alexis about this, might be a Qt bug.

I experienced no crashes though, and items can be relocated, so I'd say it's 
good enough to go in and be improved from there.


Thanks,

Rob

_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to