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 --------
|
'-------- custom display changes --------
|
||||||
'Color scheme selection arrows:
|
'Color scheme selection arrows:
|
||||||
LOCATE p.y + 2, p.x + 2
|
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 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 2, 7
|
IF SchemeID <= 1 THEN COLOR 7, 2
|
||||||
PRINT " " + CHR$(17) + " ";
|
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 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 2, 7
|
IF SchemeID = LastValidColorScheme THEN COLOR 7, 2
|
||||||
PRINT " " + CHR$(16) + " ";
|
PRINT " " + CHR$(16) + " ";
|
||||||
|
|
||||||
'Color scheme Save and Erase buttons:
|
'Color scheme Save and Erase buttons:
|
||||||
LOCATE p.y + 2, p.x + 57
|
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 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 2, 7 'Disable if preset scheme
|
IF SchemeID > 0 AND SchemeID <= PresetColorSchemes THEN COLOR 7, 2 'Disable if preset scheme
|
||||||
PRINT " Save ";
|
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 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 2, 7 'Disable if preset scheme or unsaved user-defined
|
IF SchemeID <= PresetColorSchemes THEN COLOR 7, 2 'Disable if preset scheme or unsaved user-defined
|
||||||
PRINT " Erase ";
|
PRINT " Erase ";
|
||||||
|
|
||||||
COLOR , 7
|
COLOR , 7
|
||||||
|
@ -11698,14 +11698,16 @@ FUNCTION idechoosecolorsbox
|
||||||
ELSEIF mY = p.y + 2 AND mX >= p.x + 63 AND mX <= p.x + 67 THEN
|
ELSEIF mY = p.y + 2 AND mX >= p.x + 63 AND mX <= p.x + 67 THEN
|
||||||
'Erase
|
'Erase
|
||||||
IF SchemeID > PresetColorSchemes THEN
|
IF SchemeID > PresetColorSchemes THEN
|
||||||
'No confirmation will be asked;
|
what$ = ideyesnobox("Erase color scheme", "This cannot be undone. Erase scheme?")
|
||||||
i = SchemeID - PresetColorSchemes
|
IF what$ = "Y" THEN
|
||||||
WriteConfigSetting "'[IDE COLOR SCHEMES]", "Scheme" + str2$(i) + "$", "0"
|
i = SchemeID - PresetColorSchemes
|
||||||
LoadColorSchemes
|
WriteConfigSetting "'[IDE COLOR SCHEMES]", "Scheme" + str2$(i) + "$", "0"
|
||||||
SchemeID = SchemeID - 1
|
LoadColorSchemes
|
||||||
ChangedScheme = -1
|
SchemeID = SchemeID - 1
|
||||||
SchemeArrow = -1
|
ChangedScheme = -1
|
||||||
GOTO ValidateScheme
|
SchemeArrow = -1
|
||||||
|
GOTO ValidateScheme
|
||||||
|
END IF
|
||||||
END IF
|
END IF
|
||||||
END IF
|
END IF
|
||||||
END IF
|
END IF
|
||||||
|
@ -14183,6 +14185,16 @@ SUB LoadColorSchemes
|
||||||
FoundPipe = INSTR(value$, "|")
|
FoundPipe = INSTR(value$, "|")
|
||||||
IF FoundPipe > 0 THEN
|
IF FoundPipe > 0 THEN
|
||||||
IF LEN(MID$(value$, FoundPipe + 1)) = 72 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
|
LastValidColorScheme = TotalColorSchemes
|
||||||
ELSE
|
ELSE
|
||||||
GOTO DiscardInvalid
|
GOTO DiscardInvalid
|
||||||
|
@ -14190,7 +14202,6 @@ SUB LoadColorSchemes
|
||||||
ELSE
|
ELSE
|
||||||
DiscardInvalid:
|
DiscardInvalid:
|
||||||
ColorSchemes$(TotalColorSchemes) = "0"
|
ColorSchemes$(TotalColorSchemes) = "0"
|
||||||
WriteConfigSetting "'[IDE COLOR SCHEMES]", "Scheme" + str2$(i) + "$", "0"
|
|
||||||
END IF
|
END IF
|
||||||
ELSE
|
ELSE
|
||||||
'No more schemes found
|
'No more schemes found
|
||||||
|
|
Loading…
Reference in a new issue