Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
163 user(s) are online (145 user(s) are browsing Forums)

Members: 1
Guests: 162

billyfish, more...

Support us!

Headlines

 
  Register To Post  

(1) 2 »
Filer drag&drop betatesting
Supreme Council
Supreme Council


See User information
I've managed to get drag&drop working between filers.

Unfortunately it's not possible to drag onto WB windows or other app windows at this point.

I'd like people to try it out and give comments and suggestions.

Current function:

- It's only possible drag&drop between filers
- It's not possible to drag&drop inside a single filer
- It's not possible drag&drop into a specific folder in the target filer
- Normal operation is to move files
- Hold down left shift while dropping to copy files
- Right mouse button cancels the drag&drop
- Dropping on the start window cancels the drag&drop
- Commodities that make windows under the mouse pointer active without clicking will disturb the drag&drop
- Dropping onto a busy filer will case it to perform the action when it's not busy any more if no other drag&drop events have been performed, even if it's an hour later

The drag&drop mouse pointers will look more pretty if defpointerd.lha is installed and 32bit mouse pointers are activated.


Download drag&drop test version here

Vacca foeda. Sum, ergo edo

Mr Bobo Cornwater
Go to top
Re: Filer drag&drop betatesting
Just can't stay away
Just can't stay away


See User information
@orgin

If you want to implement drag & drop to WB windows you should read about the WhichWorkbenchObject function from workbench.library. The tags you want to use are WBOBJA_DrawerPath and WBOBJA_DrawerPathSize.

To check if a window is a WB window you can use:
if (window->Flags WFLG_WBENCHWINDOW) {
/* WB window */
} else {
/* other window */
}

Go to top
Re: Filer drag&drop betatesting
Quite a regular
Quite a regular


See User information
@salass00

Yep - with wb.library's functions it *should* be at least possible to implement a drag *onto* the Workbench windows...
Application support is - of course - another story...

@orgin

Excellent! This is a big step forward, thank you very much - I'll try this version when I'm back to my SAM this evening.

X1000|II/G4|440ep|2000/060|2000/040|1000
Go to top
Re: Filer drag&drop betatesting
Site Builder
Site Builder


See User information
@orgin

Hey... it works great. I just test it and it seems stable and great. Just do the copy as default and not the move, as it is the default of the OS.

I would like to ask about remembering not only one window position, but the secone, the third and so on.... It would be helpful to open the windows in specific places, maybe the same places as they were the last time (autosave at close).

Keep up the good work orgin. You are great.

Go to top
Re: Filer drag&drop betatesting
Home away from home
Home away from home


See User information
@walkero Quote:
Just do the copy as default and not the move, as it is the default of the OS.

IMHO the OS should default to *move*, because otherwise you have to know whether the destination is on the same volume or not to know whether it will copy or move.

Author of the PortablE programming language.
Go to top
Re: Filer drag&drop betatesting
Home away from home
Home away from home


See User information
@orgin
VERY briefly tried it - seems great .

Would be nice if:
* Dropping onto a line containing a folder uses that folder as the target. Not essential though.

* Perhaps show a cross over the mouse pointer (like Workbench) if dropping it there would do nothing.

* Mouse pointer currently disappears if I press shift AFTER I start drag-n-drop (because I use MouseBlanker), until I move it. Would be nice if Filer could force the mouse pointer to be shown, as otherwise it is not obvious that it has changed modes.

Author of the PortablE programming language.
Go to top
Re: Filer drag&drop betatesting
Home away from home
Home away from home


See User information
@Orgin

Only had time for a very quick test but seems like a great start!

It's slightly fiddly to iniate a drag, sometimes I selected / deselected and entry, sometimes I got the drag going.

I personaly would prefer it if copy was the default action, as this is 'non destructive', I think DOpus used to default to that too. As this will be a matter of taste perhaps it could be configurable.

@ChrisH

Quote:

* Dropping onto a line containing a folder uses that folder as the target. Not essential though.


I think the target area is too small for that to be safe. Simply using the overall directory of the detination filer is better IMHO.

Go to top
Re: Filer drag&drop betatesting
Supreme Council
Supreme Council


See User information
@ChrisH

"* Dropping onto a line containing a folder uses that folder as the target. Not essential though."

Yep that would be nice. But not as easy to implement as it may seem. The listbrowser class does not expose any method of finding the listbrowser node at an arbitrary pixel position.

"* Perhaps show a cross over the mouse pointer (like Workbench) if dropping it there would do nothing."

Unfortunately the originating window does not know the internal structure of the windows the drop moved over or even if it's a filer window. Plus using an input handler to continuously traverse the screen, layers, window and gadget structures is probably not a good idea. This problem really belongs to Hyperion implementing proper drag&drop support into workbench, intuition and all gadget classes.

* Mouse pointer currently disappears if I press shift AFTER I start drag-n-drop (because I use MouseBlanker), until I move it. Would be nice if Filer could force the mouse pointer to be shown, as otherwise it is not obvious that it has changed modes.

I can investigate it. But I don't know how mouseblanker hides the pointer. Probably by setting it to a blank bitmap. If so then I could perhaps check if the image pointer has changed and change it back.


Just a technical description:

To implement this drag&drop the only thing the originating filer knows is what window the drop was made on, but it never knows what that window is or whom it belongs to. It prepares a message containing the window id it found, the type of drop(move/copy) and the selected files. Sends it out hoping that someone will receive it. All other filer windows receives the message, matches it to its own main window id and if it matches it reads the message and starts copying/moving the files. I could add the mouse pointer position to the message and let the receiving window figure out which item in the filer list the coordinates match to, however I know of no way to get that information without some elaborate and probably error prone calculation of lister view positions and cell heights.

