1
1
Fork 0
mirror of https://github.com/QB64Official/qb64.git synced 2024-07-03 08:51:22 +00:00

Adds version number to status bar. Also:

Allows clicking the status bar Version and Line number to open the About and the "Go to line"  dialogs.
This commit is contained in:
FellippeHeitor 2021-01-18 18:22:00 -03:00
parent 8fd038be44
commit d1acd48e32
3 changed files with 72 additions and 10 deletions

View file

@ -8,6 +8,8 @@ IF _FILEEXISTS("internal/version.txt") THEN
versionfile = FREEFILE
OPEN "internal/version.txt" FOR INPUT AS #versionfile
LINE INPUT #versionfile, AutoBuildMsg
AutoBuildMsg = _TRIM$(AutoBuildMsg)
IF LEFT$(AutoBuildMsg, 9) <> "From git " THEN AutoBuildMsg = ""
CLOSE #versionfile
END IF

View file

@ -159,6 +159,7 @@ 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
DIM SHARED versionStringStatus$, lineNumberStatus$
'--------------------------------------------------------------------------------
TYPE idedbptype

View file

@ -132,6 +132,7 @@ FUNCTION ide2 (ignore)
STATIC wholeword.selecty1, wholeword.idecy
STATIC ForceResize, IDECompilationRequested AS _BYTE
STATIC QuickNavHover AS _BYTE, FindFieldHover AS _BYTE
STATIC VersionInfoHover AS _BYTE, LineNumberHover AS _BYTE
ignore = ignore 'just to clear warnings of unused variables
@ -789,6 +790,7 @@ FUNCTION ide2 (ignore)
'status bar
COLOR 0, 3: LOCATE idewy + idesubwindow, 1: PRINT SPACE$(idewx);
UpdateIdeInfo
q = idevbar(idewx, idewy - 3, 3, 1, 1)
q = idevbar(idewx, 3, idewy - 8, 1, 1)
q = idehbar(2, idewy - 5, idewx - 2, 1, 1)
@ -1308,11 +1310,10 @@ FUNCTION ide2 (ignore)
PCOPY 3, 0
IF mB THEN
IF mCLICK THEN
ideselect = 0
idecy = QuickNavHistory(QuickNavTotal)
QuickNavTotal = QuickNavTotal - 1
_DELAY .2
GOTO waitforinput
END IF
ELSE
@ -1358,6 +1359,51 @@ FUNCTION ide2 (ignore)
END IF
END IF
IF mY = idewy + idesubwindow AND mX >= idewx - 22 - LEN(versionStringStatus$) AND mX < idewx - 22 THEN
'Highlight Version Number
IF VersionInfoHover = 0 THEN
LOCATE idewy + idesubwindow, idewx - 22 - LEN(versionStringStatus$)
COLOR 13, 6
PRINT versionStringStatus$;
PCOPY 3, 0
VersionInfoHover = -1
END IF
IF mCLICK THEN PCOPY 0, 2: GOTO helpabout
ELSE
IF VersionInfoHover = -1 THEN
'Restore "Find" bg
VersionInfoHover = 0
LOCATE idewy + idesubwindow, idewx - 22 - LEN(versionStringStatus$)
COLOR 2, 3
PRINT versionStringStatus$;
PCOPY 3, 0
END IF
END IF
IF mY = idewy + idesubwindow AND mX >= idewx - 20 AND mX =< idewx THEN
'Highlight line number
IF LineNumberHover = 0 THEN
COLOR 13, 6
LOCATE idewy + idesubwindow, idewx - 20: PRINT lineNumberStatus$;
PCOPY 3, 0
LineNumberHover = -1
END IF
IF mCLICK THEN
PCOPY 0, 2
idegotobox
PCOPY 3, 0: SCREEN , , 3, 0: idewait4mous: idewait4alt
GOTO ideloop
END IF
ELSE
IF LineNumberHover = -1 THEN
'Restore "Find" bg
LineNumberHover = 0
COLOR 0, 3
LOCATE idewy + idesubwindow, idewx - 20: PRINT lineNumberStatus$;
PCOPY 3, 0
END IF
END IF
IF os$ = "WIN" OR MacOSX = 1 THEN
IF _WINDOWHASFOCUS THEN
@ -5013,6 +5059,7 @@ FUNCTION ide2 (ignore)
END IF
IF menu$(m, s) = "#About..." THEN
helpabout:
PCOPY 2, 0
m$ = "QB64 Version " + Version$ + CHR$(10) + BuildNum$
IF LEN(AutoBuildMsg$) THEN m$ = m$ + CHR$(10) + AutoBuildMsg$
@ -5997,6 +6044,8 @@ FUNCTION ide2 (ignore)
q = idevbar(idewx, 3, idewy - 8, 1, 1)
q = idehbar(2, idewy - 5, idewx - 2, 1, 1)
UpdateIdeInfo
GOSUB UpdateTitleOfMainWindow
DEF SEG = 0
@ -8710,16 +8759,17 @@ SUB ideshowtext
'update cursor pos in status bar
COLOR 0, 3
LOCATE idewy + idesubwindow, idewx - 20: PRINT " : ";
a$ = SPACE$(10)
b$ = ""
RSET a$ = LTRIM$(STR$(idecy))
IF idecx < 100000 THEN
LOCATE idewy + idesubwindow, idewx - 9
a$ = LTRIM$(STR$(idecx))
PRINT a$;
IF cc <> -1 THEN PRINT "(" + str2$(cc) + ")";
b$ = SPACE$(10)
c$ = LTRIM$(STR$(idecx))
IF cc <> -1 THEN c$ = c$ + "(" + str2$(cc) + ")"
LSET b$ = c$
END IF
a$ = LTRIM$(STR$(idecy))
LOCATE idewy + idesubwindow, (idewx - 10) - LEN(a$)
PRINT a$;
lineNumberStatus$ = a$ + ":" + b$
LOCATE idewy + idesubwindow, idewx - 20: PRINT lineNumberStatus$;
SCREEN , , 0, 0: LOCATE idecy - idesy + 3, maxLineNumberLength + idecx - idesx + 2: SCREEN , , 3, 0
@ -14581,6 +14631,15 @@ SUB UpdateIdeInfo
IF LEN(a$) < (idewx - 20) THEN a$ = a$ + SPACE$((idewx - 20) - LEN(a$))
COLOR 0, 3: LOCATE idewy + idesubwindow, 2
PRINT a$;
COLOR 2, 3
IF LEN(versionStringStatus$) = 0 THEN
versionStringStatus$ = "v" + Version$
IF LEN(AutoBuildMsg$) THEN versionStringStatus$ = versionStringStatus$ + MID$(AutoBuildMsg$, _INSTRREV(AutoBuildMsg$, " "))
END IF
LOCATE idewy + idesubwindow, idewx - 22 - LEN(versionStringStatus$)
PRINT versionStringStatus$;
PCOPY 3, 0
END SUB