mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-06-29 11:40:38 +00:00
Allows non-destructive retrieval of version 1.1 color schemes.
Version 1.1 color schemes contained only 6 colors. This patch allows users to maintain their existing schemes while adding keyword and number highlight colors to them. Also: - Invalid schemes are now just skipped, instead of destroyed. - Scheme selection arrows and "Save"/"Erase" buttons are more visible/distinguishable between active/hovered/inactive states. - Confirmation dialog before erasing user schemes.
This commit is contained in:
parent
a1f22afa22
commit
d54a5cc2e3
|
@ -11460,20 +11460,20 @@ FUNCTION idechoosecolorsbox
|
|||
'-------- custom display changes --------
|
||||
'Color scheme selection arrows:
|
||||
LOCATE p.y + 2, p.x + 2
|
||||
IF mY = p.y + 2 AND mX >= p.x + 2 AND mX <= p.x + 4 THEN COLOR 15, 8 ELSE COLOR 0, 7
|
||||
IF SchemeID <= 1 THEN COLOR 2, 7
|
||||
IF mY = p.y + 2 AND mX >= p.x + 2 AND mX <= p.x + 4 THEN COLOR 15, 0 ELSE COLOR 15, 2
|
||||
IF SchemeID <= 1 THEN COLOR 7, 2
|
||||
PRINT " " + CHR$(17) + " ";
|
||||
IF mY = p.y + 2 AND mX >= p.x + 5 AND mX <= p.x + 7 THEN COLOR 15, 8 ELSE COLOR 0, 7
|
||||
IF SchemeID = LastValidColorScheme THEN COLOR 2, 7
|
||||
IF mY = p.y + 2 AND mX >= p.x + 5 AND mX <= p.x + 7 THEN COLOR 15, 0 ELSE COLOR 15, 2
|
||||
IF SchemeID = LastValidColorScheme THEN COLOR 7, 2
|
||||
PRINT " " + CHR$(16) + " ";
|
||||
|
||||
'Color scheme Save and Erase buttons:
|
||||
LOCATE p.y + 2, p.x + 57
|
||||
IF mY = p.y + 2 AND mX >= p.x + 57 AND mX <= p.x + 62 THEN COLOR 15, 8 ELSE COLOR 0, 7
|
||||
IF SchemeID > 0 AND SchemeID <= PresetColorSchemes THEN COLOR 2, 7 'Disable if preset scheme
|
||||
IF mY = p.y + 2 AND mX >= p.x + 57 AND mX <= p.x + 62 THEN COLOR 15, 0 ELSE COLOR 15, 2
|
||||
IF SchemeID > 0 AND SchemeID <= PresetColorSchemes THEN COLOR 7, 2 'Disable if preset scheme
|
||||
PRINT " Save ";
|
||||
IF mY = p.y + 2 AND mX >= p.x + 63 AND mX <= p.x + 67 THEN COLOR 15, 8 ELSE COLOR 0, 7
|
||||
IF SchemeID <= PresetColorSchemes THEN COLOR 2, 7 'Disable if preset scheme or unsaved user-defined
|
||||
IF mY = p.y + 2 AND mX >= p.x + 63 AND mX <= p.x + 67 THEN COLOR 15, 0 ELSE COLOR 15, 2
|
||||
IF SchemeID <= PresetColorSchemes THEN COLOR 7, 2 'Disable if preset scheme or unsaved user-defined
|
||||
PRINT " Erase ";
|
||||
|
||||
COLOR , 7
|
||||
|
@ -11698,14 +11698,16 @@ FUNCTION idechoosecolorsbox
|
|||
ELSEIF mY = p.y + 2 AND mX >= p.x + 63 AND mX <= p.x + 67 THEN
|
||||
'Erase
|
||||
IF SchemeID > PresetColorSchemes THEN
|
||||
'No confirmation will be asked;
|
||||
i = SchemeID - PresetColorSchemes
|
||||
WriteConfigSetting "'[IDE COLOR SCHEMES]", "Scheme" + str2$(i) + "$", "0"
|
||||
LoadColorSchemes
|
||||
SchemeID = SchemeID - 1
|
||||
ChangedScheme = -1
|
||||
SchemeArrow = -1
|
||||
GOTO ValidateScheme
|
||||
what$ = ideyesnobox("Erase color scheme", "This cannot be undone. Erase scheme?")
|
||||
IF what$ = "Y" THEN
|
||||
i = SchemeID - PresetColorSchemes
|
||||
WriteConfigSetting "'[IDE COLOR SCHEMES]", "Scheme" + str2$(i) + "$", "0"
|
||||
LoadColorSchemes
|
||||
SchemeID = SchemeID - 1
|
||||
ChangedScheme = -1
|
||||
SchemeArrow = -1
|
||||
GOTO ValidateScheme
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
END IF
|
||||
|
@ -14183,6 +14185,16 @@ SUB LoadColorSchemes
|
|||
FoundPipe = INSTR(value$, "|")
|
||||
IF FoundPipe > 0 THEN
|
||||
IF LEN(MID$(value$, FoundPipe + 1)) = 72 THEN
|
||||
'Extended schemes (8 colors):
|
||||
LastValidColorScheme = TotalColorSchemes
|
||||
ELSEIF LEN(MID$(value$, FoundPipe + 1)) = 54 THEN
|
||||
'Version 1.1 schemes (only 6 colors)
|
||||
'Convert to extended scheme:
|
||||
temp$ = LEFT$(value$, FoundPipe)
|
||||
temp$ = temp$ + MID$(value$, FoundPipe + 1, 9) + "069147216245128177"
|
||||
temp$ = temp$ + MID$(value$, FoundPipe + 10)
|
||||
ColorSchemes$(TotalColorSchemes) = temp$
|
||||
WriteConfigSetting "'[IDE COLOR SCHEMES]", "Scheme" + str2$(i) + "$", temp$
|
||||
LastValidColorScheme = TotalColorSchemes
|
||||
ELSE
|
||||
GOTO DiscardInvalid
|
||||
|
@ -14190,7 +14202,6 @@ SUB LoadColorSchemes
|
|||
ELSE
|
||||
DiscardInvalid:
|
||||
ColorSchemes$(TotalColorSchemes) = "0"
|
||||
WriteConfigSetting "'[IDE COLOR SCHEMES]", "Scheme" + str2$(i) + "$", "0"
|
||||
END IF
|
||||
ELSE
|
||||
'No more schemes found
|
||||
|
|
Loading…
Reference in a new issue