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 name
new swi fileraction_sendselection
r0 Task handle to send the message
r1 Points to nul terminated selection name
new 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 file
ms_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