1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-09-20 06:44:44 +00:00

Fix "Export As" menu state

Instead of being disabled by default after certain actions (those which affected the recent files list and so forced a rebuild of the "File" menu), now the current state of the "Export As" item is passed through to the rebuild procedure.
This commit is contained in:
Roland Heyder 2024-03-19 00:53:49 +01:00
parent c7e912ace6
commit 5a04b6f1c2

View file

@ -278,7 +278,7 @@ FUNCTION ide2 (ignore)
END IF END IF
m = 1: i = 0 m = 1: i = 0
IdeMakeFileMenu IdeMakeFileMenu 0
m = m + 1: i = 0 m = m + 1: i = 0
ideeditmenuID = m ideeditmenuID = m
@ -6361,7 +6361,7 @@ FUNCTION ide2 (ignore)
IF r$ = "Y" THEN IF r$ = "Y" THEN
fh = FREEFILE fh = FREEFILE
OPEN ".\internal\temp\recent.bin" FOR OUTPUT AS #fh: CLOSE #fh OPEN ".\internal\temp\recent.bin" FOR OUTPUT AS #fh: CLOSE #fh
IdeMakeFileMenu IdeMakeFileMenu LEFT$(menu$(1, FileMenuExportAs), 1) <> "~"
PCOPY 3, 0: SCREEN , , 3, 0 PCOPY 3, 0: SCREEN , , 3, 0
GOTO ideloop GOTO ideloop
ELSE ELSE
@ -6386,8 +6386,7 @@ FUNCTION ide2 (ignore)
IF r$ = "Y" THEN IF r$ = "Y" THEN
fh = FREEFILE fh = FREEFILE
OPEN ".\internal\temp\recent.bin" FOR OUTPUT AS #fh: CLOSE #fh OPEN ".\internal\temp\recent.bin" FOR OUTPUT AS #fh: CLOSE #fh
IdeMakeFileMenu IdeMakeFileMenu LEFT$(menu$(1, FileMenuExportAs), 1) <> "~"
IF ideautolayout <> 0 THEN menu$(1, FileMenuExportAs) = "#Export As... " + CHR$(16)
PCOPY 3, 0: SCREEN , , 3, 0 PCOPY 3, 0: SCREEN , , 3, 0
GOTO ideloop GOTO ideloop
END IF END IF
@ -6583,7 +6582,7 @@ FUNCTION ide2 (ignore)
END IF END IF
ERASE RecentFilesList ERASE RecentFilesList
IdeMakeFileMenu IdeMakeFileMenu LEFT$(menu$(1, FileMenuExportAs), 1) <> "~"
RETURN RETURN
redrawItAll: redrawItAll:
@ -18304,7 +18303,7 @@ END FUNCTION
SUB IdeMakeFileMenu SUB IdeMakeFileMenu (eaa%) 'ExportAs activation (boolean)
m = 1: i = 0 m = 1: i = 0
menu$(m, i) = "File": i = i + 1 menu$(m, i) = "File": i = i + 1
menu$(m, i) = "#New Ctrl+N": i = i + 1 menu$(m, i) = "#New Ctrl+N": i = i + 1
@ -18316,8 +18315,8 @@ SUB IdeMakeFileMenu
menu$(m, i) = "Save #As...": i = i + 1 menu$(m, i) = "Save #As...": i = i + 1
menuDesc$(m, i - 1) = "Saves current program with specified name" menuDesc$(m, i - 1) = "Saves current program with specified name"
menu$(m, i) = "-": i = i + 1 menu$(m, i) = "-": i = i + 1
FileMenuExportAs = i FileMenuExportAs = i: IF eaa% THEN eaa$ = "": ELSE eaa$ = "~"
menu$(m, i) = "~#Export As... " + CHR$(16): i = i + 1 menu$(m, i) = eaa$ + "#Export As... " + CHR$(16): i = i + 1
menuDesc$(m, i - 1) = "Export current program into various formats" menuDesc$(m, i - 1) = "Export current program into various formats"
fh = FREEFILE fh = FREEFILE
OPEN ".\internal\temp\recent.bin" FOR BINARY AS #fh: a$ = SPACE$(LOF(fh)): GET #fh, , a$ OPEN ".\internal\temp\recent.bin" FOR BINARY AS #fh: a$ = SPACE$(LOF(fh)): GET #fh, , a$
@ -18350,7 +18349,7 @@ SUB IdeMakeFileMenu
END IF END IF
NEXT NEXT
CLOSE #fh CLOSE #fh
IF menu$(m, i - 1) <> "#Recent..." AND menu$(m, i - 1) <> "~#Export As... " + CHR$(16) THEN IF menu$(m, i - 1) <> "#Recent..." AND menu$(m, i - 1) <> eaa$ + "#Export As... " + CHR$(16) THEN
menu$(m, i) = "#Clear Recent...": i = i + 1 menu$(m, i) = "#Clear Recent...": i = i + 1
menuDesc$(m, i - 1) = "Clears list of recently loaded files" menuDesc$(m, i - 1) = "Clears list of recently loaded files"
ELSE ELSE
@ -18803,7 +18802,7 @@ SUB IdeAddRecent (f2$)
END IF END IF
PUT #fh, 1, a$ PUT #fh, 1, a$
CLOSE #fh CLOSE #fh
IdeMakeFileMenu IdeMakeFileMenu LEFT$(menu$(1, FileMenuExportAs), 1) <> "~"
END SUB END SUB
FUNCTION removeDoubleSlashes$(f$) FUNCTION removeDoubleSlashes$(f$)