mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-07-01 12:40:36 +00:00
Minor adjustments (cursor after pasted contents and textboxes in dialogs)
The setting to place the cursor after the pasted contents is now observed in textboxes (dialog boxes) and also in the quick search field. Also: - Textboxes are now always selected upon receiving focus in dialog boxes, in order to mimic modern OS's behavior.
This commit is contained in:
parent
5e4e4e2e33
commit
a0506884f8
|
@ -3,5 +3,5 @@ DIM SHARED BuildNum AS STRING
|
||||||
Version$ = "1.000"
|
Version$ = "1.000"
|
||||||
'BuildNum format is YYYYMMDD/id, where id is a ever-increasing
|
'BuildNum format is YYYYMMDD/id, where id is a ever-increasing
|
||||||
'integer. If you make a change, update the date and increase the id!
|
'integer. If you make a change, update the date and increase the id!
|
||||||
BuildNum$ = "20160524/16"
|
BuildNum$ = "20160609/17"
|
||||||
|
|
||||||
|
|
|
@ -1641,10 +1641,14 @@ DO
|
||||||
IF sx2 - sx1 > 0 THEN
|
IF sx2 - sx1 > 0 THEN
|
||||||
a$ = LEFT$(a$, sx1) + clip$ + RIGHT$(a$, LEN(a$) - sx2)
|
a$ = LEFT$(a$, sx1) + clip$ + RIGHT$(a$, LEN(a$) - sx2)
|
||||||
idesystem2.v1 = sx1
|
idesystem2.v1 = sx1
|
||||||
|
IF PasteCursorAtEnd THEN
|
||||||
|
idesystem2.v1 = sx1 + LEN(clip$)
|
||||||
|
END IF
|
||||||
idesystem2.issel = 0
|
idesystem2.issel = 0
|
||||||
END IF
|
END IF
|
||||||
ELSE
|
ELSE
|
||||||
a$ = LEFT$(a$, idesystem2.v1) + clip$ + RIGHT$(a$, LEN(a$) - idesystem2.v1)
|
a$ = LEFT$(a$, idesystem2.v1) + clip$ + RIGHT$(a$, LEN(a$) - idesystem2.v1)
|
||||||
|
IF PasteCursorAtEnd THEN idesystem2.v1 = idesystem2.v1 + LEN(clip$)
|
||||||
END IF
|
END IF
|
||||||
END IF
|
END IF
|
||||||
k = 255
|
k = 255
|
||||||
|
@ -4737,6 +4741,7 @@ ln = 0
|
||||||
i = 0
|
i = 0
|
||||||
idepar p, 60, 12, "Change"
|
idepar p, 60, 12, "Change"
|
||||||
i = i + 1
|
i = i + 1
|
||||||
|
PrevFocus = 1
|
||||||
o(i).typ = 1
|
o(i).typ = 1
|
||||||
o(i).y = 2
|
o(i).y = 2
|
||||||
o(i).nam = idenewtxt("#Find What")
|
o(i).nam = idenewtxt("#Find What")
|
||||||
|
@ -4776,7 +4781,7 @@ o(i).sel = idefindbackwards
|
||||||
|
|
||||||
i = i + 1
|
i = i + 1
|
||||||
o(i).typ = 3
|
o(i).typ = 3
|
||||||
o(i).y = 11
|
o(i).y = 12
|
||||||
o(i).txt = idenewtxt("Find and #Verify" + sep + "#Change All" + sep + "Cancel")
|
o(i).txt = idenewtxt("Find and #Verify" + sep + "#Change All" + sep + "Cancel")
|
||||||
o(i).dft = 1
|
o(i).dft = 1
|
||||||
'-------- end of init --------
|
'-------- end of init --------
|
||||||
|
@ -4859,6 +4864,15 @@ DO 'main loop
|
||||||
'-------- end of generic input response --------
|
'-------- end of generic input response --------
|
||||||
|
|
||||||
'specific post controls
|
'specific post controls
|
||||||
|
IF focus <> PrevFocus THEN
|
||||||
|
'Always start with TextBox values selected upon getting focus
|
||||||
|
PrevFocus = focus
|
||||||
|
IF focus = 1 or focus = 2 THEN
|
||||||
|
o(focus).v1 = LEN(idetxt(o(focus).txt))
|
||||||
|
o(focus).issel = -1
|
||||||
|
o(focus).sx1 = 0
|
||||||
|
END IF
|
||||||
|
END IF
|
||||||
|
|
||||||
IF K$ = CHR$(27) OR (focus = 8 AND info <> 0) THEN
|
IF K$ = CHR$(27) OR (focus = 8 AND info <> 0) THEN
|
||||||
idechange$ = "C"
|
idechange$ = "C"
|
||||||
|
@ -5722,6 +5736,7 @@ ln = 0
|
||||||
i = 0
|
i = 0
|
||||||
idepar p, 60, 9, "Find"
|
idepar p, 60, 9, "Find"
|
||||||
i = i + 1
|
i = i + 1
|
||||||
|
PrevFocus = 1
|
||||||
o(i).typ = 1
|
o(i).typ = 1
|
||||||
o(i).y = 2
|
o(i).y = 2
|
||||||
o(i).nam = idenewtxt("#Find What")
|
o(i).nam = idenewtxt("#Find What")
|
||||||
|
@ -5832,6 +5847,15 @@ DO 'main loop
|
||||||
'-------- end of generic input response --------
|
'-------- end of generic input response --------
|
||||||
|
|
||||||
'specific post controls
|
'specific post controls
|
||||||
|
IF focus <> PrevFocus THEN
|
||||||
|
'Always start with TextBox values selected upon getting focus
|
||||||
|
PrevFocus = focus
|
||||||
|
IF focus = 1 THEN
|
||||||
|
o(focus).v1 = LEN(idetxt(o(focus).txt))
|
||||||
|
o(focus).issel = -1
|
||||||
|
o(focus).sx1 = 0
|
||||||
|
END IF
|
||||||
|
END IF
|
||||||
|
|
||||||
IF K$ = CHR$(27) OR (focus = 6 AND info <> 0) THEN
|
IF K$ = CHR$(27) OR (focus = 6 AND info <> 0) THEN
|
||||||
idefind$ = "C"
|
idefind$ = "C"
|
||||||
|
@ -6186,6 +6210,7 @@ i = 0
|
||||||
idepar p, 60, 5, "New " + sf$
|
idepar p, 60, 5, "New " + sf$
|
||||||
|
|
||||||
i = i + 1
|
i = i + 1
|
||||||
|
PrevFocus = 1
|
||||||
o(i).typ = 1
|
o(i).typ = 1
|
||||||
o(i).y = 2
|
o(i).y = 2
|
||||||
o(i).nam = idenewtxt("#Name")
|
o(i).nam = idenewtxt("#Name")
|
||||||
|
@ -6274,6 +6299,15 @@ DO 'main loop
|
||||||
'-------- end of generic input response --------
|
'-------- end of generic input response --------
|
||||||
|
|
||||||
'specific post controls
|
'specific post controls
|
||||||
|
IF focus <> PrevFocus THEN
|
||||||
|
'Always start with TextBox values selected upon getting focus
|
||||||
|
PrevFocus = focus
|
||||||
|
IF focus = 1 THEN
|
||||||
|
o(focus).v1 = LEN(idetxt(o(focus).txt))
|
||||||
|
o(focus).issel = -1
|
||||||
|
o(focus).sx1 = 0
|
||||||
|
END IF
|
||||||
|
END IF
|
||||||
|
|
||||||
IF K$ = CHR$(27) OR (focus = 3 AND info <> 0) THEN
|
IF K$ = CHR$(27) OR (focus = 3 AND info <> 0) THEN
|
||||||
EXIT SUB
|
EXIT SUB
|
||||||
|
@ -6446,6 +6480,7 @@ pathlist$ = idezpathlist$(path$)
|
||||||
i = 0
|
i = 0
|
||||||
idepar p, 70, idewy + idesubwindow - 7, "Open"
|
idepar p, 70, idewy + idesubwindow - 7, "Open"
|
||||||
i = i + 1
|
i = i + 1
|
||||||
|
PrevFocus = 1
|
||||||
o(i).typ = 1
|
o(i).typ = 1
|
||||||
o(i).y = 2
|
o(i).y = 2
|
||||||
o(i).nam = idenewtxt("File #Name")
|
o(i).nam = idenewtxt("File #Name")
|
||||||
|
@ -6562,6 +6597,15 @@ DO 'main loop
|
||||||
|
|
||||||
|
|
||||||
'specific post controls
|
'specific post controls
|
||||||
|
IF focus <> PrevFocus THEN
|
||||||
|
'Always start with TextBox values selected upon getting focus
|
||||||
|
PrevFocus = focus
|
||||||
|
IF focus = 1 THEN
|
||||||
|
o(focus).v1 = LEN(idetxt(o(focus).txt))
|
||||||
|
o(focus).issel = -1
|
||||||
|
o(focus).sx1 = 0
|
||||||
|
END IF
|
||||||
|
END IF
|
||||||
|
|
||||||
IF AllFiles = 1 AND o(4).sel <> 0 THEN
|
IF AllFiles = 1 AND o(4).sel <> 0 THEN
|
||||||
AllFiles = 0
|
AllFiles = 0
|
||||||
|
@ -6953,6 +6997,7 @@ i = 0
|
||||||
idepar p, 48, idewy + idesubwindow - 7, "Save As"
|
idepar p, 48, idewy + idesubwindow - 7, "Save As"
|
||||||
|
|
||||||
i = i + 1
|
i = i + 1
|
||||||
|
PrevFocus = 1
|
||||||
o(i).typ = 1
|
o(i).typ = 1
|
||||||
o(i).y = 2
|
o(i).y = 2
|
||||||
o(i).nam = idenewtxt("File #Name")
|
o(i).nam = idenewtxt("File #Name")
|
||||||
|
@ -7058,6 +7103,15 @@ DO 'main loop
|
||||||
NEXT
|
NEXT
|
||||||
'-------- end of generic input response --------
|
'-------- end of generic input response --------
|
||||||
|
|
||||||
|
IF focus <> PrevFocus THEN
|
||||||
|
'Always start with TextBox values selected upon getting focus
|
||||||
|
PrevFocus = focus
|
||||||
|
IF focus = 1 THEN
|
||||||
|
o(focus).v1 = LEN(idetxt(o(focus).txt))
|
||||||
|
o(focus).issel = -1
|
||||||
|
o(focus).sx1 = 0
|
||||||
|
END IF
|
||||||
|
END IF
|
||||||
|
|
||||||
IF K$ = CHR$(27) OR (focus = 4 AND info <> 0) THEN
|
IF K$ = CHR$(27) OR (focus = 4 AND info <> 0) THEN
|
||||||
idesaveas$ = "C"
|
idesaveas$ = "C"
|
||||||
|
@ -8031,10 +8085,12 @@ IF t = 1 THEN 'text field
|
||||||
if sx2 - sx1 > 0 then
|
if sx2 - sx1 > 0 then
|
||||||
a$ = left$(a$, sx1) + clip$ + right$(a$, len(a$) - sx2)
|
a$ = left$(a$, sx1) + clip$ + right$(a$, len(a$) - sx2)
|
||||||
o.v1 = sx1
|
o.v1 = sx1
|
||||||
|
IF PasteCursorAtEnd THEN o.v1 = sx1 + LEN(clip$)
|
||||||
o.issel = 0
|
o.issel = 0
|
||||||
end if
|
end if
|
||||||
ELSE
|
ELSE
|
||||||
a$ = left$(a$, o.v1) + clip$ + right$(a$, len(a$) - o.v1)
|
a$ = left$(a$, o.v1) + clip$ + right$(a$, len(a$) - o.v1)
|
||||||
|
IF PasteCursorAtEnd THEN o.v1 = o.v1 + LEN(clip$)
|
||||||
END IF
|
END IF
|
||||||
END IF
|
END IF
|
||||||
k = 255
|
k = 255
|
||||||
|
@ -8978,6 +9034,15 @@ DO 'main loop
|
||||||
'-------- end of generic input response --------
|
'-------- end of generic input response --------
|
||||||
|
|
||||||
'specific post controls
|
'specific post controls
|
||||||
|
IF focus <> PrevFocus THEN
|
||||||
|
'Always start with TextBox values selected upon getting focus
|
||||||
|
PrevFocus = focus
|
||||||
|
IF focus = 3 THEN
|
||||||
|
o(focus).v1 = LEN(idetxt(o(focus).txt))
|
||||||
|
o(focus).issel = -1
|
||||||
|
o(focus).sx1 = 0
|
||||||
|
END IF
|
||||||
|
END IF
|
||||||
|
|
||||||
a$ = idetxt(o(3).txt)
|
a$ = idetxt(o(3).txt)
|
||||||
IF LEN(a$) > 2 THEN a$ = LEFT$(a$, 2) '2 character limit
|
IF LEN(a$) > 2 THEN a$ = LEFT$(a$, 2) '2 character limit
|
||||||
|
@ -9064,11 +9129,16 @@ idepar p, 50, 5, "Backup/Undo"
|
||||||
|
|
||||||
a2$ = str2$(idebackupsize)
|
a2$ = str2$(idebackupsize)
|
||||||
i = i + 1
|
i = i + 1
|
||||||
|
PrevFocus = 1
|
||||||
o(i).typ = 1
|
o(i).typ = 1
|
||||||
o(i).y = 2
|
o(i).y = 2
|
||||||
o(i).nam = idenewtxt("#Undo buffer limit (10-2000MB)")
|
o(i).nam = idenewtxt("#Undo buffer limit (10-2000MB)")
|
||||||
o(i).txt = idenewtxt(a2$)
|
o(i).txt = idenewtxt(a2$)
|
||||||
o(i).v1 = LEN(a2$)
|
o(i).v1 = LEN(a2$)
|
||||||
|
if o(i).v1 > 0 then
|
||||||
|
o(i).issel = -1
|
||||||
|
o(i).sx1 = 0
|
||||||
|
end if
|
||||||
|
|
||||||
i = i + 1
|
i = i + 1
|
||||||
o(i).typ = 3
|
o(i).typ = 3
|
||||||
|
@ -9150,6 +9220,15 @@ DO 'main loop
|
||||||
'-------- end of generic input response --------
|
'-------- end of generic input response --------
|
||||||
|
|
||||||
'specific post controls
|
'specific post controls
|
||||||
|
IF focus <> PrevFocus THEN
|
||||||
|
'Always start with TextBox values selected upon getting focus
|
||||||
|
PrevFocus = focus
|
||||||
|
IF focus = 1 THEN
|
||||||
|
o(focus).v1 = LEN(idetxt(o(focus).txt))
|
||||||
|
o(focus).issel = -1
|
||||||
|
o(focus).sx1 = 0
|
||||||
|
END IF
|
||||||
|
END IF
|
||||||
|
|
||||||
a$ = idetxt(o(1).txt)
|
a$ = idetxt(o(1).txt)
|
||||||
IF LEN(a$) > 4 THEN a$ = LEFT$(a$, 4) '4 character limit
|
IF LEN(a$) > 4 THEN a$ = LEFT$(a$, 4) '4 character limit
|
||||||
|
@ -9218,6 +9297,7 @@ idepar p, 65, 5, "Modify COMMAND$"
|
||||||
a2$ = ModifyCOMMAND$
|
a2$ = ModifyCOMMAND$
|
||||||
if len(a2$) > 0 then a2$ = MID$(a2$, 2)
|
if len(a2$) > 0 then a2$ = MID$(a2$, 2)
|
||||||
i = i + 1
|
i = i + 1
|
||||||
|
PrevFocus = 1
|
||||||
o(i).typ = 1
|
o(i).typ = 1
|
||||||
o(i).y = 2
|
o(i).y = 2
|
||||||
o(i).nam = idenewtxt("#Enter text for COMMAND$")
|
o(i).nam = idenewtxt("#Enter text for COMMAND$")
|
||||||
|
@ -9308,6 +9388,15 @@ DO 'main loop
|
||||||
'-------- end of generic input response --------
|
'-------- end of generic input response --------
|
||||||
|
|
||||||
'specific post controls
|
'specific post controls
|
||||||
|
IF focus <> PrevFocus THEN
|
||||||
|
'Always start with TextBox values selected upon getting focus
|
||||||
|
PrevFocus = focus
|
||||||
|
IF focus = 1 THEN
|
||||||
|
o(focus).v1 = LEN(idetxt(o(focus).txt))
|
||||||
|
o(focus).issel = -1
|
||||||
|
o(focus).sx1 = 0
|
||||||
|
END IF
|
||||||
|
END IF
|
||||||
|
|
||||||
IF K$ = CHR$(27) OR (focus = 3 AND info <> 0) THEN EXIT FUNCTION
|
IF K$ = CHR$(27) OR (focus = 3 AND info <> 0) THEN EXIT FUNCTION
|
||||||
|
|
||||||
|
@ -9345,6 +9434,7 @@ idepar p, 30, 5, "Go To Line"
|
||||||
|
|
||||||
IF idegotobox_LastLineNum > 0 THEN a2$ = str2$(idegotobox_LastLineNum) ELSE a2$ = ""
|
IF idegotobox_LastLineNum > 0 THEN a2$ = str2$(idegotobox_LastLineNum) ELSE a2$ = ""
|
||||||
i = i + 1
|
i = i + 1
|
||||||
|
PrevFocus = 1
|
||||||
o(i).typ = 1
|
o(i).typ = 1
|
||||||
o(i).y = 2
|
o(i).y = 2
|
||||||
o(i).nam = idenewtxt("#Line")
|
o(i).nam = idenewtxt("#Line")
|
||||||
|
@ -9435,6 +9525,15 @@ DO 'main loop
|
||||||
'-------- end of generic input response --------
|
'-------- end of generic input response --------
|
||||||
|
|
||||||
'specific post controls
|
'specific post controls
|
||||||
|
IF focus <> PrevFocus THEN
|
||||||
|
'Always start with TextBox values selected upon getting focus
|
||||||
|
PrevFocus = focus
|
||||||
|
IF focus = 1 THEN
|
||||||
|
o(focus).v1 = LEN(idetxt(o(focus).txt))
|
||||||
|
o(focus).issel = -1
|
||||||
|
o(focus).sx1 = 0
|
||||||
|
END IF
|
||||||
|
END IF
|
||||||
|
|
||||||
a$ = idetxt(o(1).txt)
|
a$ = idetxt(o(1).txt)
|
||||||
IF LEN(a$) > 8 THEN a$ = LEFT$(a$, 8) '8 character limit
|
IF LEN(a$) > 8 THEN a$ = LEFT$(a$, 8) '8 character limit
|
||||||
|
@ -10107,12 +10206,17 @@ p.nam = idenewtxt("Display")
|
||||||
|
|
||||||
a2$ = str2$(idewx)
|
a2$ = str2$(idewx)
|
||||||
i = i + 1
|
i = i + 1
|
||||||
|
PrevFocus = 1
|
||||||
o(i).typ = 1
|
o(i).typ = 1
|
||||||
o(i).x = 16
|
o(i).x = 16
|
||||||
o(i).y = 2
|
o(i).y = 2
|
||||||
o(i).nam = idenewtxt("#Width")
|
o(i).nam = idenewtxt("#Width")
|
||||||
o(i).txt = idenewtxt(a2$)
|
o(i).txt = idenewtxt(a2$)
|
||||||
o(i).v1 = LEN(a2$)
|
o(i).v1 = LEN(a2$)
|
||||||
|
if o(i).v1 > 0 then
|
||||||
|
o(i).issel = -1
|
||||||
|
o(i).sx1 = 0
|
||||||
|
end if
|
||||||
|
|
||||||
a2$ = str2$(idewy + idesubwindow)
|
a2$ = str2$(idewy + idesubwindow)
|
||||||
i = i + 1
|
i = i + 1
|
||||||
|
@ -10236,6 +10340,16 @@ DO 'main loop
|
||||||
|
|
||||||
'specific post controls
|
'specific post controls
|
||||||
|
|
||||||
|
IF focus <> PrevFocus THEN
|
||||||
|
'Always start with TextBox values selected upon getting focus
|
||||||
|
PrevFocus = focus
|
||||||
|
IF focus = 1 or focus = 2 or focus = 5 or focus = 6 THEN
|
||||||
|
o(focus).v1 = LEN(idetxt(o(focus).txt))
|
||||||
|
o(focus).issel = -1
|
||||||
|
o(focus).sx1 = 0
|
||||||
|
END IF
|
||||||
|
END IF
|
||||||
|
|
||||||
a$ = idetxt(o(1).txt)
|
a$ = idetxt(o(1).txt)
|
||||||
IF LEN(a$) > 3 THEN a$ = LEFT$(a$, 3) '3 character limit
|
IF LEN(a$) > 3 THEN a$ = LEFT$(a$, 3) '3 character limit
|
||||||
FOR i = 1 TO LEN(a$)
|
FOR i = 1 TO LEN(a$)
|
||||||
|
|
Loading…
Reference in a new issue