Commit 1e0370b7 authored by Ben Avison's avatar Ben Avison
Browse files

Added automatic translation of spaces to hard spaces in writeable icons that...

Added automatic translation of spaces to hard spaces in writeable icons that forbid the former but allow the latter. This effectively allows spaces in filenames.

Version 4.87. Tagged as 'Wimp-4_87'
parent d8fd0994
......@@ -82,6 +82,7 @@
Option FullIconClipping, false :LAND: RO4 ; always clip the whole of icons to their bounding boxes rather than letting sprites overlap
Option Sprites11, true ; new sprite selection scheme that allows use of Sprites11 files
Option SpacesInFilenames, true ; when hard space is allowed but space is not, convert
END
......@@ -11,13 +11,13 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "4.86"
Module_Version SETA 486
Module_MajorVersion SETS "4.87"
Module_Version SETA 487
Module_MinorVersion SETS ""
Module_Date SETS "23 Jan 2003"
Module_ApplicationDate SETS "23-Jan-03"
Module_Date SETS "24 Jan 2003"
Module_ApplicationDate SETS "24-Jan-03"
Module_ComponentName SETS "Wimp"
Module_ComponentPath SETS "RiscOS/Sources/Desktop/Wimp"
Module_FullVersion SETS "4.86"
Module_HelpVersion SETS "4.86 (23 Jan 2003)"
Module_FullVersion SETS "4.87"
Module_HelpVersion SETS "4.87 (24 Jan 2003)"
END
/* (4.86)
/* (4.87)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.68.
*
*/
#define Module_MajorVersion_CMHG 4.86
#define Module_MajorVersion_CMHG 4.87
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 23 Jan 2003
#define Module_Date_CMHG 24 Jan 2003
#define Module_MajorVersion "4.86"
#define Module_Version 486
#define Module_MajorVersion "4.87"
#define Module_Version 487
#define Module_MinorVersion ""
#define Module_Date "23 Jan 2003"
#define Module_Date "24 Jan 2003"
#define Module_ApplicationDate "23-Jan-03"
#define Module_ApplicationDate "24-Jan-03"
#define Module_ComponentName "Wimp"
#define Module_ComponentPath "RiscOS/Sources/Desktop/Wimp"
#define Module_FullVersion "4.86"
#define Module_HelpVersion "4.86 (23 Jan 2003)"
#define Module_LibraryVersionInfo "4:86"
#define Module_FullVersion "4.87"
#define Module_HelpVersion "4.87 (24 Jan 2003)"
#define Module_LibraryVersionInfo "4:87"
......@@ -3007,19 +3007,33 @@ read_current_alphabet
EXIT
]
; checkvalid - scan validation string to see if char is acceptable
; Entry: R3 -> validation string (<=0 ==> none)
; R6 = char under consideration
; alphabet = current alphabet
; [alphabet] = current alphabet
; [ SpacesInFilenames
; [ UTF8
; R4 = length of character (string form)
; [tempworkspace] = char under consideration (string form)
; ]
; [savedcharcode] = char under consideration (word form)
; ]
; Exit: Z set ==> char is OK
; Z unset ==> pass back to user instead
; [ SpacesInFilenames
; R4, [tempworkspace], R6, [savedcharcode] may be updated (R6 only used in non-UTF8 case)
; ]
; R7 = 0/1 char is OK/not OK so far
; R8 = 0/1 we are trying to in/exclude characters
checkvalid
[ SpacesInFilenames
TEQ R6,#' '
BEQ checkvalid_convertspace
checkvalid_lateentry
]
CMP R3,R3,ASR #31
MOVEQ PC,LR ; Z set ==> char ok
......@@ -3154,6 +3168,29 @@ checkvalid_getchar ; also used in interpreting WimpValidation_Display
EXITS
]
[ SpacesInFilenames
checkvalid_convertspace
Entry
BL checkvalid_lateentry
EXIT EQ ; space is already OK
MOV R6, #&A0
BL checkvalid_lateentry
MOVNE R6, #' ' ; hard space not allowed either, so put back soft space
EXIT NE
STR R6, savedcharcode
[ UTF8
LDRB R14, alphabet
TEQ R14, #ISOAlphabet_UTF8
STRNEB R6, tempworkspace ; change string to &A0 if not UTF-8
MOVEQ R14, #&C2
STREQB R14, tempworkspace ; change string to &C2 &A0 if UTF-8
STREQB R6, tempworkspace+1
MOVEQ R4, #2
TEQNE R0, R0 ; restore EQ condition
]
EXIT
]
; Entry: R2 = command to find (upper-case)
; R3 --> validation string
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment