Review Request: Improve drag drop by using a toplevel window while dragging.

Rob Scheepmaker r.scheepmaker at student.utwente.nl
Thu May 1 23:13:51 CEST 2008


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://mattr.info:8080/r/352/
-----------------------------------------------------------

Review request for Plasma.


Summary
-------

This patch makes applets appear on a top level window while dragging. This way, when dragging to the panel, the applet won't disappear behind the panel as is the case now.
There are a couple of things that I should fix later, but I wanted to commit at least this basic functionality.
- At the moment the original applet is still displayed. Aseigo suggested that I should add a way to applet to instruct it to only display itself on a certain view to solve this problem.
- At the moment, as a non compositing user, you see a piece of wallpaper around your applet (especially nice with borderles applets like the analog clock). Plasma::View should probably feature a way to do transparency correctly. Any pointers to a good approach here?
- The panel doesn't show where the applet will land on release. I was thinking that we could add a previewAddApplet(Applet *, QPointF) or something like that to containment, so panel could reimplement that to show a spacer in the layout on the location the applet would land on mouse release. But there are other ways to accomplish this and I'm open to suggestions.
- I've purposely ignored the applet handle while dragging for now, since those are probably going to move to the qgraphicswidget window frames stuff anyway.

I'm looking forward to any feedback.


Diffs
-----

  /trunk/KDE/kdebase/workspace/libs/plasma/applethandle.cpp
  /trunk/KDE/kdebase/workspace/libs/plasma/applethandle_p.h

Diff: http://mattr.info:8080/r/352/diff


Testing
-------

Well, basic dragging and dropping applets around seems to work. I haven't tested on a xinerama setup to drag between monitors though.


Thanks,

Rob



More information about the Panel-devel mailing list