[ANNOUNCE] Spring loading folder behaviour (bad news inside)
Lubos Lunak
l.lunak at suse.cz
Fri May 28 14:19:58 BST 2004
On Friday 28 of May 2004 12:31, Germain Garand wrote:
> Le Vendredi 28 Mai 2004 07:56, Kévin 'ervin' Ottens a écrit :
> > I'm still not sure that clicking a mouse boutton while you press one for
> > your drag and drop operation is something easy to do... That's why I'd
> > prefer to use the keyboard here. Generally your other hand is free and
> > can easily reach a particular key.
>
> Triggering this feature with a keyboard event would be a nice addition for
> a power user, but doesn't it put it out of reach of the ordinary user?
>
> What about adding the following mechanism on top:
>
> => DnD on object over a folder
> => *drop*
> => the drop popup menu opens:
> ________________________
>
> | Copy Here |
> | Move Here |
> | Link Here |
> |------------------------|
> | Resume Inside Space|
> |------------------------|
> | Cancel |
> |________________________|
>
> Upon "resume inside" left click (not released), a new DnD is immediately
> initiated, and only then do you fire the SpringLoadingManager
I'm afraid all these three proposed solutions aren't going to be that simple,
because if nothing else, they'll need at least somebody who understands the
DND code. And I'm not talking about the DND handlers in the user code, but
about the DND handling code itself (qt/src/kernel/qdnd_x11.cpp).
The basic problem is that the drag is handled by the source application, and
drop is handled by the target application. Which means that if you drag from
gsomething, clicking another mouse button or pressing Space is not going to
work, because gsomething (or gtk) would have to be changed to support this
action, and the XDND protocol[*] would have to be extended with new message
for this open-the-thing-under-cursor action. Moreover right now I think that
using any key other than modifiers would prevent the possibility to do
Alt+Tab while DND, although maybe there could be found some way.
The popup menu has the problem that when the popup is displayed, the DND
operation is in its final stage, and from my reading of the XDND spec it
seems that it doesn't allow any such resuming. Which again means extending
the XDND spec and implementing it.
[*] http://www.freedesktop.org/Standards/XDND
--
Lubos Lunak
KDE developer
---------------------------------------------------------------------
SuSE CR, s.r.o. e-mail: l.lunak at suse.cz , l.lunak at kde.org
Drahobejlova 27 tel: +420 2 9654 2373
190 00 Praha 9 fax: +420 2 9654 2374
Czech Republic http://www.suse.cz/
More information about the kfm-devel
mailing list