diff --git a/source/global/IDEsettings.bas b/source/global/IDEsettings.bas index dc6c2508f..ac623b777 100644 --- a/source/global/IDEsettings.bas +++ b/source/global/IDEsettings.bas @@ -10,7 +10,7 @@ DIM SHARED IDE_Index$ DIM SHARED LoadedIDESettings AS INTEGER DIM SHARED MouseButtonSwapped AS _BYTE DIM SHARED PasteCursorAtEnd AS _BYTE -DIM SHARED SaveExeWithSource AS _BYTE +DIM SHARED SaveExeWithSource AS _BYTE, EnableQuickNav AS _BYTE DIM SHARED IDEShowErrorsImmediately AS _BYTE DIM SHARED ShowLineNumbersSeparator AS _BYTE, ShowLineNumbersUseBG AS _BYTE @@ -179,6 +179,19 @@ IF LoadedIDESettings = 0 THEN SaveExeWithSource = 0 END IF + result = ReadConfigSetting("EnableQuickNav", value$) + IF result THEN + IF value$ = "TRUE" OR VAL(value$) = -1 THEN + EnableQuickNav = -1 + ELSE + EnableQuickNav = 0 + WriteConfigSetting "'[GENERAL SETTINGS]", "EnableQuickNav", "FALSE" + END IF + ELSE + WriteConfigSetting "'[GENERAL SETTINGS]", "EnableQuickNav", "TRUE" + EnableQuickNav = -1 + END IF + result = ReadConfigSetting("IDE_SortSUBs", value$) IF result THEN IF value$ = "TRUE" OR VAL(value$) = -1 THEN diff --git a/source/ide/ide_global.bas b/source/ide/ide_global.bas index 7dbd8853d..f39259d23 100644 --- a/source/ide/ide_global.bas +++ b/source/ide/ide_global.bas @@ -167,6 +167,7 @@ DIM SHARED EnteringRGB AS _BYTE DIM SHARED ActiveINCLUDELink AS LONG DIM SHARED ActiveINCLUDELinkFile AS STRING DIM SHARED HideCurrentLineHighlight AS _BYTE, ShowLineNumbers AS _BYTE +DIM SHARED SearchMenuEnableQuickNav AS INTEGER DIM SHARED idegotobox_LastLineNum AS LONG, maxLineNumberLength AS LONG '-------------------------------------------------------------------------------- @@ -204,7 +205,7 @@ DIM SHARED ideautorun DIM SHARED menu$(1 TO 10, 0 TO 20) DIM SHARED menusize(1 TO 10) DIM SHARED menus AS INTEGER, idecontextualmenuID AS INTEGER -DIM SHARED ideeditmenuID AS INTEGER +DIM SHARED ideeditmenuID AS INTEGER, SearchMenuID AS INTEGER DIM SHARED OptionsMenuID AS INTEGER, OptionsMenuSwapMouse AS INTEGER, OptionsMenuPasteCursor AS INTEGER DIM SHARED OptionsMenuShowErrorsImmediately AS INTEGER DIM SHARED ViewMenuID AS INTEGER, ViewMenuShowLineNumbersSubMenuID AS INTEGER diff --git a/source/ide/ide_methods.bas b/source/ide/ide_methods.bas index 5e86dcac1..faea042bd 100644 --- a/source/ide/ide_methods.bas +++ b/source/ide/ide_methods.bas @@ -255,7 +255,7 @@ FUNCTION ide2 (ignore) menu$(m, i) = "#Line numbers " + CHR$(16): i = i + 1 menusize(m) = i - 1 - m = m + 1: i = 0 + m = m + 1: i = 0: SearchMenuID = m menu$(m, i) = "Search": i = i + 1 menu$(m, i) = "#Find... Ctrl+F3": i = i + 1 menu$(m, i) = "#Repeat Last Find (Shift+) F3": i = i + 1 @@ -263,6 +263,13 @@ FUNCTION ide2 (ignore) menu$(m, i) = "-": i = i + 1 menu$(m, i) = "Clear search #history...": i = i + 1 menu$(m, i) = "-": i = i + 1 + + SearchMenuEnableQuickNav = i + menu$(m, i) = "Enable #quick navigation (back arrow)": i = i + 1 + IF EnableQuickNav THEN + menu$(SearchMenuID, SearchMenuEnableQuickNav) = CHR$(7) + menu$(SearchMenuID, SearchMenuEnableQuickNav) + END IF + menu$(m, i) = "-": i = i + 1 menu$(m, i) = "Add/Remove #Bookmark Alt+Left": i = i + 1 menu$(m, i) = "#Next Bookmark Alt+Down": i = i + 1 menu$(m, i) = "#Previous Bookmark Alt+Up": i = i + 1 @@ -863,7 +870,7 @@ FUNCTION ide2 (ignore) GOSUB UpdateTitleOfMainWindow 'Draw navigation buttons (QuickNav) - GOSUB DrawQuickNav + IF EnableQuickNav THEN GOSUB DrawQuickNav 'update search bar GOSUB UpdateSearchBar @@ -1242,7 +1249,7 @@ FUNCTION ide2 (ignore) END IF 'Hover/click (QuickNav) - IF IdeSystem = 1 AND QuickNavTotal > 0 THEN + IF IdeSystem = 1 AND QuickNavTotal > 0 AND EnableQuickNav THEN IF mY = 2 THEN IF mX >= 4 AND mX <= 6 THEN QuickNavHover = -1 @@ -4573,6 +4580,20 @@ FUNCTION ide2 (ignore) GOTO ideloop END IF + IF MID$(menu$(m, s), 1, 24) = "Enable #quick navigation" OR MID$(menu$(m, s), 2, 24) = "Enable #quick navigation" THEN + PCOPY 2, 0 + EnableQuickNav = NOT EnableQuickNav + IF EnableQuickNav THEN + WriteConfigSetting "'[GENERAL SETTINGS]", "EnableQuickNav", "TRUE" + menu$(SearchMenuID, SearchMenuEnableQuickNav) = CHR$(7) + "Enable #quick navigation (back arrow)" + ELSE + WriteConfigSetting "'[GENERAL SETTINGS]", "EnableQuickNav", "FALSE" + menu$(SearchMenuID, SearchMenuEnableQuickNav) = "Enable #quick navigation (back arrow)" + END IF + PCOPY 3, 0: SCREEN , , 3, 0: idewait4mous: idewait4alt + GOTO ideloop + END IF + IF menu$(m, s) = "#Code layout..." THEN PCOPY 2, 0 retval = idelayoutbox