New filer features.
Operations performed in background when possible.
Display=>Show actions
Display=>Close all
Display=>Save=><Save box>
File=>Info=><Info box>
File=>Copy=><save box>
File=>Find=><object to find>
File=>Access=><more options>
File=>Stamp
File=>Set type
These apply to background operations only:
Options=>Confirm
Options=>Verbose
Options=>Force
Options=>Newer
Find=><object to find>
shift-right-close opens parent leaving child open too
Viewer location handling improved
Viewer update improved
Extended functionality *filer_opendir
new message filer_opendirat
new message fileraction_senddirectory(?)
new message fileraction_sendselection(?)
new message fileraction_startoperation
new module filer_action
new command *filer_run
new command *filer_action
new command *filer_boot
new swi fileraction_senddirectory
r0 Task handle to send the message r1 Points to nul terminated directory namenew swi fileraction_sendselection
r0 Task handle to send the message r1 Points to nul terminated selection namenew swi fileraction_sendstartoperation
r0 Task handle to send the message r1 Operation ID to start: 0 Copy 1 Move (rename) 2 Delete 3 Set access 4 Set type 5 Count 6 Move (by copying and deleting afterwards) 7 Copy local (within directory) 8 Stamp files 9 Find file r2 Option bits: bit meaning 0 Verbose 1 Confirm 2 Force 3 Newer (a opposed to just Look) 4 Recurse (only applies to access) r3 Points to operation specific data: r4 Length of operation specific data: Copy: r3 points to nul terminated name of destination directory r4 strlen( r3 ) + 1 Move: r3 points to nul terminated name of destination directory r4 strlen( r3 ) + 1 Delete: r3 unused r4 0 Set access: r3 Points to word containing required new access: bottom two bytes indicate the values to set when setting the values top two bytes flag which bits are to be left alone r4 sizeof( int ) Set type: r3 Points to word containing new type in bits 0-11 r4 sizeof( int ) Count: r3 unused r4 0 Copy Move: r3 points to nul terminated name of destination directory r4 strlen( r3 ) + 1 Copy Local: r3 points to nul terminated destination name r4 strlen( r3 ) + 1 Stamp: r3 unused r4 0 Find: r3 points to null terminated name of object to find r4 strlen( rs ) + 1
Large numbers of bugs fixed
drag to empty piece of icon bar
Changed/Updated messages:
Message_FilerCloseDir:
R1+20 filing system number (as PRM specifies)
R1+24 Was 'must be zero', now is:
bit meaning when set 0 Full name of directory has already been canonicalised - don't canonicalise before use. Normally the name supplied would be canonicalised before being checked against the canonical name of each viewer, this inhibits this step. 1-31 reserved for future use - must be zero.
New messages:
Message_FilerSelectionDirectory
ms_data = null terminated name of directory with selection in it.
Message_FilerAddSelection
ms_data = null terminated, space separated list of names of selected files.
Message_FilerAction
ms_data = action:
0 Copy 1 Move (rename) 2 Delete 3 Set access 4 Set type 5 Count 6 Move (by copying and deleting afterwards) 7 Copy local (within directory) 8 Stamp files 9 Find filems_data + 4 = options:
bit meaning 0 Verbose 1 Confirm 2 Force 3 Newer (a opposed to just Look) 4 Recurse (only applies to access)ms_data + 8 = operation specific data:
Copy: nul terminated name of destination directory
Move: nul terminated name of destination directory
Delete: unused Set access: word containing required new access: bottom two bytes indicate the values to set when setting the values top two bytes flag which bits are to be left alone
Set type: Word containing new type in bits 0-11
Count: unused
Copy Move nul terminated name of destination directory
Copy Local nul terminated destination name
Stamp unused
Find null terminated name of object to find