Commits (5)
  • Robert Sprowson's avatar
    Create intermediates for a (non leaf) new directory · 469d30f3
    Robert Sprowson authored
    The Ursula Filer enhancements (see 1309,211/FS section 4.4) aimed to replace the former 'New directory' writeable with a Save As style draggable box, based on the 'Copy as' one. However, its implementation was asymmetrical.
    Consider what 'Copy as' does:
    * When the dir icon is dragged the leaf is used as the target regardless of what else was typed in the text box
      eg. "foo.bar.baz" when dragged will created "baz" only
    * When text is typed in the box and OK (or enter) pressed
      * If the text is a leaf (no dots) it is prefixed with the containing dir then passed to *COPY
      * Otherwise passed direct to *COPY which will recursively create the steps
        eg. select "baz", type "foo.bar", result is contents of "baz" now copied to "foo.bar.baz" in the CSD - which may not be the containing dir
    Whereas 'New directory' did:
    * When the dir icon is dragged the leaf is used as the target regardless of what else was typed in the text box
    * When text is typed in the box and OK (or enter) pressed
      * If the text is a leaf (no dots) it is prefixed with the containing dir then passed to *CDIR
      * Otherwise passed direct to *CDIR which will error "Not found" since the intermediates are missing
    
    Update the Filer to spot the last case and create the intermediates, before presenting the final path to *CDIR as before.
    
    Clicks.s: For each path element create the directory, then call *CDIR for the final level.
    DecodeMenu.s: Delete dead code.
    PathMunge.s: Correct comment (r1 is preserved).
    
    Version 2.44. Tagged as 'Filer-2_44'
    469d30f3
  • Timothy E Baldwin's avatar
    Allow imagefs files to be applications. · b50359d5
    Timothy E Baldwin authored
    This replicates the functionality of ImageFSFix, which
    is supplied and enabled by default with SparkFS and ArcFS,
    without the detrimental effects of confusing other programs.
    
    Version 2.45. Tagged as 'Filer-2_45'
    b50359d5
  • ROOL's avatar
    Correction to SetCaretPosition parameters · f3dd15d8
    ROOL authored
    Detail:
      MVN #1 is -2, whereas Wimp_SetCaretPosition expects -1 to mean "you calculate for me".
    Admin:
      Spotted during Clipboard Support bounty testing.
    
    Version 2.46. Tagged as 'Filer-2_46'
    f3dd15d8
  • Andy Vawer's avatar
    Add menu messages for Rename (^R) · 0fb3fe13
    Andy Vawer authored
    Version 2.47. Tagged as 'Filer-2_47'
    0fb3fe13
  • Robert Sprowson's avatar
    [489] Fix for Ctrl-X/Ctrl-C clearing Filer rename writable · 70d24384
    Robert Sprowson authored
    When Ctrl-X or Ctrl-C are pressed during a rename the Wimp (via Clipboard Manager) claim the clipboard to denote the text that was placed on it. This sends a Message_ClaimEntity. Unfortunately Filer wasn't discriminating which entity was being claimed, when it is only interested in loss of caret, so removed the writable and aborted the rename.
    Add a check on the entity being claimed; only do something for caret.
    
    Version 2.48. Tagged as 'Filer-2_48'
    70d24384
