[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