Vacca foeda. Sum, ergo edo

Mr Bobo Cornwater
Go to top
Re: Filer drag&drop betatesting
Home away from home
Home away from home


See User information
@ChrisH

Quote:

@walkero Quote:
Just do the copy as default and not the move, as it is the default of the OS.
IMHO the OS should default to *move*, because otherwise you have to know whether the destination is on the same volume or not to know whether it will copy or move.


I don't know which OS you guys are using but dragging an icon on AmigaOS workbench has always moved the file (unless you drag across volumes). It's about the only thing I hate about Workbench.

Go to top
Re: Filer drag&drop betatesting
Supreme Council
Supreme Council


See User information
@walkero

Hmm, might perhaps be better to create some form of script that passes window sizes and positions while starting 4 filers. As it's done now each individual filer has no idea where the other filers are or even if there are any so gathering 'snapshot' information of other filers would not be so easy.

Vacca foeda. Sum, ergo edo

Mr Bobo Cornwater
Go to top
Re: Filer drag&drop betatesting
Quite a regular
Quite a regular


See User information
@broadblues

...and this behaviour isn't exclusive to AmigaOS - MacOS (at least the "old" 68k ones) did the same...

X1000|II/G4|440ep|2000/060|2000/040|1000
Go to top
Re: Filer drag&drop betatesting
Not too shy to talk
Not too shy to talk


See User information
@orgin

working *great* so far! cool!

regards...

Go to top
Re: Filer drag&drop betatesting
Just popping in
Just popping in


See User information
@cha05e90

Quote:

cha05e90 wrote:
@broadblues

...and this behaviour isn't exclusive to AmigaOS - MacOS (at least the "old" 68k ones) did the same...


And on x86... since this (odd) behavior is the default one on all versions of Directory Opus for Windows. This is the first thing I should edit on Dopus preferences whenever I have to install it from scratch.

Go to top
Re: Filer drag&drop betatesting
Home away from home
Home away from home


See User information
@broadblues Quote:
I don't know which OS you guys are using but dragging an icon on AmigaOS workbench has always moved the file (unless you drag across volumes). It's about the only thing I hate about Workbench.

Thats what I mean. It does COPIES the file WHEN it is to a different volume. Which requires mentally comparing the source & target volumes, which is something you may not know at that moment, and so doesn't make sense from a usability perspective.

Drag & drop should EITHER move OR copy by default, it should not do both depending on the context! I prefer "move" by default since that is efficient when done inside a volume (and users can learn to expect this behaviour), but some may of course prefer "copy" by default.

Author of the PortablE programming language.
Go to top
Re: Filer drag&drop betatesting
Home away from home
Home away from home


See User information
Can't check that good programm for now, but with what i 100% agree - "drag&drop" should "move". Becouse it very logical , you "drag" somethink, and the "put" on some other place. For copy version of drag&drop possible just add shortcut. Or maybe make it "optionable". Like for options:

drag&drop "move" - yes/no
drag&drop "copy" - yes/no

Join us to improve dopus5!
AmigaOS4 on youtube
Go to top
Re: Filer drag&drop betatesting
Just can't stay away
Just can't stay away


See User information
@origin

i' ll try it as soon as i arrive at home

Go to top
Re: Filer drag&drop betatesting
Just can't stay away
Just can't stay away


See User information
@orgin

Quote:
I've managed to get drag&drop working between filers

How do you do it ?

Rock lobster bit me - so I'm here forever
X1000 + AmigaOS 4.1 FE
"Anyone can build a fast CPU. The trick is to build a fast system." - Seymour Cray
Go to top
Re: Filer drag&drop betatesting
Supreme Council
Supreme Council


See User information
@TSK

Can read a bit about it here:

http://www.amigans.net/modules/newbb/ ... t_id=42499#forumpost42499

I'm going to post a guide and example code on OpenAmiga in a while so others can implement this type of drag&drop as well.

It's entirely possible for other apps to receive the drop from filers if they just add support for it (And it's easy to add). And that without having to update the filer.

I'm also working with a guy to take it a step further beyond my current solution so that you can drop any kind of data on top of other windows, like images, text etc not just a file list. And the apps just subscribing to the events and deals with the drops if they want to.

That project is available here:

http://openamiga.org/index.php?function=viewproject&projectid=56


A stop gap solution until Hyperion decides to add drag&drop into the OS.

Vacca foeda. Sum, ergo edo

Mr Bobo Cornwater
Go to top
Re: Filer drag&drop betatesting
Just can't stay away
Just can't stay away


See User information
@TSK

How do you do it ?
Menu select: clone Lister
Select a file and drag&drop it into the other Lister.
It worked here like that!
@kas1e
drag&drop "move" - no
drag&drop "copy" - yes

Go to top
Re: Filer drag&drop betatesting
Just can't stay away
Just can't stay away


See User information
@orgin

How do you read left mouse button (when clicking inside gadgets) ? Using commodity broker ?

Rock lobster bit me - so I'm here forever
X1000 + AmigaOS 4.1 FE
"Anyone can build a fast CPU. The trick is to build a fast system." - Seymour Cray
Go to top

  Register To Post
(1) 2 »

 




Currently Active Users Viewing This Thread: 2 ( 0 members and 2 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project