No preview for this file type
;
; This file is automatically maintained by srccommit, do not edit manually.
; Last processed by srccommit version: 1.1.
;
GBLS Module_MajorVersion
GBLA Module_Version
......@@ -10,14 +9,12 @@
GBLS Module_ApplicationDate
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "2.43"
Module_Version SETA 243
Module_MajorVersion SETS "2.48"
Module_Version SETA 248
Module_MinorVersion SETS ""
Module_Date SETS "29 May 2016"
Module_ApplicationDate SETS "29-May-16"
Module_Date SETS "27 May 2020"
Module_ApplicationDate SETS "27-May-20"
Module_ComponentName SETS "Filer"
Module_ComponentPath SETS "castle/RiscOS/Sources/Desktop/Filer"
Module_FullVersion SETS "2.43"
Module_HelpVersion SETS "2.43 (29 May 2016)"
Module_FullVersion SETS "2.48"
Module_HelpVersion SETS "2.48 (27 May 2020)"
END
/* (2.43)
/* (2.48)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 2.43
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 29 May 2016
#define Module_MajorVersion_CMHG 2.48
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 27 May 2020
#define Module_MajorVersion "2.43"
#define Module_Version 243
#define Module_MajorVersion "2.48"
#define Module_Version 248
#define Module_MinorVersion ""
#define Module_Date "29 May 2016"
#define Module_Date "27 May 2020"
#define Module_ApplicationDate "29-May-16"
#define Module_ApplicationDate "27-May-20"
#define Module_ComponentName "Filer"
#define Module_ComponentPath "castle/RiscOS/Sources/Desktop/Filer"
#define Module_FullVersion "2.43"
#define Module_HelpVersion "2.43 (29 May 2016)"
#define Module_LibraryVersionInfo "2:43"
#define Module_FullVersion "2.48"
#define Module_HelpVersion "2.48 (27 May 2020)"
#define Module_LibraryVersionInfo "2:48"
......@@ -1215,9 +1215,7 @@ DoSetAccess
; Stuff the menu tree if the right button wasn't the one used.
LDR r14, buttonstate
TST r14, #button_right
BEQ %FT96
EXIT
EXIT NE
96 BL NobbleMenuTree ; WE have to kill menu tree
......@@ -1228,7 +1226,6 @@ DoSetAccess
click_newdir_click ROUT ; NOENTRY
BL ClearAllSelections
;BL NobbleMenuTree
ADR r1, userdata
ADR r2, cdir_command
......@@ -1237,12 +1234,41 @@ click_newdir_click ROUT ; NOENTRY
LDR r1, newdirbox_text
BL FindLeafname
CMP r1, r2
BEQ %FT08
BEQ %FT08 ; Leaf alone
MOV r2, r1
ADR r1, userdata
BL strcat_excludingspaces
B %FT10
ADD r6, r1, #5 ; Past 'cdir '
MOV r1, r6
BL strlen
02
MOV r1, r6
BL TryLeafStrip
BNE %BT02
ADD r3, r6, r3 ; Leftmost non leaf
04
LDRB r2, [r3]
TEQ r2, #0
ADREQ r1, userdata
BEQ %FT10 ; Do final leaf with OSCLI
MOV r0, #0
STRB r0, [r3] ; Temp terminator
MOV r4, #0
MOV r1, r6
MOV r0, #OSFile_CreateDir
SWI XOS_File ; Create intermediates
STRB r2, [r3]
06
LDRB r2, [r3, #1]!
TEQ r2, #"."
TEQNE r2, #0
BNE %BT06
B %BT04 ; Next element
08
ADR r1, userdata
LDR r2, sel_dirname
......@@ -1352,11 +1378,10 @@ click_copysave_click ROUT ; NOENTRY
; staying up unless WE kill it.
LDR r14, buttonstate ; Trying to keep menu tree open ?
TST r14, #button_right
BEQ %FT96
; Don't recreate menu selection - it won't be correct and also causes
; the access box to be permanently closed for this menu up.
EXIT
EXIT NE
; Nobble the menu - right button wasn't used
96
......
......@@ -75,9 +75,6 @@ DecodeMenu Entry
CMP r14, #mo_main_openparent
BEQ DecodeMenu_OpenParent
;CMP r14, #mo_main_newdir
;BEQ DecodeMenu_NewDir
CMP r14, #mo_main_selectall
BEQ DecodeMenu_SelectAll
......@@ -1158,20 +1155,6 @@ DecodeMenu_File_Help ROUT ; NOENTRY
]
EXIT
; .............................................................................
; In r0 = subselection
DecodeMenu_NewDir ROUT ; NOENTRY
LDR r1, newdirbox_text
ADR r2, cdir_click_name
BL strcpy
BL click_newdir_click
EXIT
cdir_click_name DCB "Directory",0
; .............................................................................
; Count the given directory
......
......@@ -1036,9 +1036,11 @@ cache_length_lookup
message_claim_entity ;Entry
LDR r0, [r1, #4] ; load sender's task handle
LDR r2, mytaskhandle ; load my task handle
CMP r0, r2 ; are they the same?
LDR r2, [r1, #msClaimEntity_flags]
TST r2, #3 ; caret?
LDRNE r0, [r1, #4] ; load sender's task handle
LDRNE r2, mytaskhandle ; load my task handle
CMPNE r0, r2 ; are they the same?
BLNE remove_rename_writeable ; if different, remove the writeable icon
EXIT
......
......@@ -53,7 +53,7 @@ ExtractDirprefix Entry "r3"
; In r1 -> dirname
; r3 = span to consider
; Out NE: r3 = new span (+r1 -> where to bonk name)
; Out NE: r3 = new span
; EQ: no leafname strippable, r3 unchanged
TryLeafStrip Entry "r1, r3"
......
......@@ -178,8 +178,8 @@ create_rename_writeable
LDR r2, relmousex ; Set caret position according to mouse x and y
LDR r3, relmousey
MVN r4, #1
MVN r5, #1
MOV r4, #-1
MOV r5, #-1
SWI XWimp_SetCaretPosition
......
......@@ -141,8 +141,8 @@ SussPlingApplic Entry "r0"
SussPlingApplic_ReturnError Entry "r0-r8"
LDRB r14, [r5, #df_type]
CMP r14, #dft_dir
BEQ %FT05
TST r14, #dft_dir
BNE %FT05
MOV r14, #-1
STR r14, [r5, #df_helptype]
CLRV
......