1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-06-26 17:10:38 +00:00

Makes Edit menu aware of the Help System.

This commit is contained in:
FellippeHeitor 2021-01-08 01:31:45 -03:00
parent f5074c221d
commit 4ed7a5b233

View file

@ -1888,6 +1888,7 @@ FUNCTION ide2 (ignore)
IF LEN(K$) = 1 THEN
k = ASC(K$)
IF (KSHIFT AND KB = KEY_INSERT) OR (KCONTROL AND UCASE$(K$) = "V") THEN 'paste from clipboard
pasteIntoSearchField:
clip$ = _CLIPBOARD$ 'read clipboard
x = INSTR(clip$, CHR$(13))
IF x THEN clip$ = LEFT$(clip$, x - 1)
@ -1914,6 +1915,7 @@ FUNCTION ide2 (ignore)
END IF
IF (KCONTROL AND UCASE$(K$) = "A") THEN 'select all
selectAllInSearchField:
IF LEN(a$) > 0 THEN
idesystem2.issel = -1
idesystem2.sx1 = 0
@ -1923,6 +1925,7 @@ FUNCTION ide2 (ignore)
END IF
IF ((KCTRL AND KB = KEY_INSERT) OR (KCONTROL AND UCASE$(K$) = "C")) THEN 'copy to clipboard
copysearchterm2clip:
IF idesystem2.issel THEN
sx1 = idesystem2.sx1: sx2 = idesystem2.v1
IF sx1 > sx2 THEN SWAP sx1, sx2
@ -1932,6 +1935,7 @@ FUNCTION ide2 (ignore)
END IF
IF ((KSHIFT AND KB = KEY_DELETE) OR (KCONTROL AND UCASE$(K$) = "X")) THEN 'cut to clipboard
cutToClipboardSearchField:
IF idesystem2.issel THEN
sx1 = idesystem2.sx1: sx2 = idesystem2.v1
IF sx1 > sx2 THEN SWAP sx1, sx2
@ -2004,6 +2008,7 @@ FUNCTION ide2 (ignore)
END IF
IF K$ = CHR$(0) + "S" THEN 'DEL
deleteSelectionSearchField:
IF idesystem2.issel THEN
sx1 = idesystem2.sx1: sx2 = idesystem2.v1
IF sx1 > sx2 THEN SWAP sx1, sx2
@ -2108,6 +2113,7 @@ FUNCTION ide2 (ignore)
END IF
IF KCONTROL AND UCASE$(K$) = "A" THEN 'select all
selectAllInHelp:
IF help_h THEN
Help_Select = 2
Help_SelX1 = 1
@ -2120,6 +2126,7 @@ FUNCTION ide2 (ignore)
END IF
IF ((KCTRL AND KB = KEY_INSERT) OR (KCONTROL AND UCASE$(K$) = "C")) AND Help_Select = 2 THEN 'copy to clipboard
copyhelp2clip:
clip$ = ""
FOR y = Help_SelY1 TO Help_SelY2
IF y <> Help_SelY1 THEN clip$ = clip$ + CHR$(13) + CHR$(10)
@ -5474,29 +5481,36 @@ FUNCTION ide2 (ignore)
IF menu$(m, s) = "Cl#ear Del" THEN
PCOPY 3, 0: SCREEN , , 3, 0: idewait4mous: idewait4alt
IF ideselect = 1 THEN
IF IdeSystem = 1 AND ideselect = 1 THEN
idechangemade = 1
GOSUB delselect
ELSEIF IdeSystem = 2 THEN
GOTO deleteSelectionSearchField
END IF
GOTO ideloop
END IF
IF menu$(m, s) = "#Paste Shift+Ins or Ctrl+V" THEN
PCOPY 3, 0: SCREEN , , 3, 0: idewait4mous: idewait4alt
GOTO idempaste
IF IdeSystem = 1 THEN GOTO idempaste
IF IdeSystem = 2 THEN GOTO pasteIntoSearchField
END IF
IF menu$(m, s) = "#Copy Ctrl+Ins or Ctrl+C" THEN
PCOPY 3, 0: SCREEN , , 3, 0: idewait4mous: idewait4alt
IF ideselect = 1 THEN GOTO copy2clip
IF IdeSystem = 1 AND ideselect = 1 THEN GOTO copy2clip
IF IdeSystem = 2 THEN GOTO copysearchterm2clip
IF IdeSystem = 3 AND Help_Select = 2 THEN GOTO copyhelp2clip
GOTO ideloop
END IF
IF menu$(m, s) = "Cu#t Shift+Del or Ctrl+X" THEN
PCOPY 3, 0: SCREEN , , 3, 0: idewait4mous: idewait4alt
IF ideselect = 1 THEN
IF IdeSystem = 1 AND ideselect = 1 THEN
K$ = CHR$(0) + "S" 'tricks handler into del after copy
GOTO idemcut
ELSEIF IdeSystem = 2 THEN
GOTO cutToClipboardSearchField
END IF
GOTO ideloop
END IF
@ -5514,7 +5528,9 @@ FUNCTION ide2 (ignore)
IF menu$(m, s) = "Select #All Ctrl+A" THEN
PCOPY 3, 0: SCREEN , , 3, 0: idewait4mous: idewait4alt
GOTO idemselectall
IF IdeSystem = 1 THEN GOTO idemselectall
IF IdeSystem = 2 THEN GOTO selectAllInSearchField
IF IdeSystem = 3 THEN GOTO selectAllInHelp
END IF
IF menu$(m, s) = "#Start F5" THEN
@ -8728,7 +8744,7 @@ SUB ideshowtext
IF l = idefocusline AND idecy <> l THEN
COLOR 7, 4 'Line with error gets a red background
ELSEIF idecy = l OR (l >= idecy_multilinestart AND l <= idecy_multilineend) THEN
IF HideCurrentLineHighlight = 0 THEN COLOR 7, 6 'Highlight the current line
IF HideCurrentLineHighlight = 0 AND IdeSystem = 1 THEN COLOR 7, 6 'Highlight the current line
ELSE
COLOR 7, 1 'Regular text color
END IF
@ -9021,7 +9037,7 @@ SUB ideshowtext
NEXT m
'apply selection color change if necessary
IF ideselect THEN
IF IdeSystem = 1 AND ideselect <> 0 THEN
IF l >= sy1 AND l <= sy2 THEN
IF sy1 = sy2 THEN 'single line select
COLOR 1, 7
@ -13708,7 +13724,7 @@ SUB Help_ShowText
LOCATE sy, sx
DO UNTIL c = 13
COLOR col AND 15, col \ 16
IF Help_Select = 2 THEN
IF IdeSystem = 3 AND Help_Select = 2 THEN
IF y >= Help_SelY1 AND y <= Help_SelY2 THEN
IF x3 >= Help_SelX1 AND x3 <= Help_SelX2 THEN
COLOR 0, 7
@ -13729,7 +13745,7 @@ SUB Help_ShowText
FOR x4 = 1 TO Help_wx2 - POS(0) + 1
IF col = 0 THEN col = 7
COLOR col AND 15, col \ 16
IF Help_Select = 2 THEN
IF IdeSystem = 3 AND Help_Select = 2 THEN
IF y >= Help_SelY1 AND y <= Help_SelY2 THEN
IF x3 >= Help_SelX1 AND x3 <= Help_SelX2 THEN
COLOR 0, 7
@ -13747,7 +13763,7 @@ SUB Help_ShowText
x3 = Help_sx
FOR x4 = 1 TO Help_ww
COLOR 7, 0
IF Help_Select = 2 THEN
IF IdeSystem = 3 AND Help_Select = 2 THEN
IF y >= Help_SelY1 AND y <= Help_SelY2 THEN
IF x3 >= Help_SelX1 AND x3 <= Help_SelX2 THEN
COLOR 0, 7
@ -14405,8 +14421,11 @@ SUB IdeMakeContextualMenu
NoRGBFound:
'--------- _RGB mixer check done. --------------------------------------------
IF ideselect THEN menu$(m, i) = "Cu#t Shift+Del or Ctrl+X": i = i + 1
IF ideselect THEN menu$(m, i) = "#Copy Ctrl+Ins or Ctrl+C": i = i + 1
IF (IdeSystem = 1 AND ideselect <> 0) THEN menu$(m, i) = "Cu#t Shift+Del or Ctrl+X": i = i + 1
IF (IdeSystem = 1 AND ideselect = 1) OR _
(IdeSystem = 3 AND Help_Select = 2) THEN
menu$(m, i) = "#Copy Ctrl+Ins or Ctrl+C": i = i + 1
END IF
clip$ = _CLIPBOARD$ 'read clipboard
IF LEN(clip$) THEN menu$(m, i) = "#Paste Shift+Ins or Ctrl+V": i = i + 1
@ -14454,52 +14473,68 @@ SUB IdeMakeEditMenu
m = ideeditmenuID: i = 0
menu$(m, i) = "Edit": i = i + 1
menu$(m, i) = "#Undo Ctrl+Z": i = i + 1
menu$(m, i) = "#Redo Ctrl+Y": i = i + 1
IF IdeSystem = 1 THEN
menu$(m, i) = "#Undo Ctrl+Z": i = i + 1
menu$(m, i) = "#Redo Ctrl+Y": i = i + 1
ELSE
menu$(m, i) = "~#Undo Ctrl+Z": i = i + 1
menu$(m, i) = "~#Redo Ctrl+Y": i = i + 1
END IF
menu$(m, i) = "-": i = i + 1
IF ideselect THEN
IF (IdeSystem = 1 AND ideselect = 1) OR IdeSystem = 2 THEN
menu$(m, i) = "Cu#t Shift+Del or Ctrl+X": i = i + 1
menu$(m, i) = "#Copy Ctrl+Ins or Ctrl+C": i = i + 1
ELSEIF (IdeSystem = 3 AND Help_Select = 2) THEN
menu$(m, i) = "~Cu#t Shift+Del or Ctrl+X": i = i + 1
menu$(m, i) = "#Copy Ctrl+Ins or Ctrl+C": i = i + 1
ELSE
menu$(m, i) = "~Cu#t Shift+Del or Ctrl+X": i = i + 1
menu$(m, i) = "~#Copy Ctrl+Ins or Ctrl+C": i = i + 1
END IF
clip$ = _CLIPBOARD$ 'read clipboard
IF LEN(clip$) THEN
IF (LEN(clip$) > 0 AND IdeSystem = 1) OR IdeSystem = 2 THEN
menu$(m, i) = "#Paste Shift+Ins or Ctrl+V": i = i + 1
ELSE
menu$(m, i) = "~#Paste Shift+Ins or Ctrl+V": i = i + 1
END IF
IF ideselect THEN
IF (IdeSystem = 1 AND ideselect = 1) OR IdeSystem = 2 THEN
menu$(m, i) = "Cl#ear Del": i = i + 1
ELSE
menu$(m, i) = "~Cl#ear Del": i = i + 1
END IF
menu$(m, i) = "Select #All Ctrl+A": i = i + 1
menu$(m, i) = "-": i = i + 1
menu$(m, i) = "To#ggle Comment Ctrl+T": i = i + 1
menu$(m, i) = "Add Co#mment (') Ctrl+R": i = i + 1
menu$(m, i) = "Remove Comme#nt (') Ctrl+Shift+R": i = i + 1
IF ideselect THEN
y1 = idecy
y2 = ideselecty1
IF y1 = y2 THEN 'single line selected
a$ = idegetline(idecy)
a2$ = ""
sx1 = ideselectx1: sx2 = idecx
IF sx2 < sx1 THEN SWAP sx1, sx2
FOR x = sx1 TO sx2 - 1
IF x <= LEN(a$) THEN a2$ = a2$ + MID$(a$, x, 1) ELSE a2$ = a2$ + " "
NEXT
IF a2$ = "" THEN
menu$(m, i) = "~#Increase Indent TAB": i = i + 1
menu$(m, i) = "~#Decrease Indent"
IF INSTR(_OS$, "WIN") OR INSTR(_OS$, "MAC") THEN menu$(m, i) = menu$(m, i) + " Shift+TAB"
i = i + 1
IF IdeSystem = 1 THEN
menu$(m, i) = "-": i = i + 1
menu$(m, i) = "To#ggle Comment Ctrl+T": i = i + 1
menu$(m, i) = "Add Co#mment (') Ctrl+R": i = i + 1
menu$(m, i) = "Remove Comme#nt (') Ctrl+Shift+R": i = i + 1
IF ideselect THEN
y1 = idecy
y2 = ideselecty1
IF y1 = y2 THEN 'single line selected
a$ = idegetline(idecy)
a2$ = ""
sx1 = ideselectx1: sx2 = idecx
IF sx2 < sx1 THEN SWAP sx1, sx2
FOR x = sx1 TO sx2 - 1
IF x <= LEN(a$) THEN a2$ = a2$ + MID$(a$, x, 1) ELSE a2$ = a2$ + " "
NEXT
IF a2$ = "" THEN
menu$(m, i) = "~#Increase Indent TAB": i = i + 1
menu$(m, i) = "~#Decrease Indent"
IF INSTR(_OS$, "WIN") OR INSTR(_OS$, "MAC") THEN menu$(m, i) = menu$(m, i) + " Shift+TAB"
i = i + 1
ELSE
menu$(m, i) = "#Increase Indent TAB": i = i + 1
menu$(m, i) = "#Decrease Indent"
IF INSTR(_OS$, "WIN") OR INSTR(_OS$, "MAC") THEN menu$(m, i) = menu$(m, i) + " Shift+TAB"
i = i + 1
END IF
ELSE
menu$(m, i) = "#Increase Indent TAB": i = i + 1
menu$(m, i) = "#Decrease Indent"
@ -14507,20 +14542,27 @@ SUB IdeMakeEditMenu
i = i + 1
END IF
ELSE
menu$(m, i) = "#Increase Indent TAB": i = i + 1
menu$(m, i) = "#Decrease Indent"
menu$(m, i) = "~#Increase Indent TAB": i = i + 1
menu$(m, i) = "~#Decrease Indent"
IF INSTR(_OS$, "WIN") OR INSTR(_OS$, "MAC") THEN menu$(m, i) = menu$(m, i) + " Shift+TAB"
i = i + 1
END IF
menu$(m, i) = "-": i = i + 1
menu$(m, i) = "New #SUB...": i = i + 1
menu$(m, i) = "New #FUNCTION...": i = i + 1
ELSE
menu$(m, i) = "-": i = i + 1
menu$(m, i) = "~To#ggle Comment Ctrl+T": i = i + 1
menu$(m, i) = "~Add Co#mment (') Ctrl+R": i = i + 1
menu$(m, i) = "~Remove Comme#nt (') Ctrl+Shift+R": i = i + 1
menu$(m, i) = "~#Increase Indent TAB": i = i + 1
menu$(m, i) = "~#Decrease Indent"
IF INSTR(_OS$, "WIN") OR INSTR(_OS$, "MAC") THEN menu$(m, i) = menu$(m, i) + " Shift+TAB"
i = i + 1
menu$(m, i) = "-": i = i + 1
menu$(m, i) = "~New #SUB...": i = i + 1
menu$(m, i) = "~New #FUNCTION...": i = i + 1
END IF
menu$(m, i) = "-": i = i + 1
menu$(m, i) = "New #SUB...": i = i + 1
menu$(m, i) = "New #FUNCTION...": i = i + 1
menusize(m) = i - 1
END SUB