From eda6285e0fa6ca55bef02466d9a742de911e8202 Mon Sep 17 00:00:00 2001 From: RaiKoHoff Date: Mon, 24 Aug 2020 11:36:03 +0200 Subject: [PATCH] + add: Focused-View: mode Fold-Only + fix: not intended bookmarker on F/R dialog mark findings --- language/common_res.h | 25 +++--- language/np3_de_de/menu_de_de.rc | 13 ++- language/np3_en_us/menu_en_us.rc | 13 ++- src/Config/Config.cpp | 3 +- src/Edit.c | 148 +++++++++++++++++++++---------- src/Edit.h | 4 +- src/Notepad3.c | 104 ++++++++-------------- src/SciCall.h | 7 +- src/TypeDefs.h | 2 +- 9 files changed, 176 insertions(+), 143 deletions(-) diff --git a/language/common_res.h b/language/common_res.h index 25e92b7ff..fac99d33d 100644 --- a/language/common_res.h +++ b/language/common_res.h @@ -661,18 +661,19 @@ #define IDM_VIEW_CURRENTSCHEME 40470 #define IDM_VIEW_SCROLLPASTEOF 40471 #define IDM_VIEW_TOGGLE_VIEW 40472 -#define IDM_VIEW_FV_BOOKMARK 40473 -#define IDM_VIEW_FV_HIGHLIGHT 40474 -#define IDM_VIEW_FV_BKMRKFOLD 40475 -#define IDM_VIEW_FV_HIGHLGFOLD 40476 -#define IDM_VIEW_CHASING_DOCTAIL 40477 -#define IDM_VIEW_TOGGLETB 40478 -#define IDM_VIEW_MUTE_MESSAGEBEEP 40479 -#define IDM_VIEW_SHOW_HYPLNK_CALLTIP 40480 -#define IDM_VIEW_SPLIT_UNDOTYPSEQ_LNBRK 40481 -#define IDM_VIEW_EDIT_LINECOMMENT 40482 -#define IDM_VIEW_EVALTINYEXPRONSEL 40483 -#define IDM_VIEW_UNICODE_POINTS 40484 +#define IDM_VIEW_FV_FOLD 40473 +#define IDM_VIEW_FV_BOOKMARK 40474 +#define IDM_VIEW_FV_HIGHLIGHT 40475 +#define IDM_VIEW_FV_BKMRKFOLD 40476 +#define IDM_VIEW_FV_HIGHLGFOLD 40477 +#define IDM_VIEW_CHASING_DOCTAIL 40478 +#define IDM_VIEW_TOGGLETB 40479 +#define IDM_VIEW_MUTE_MESSAGEBEEP 40480 +#define IDM_VIEW_SHOW_HYPLNK_CALLTIP 40481 +#define IDM_VIEW_SPLIT_UNDOTYPSEQ_LNBRK 40482 +#define IDM_VIEW_EDIT_LINECOMMENT 40483 +#define IDM_VIEW_EVALTINYEXPRONSEL 40484 +#define IDM_VIEW_UNICODE_POINTS 40485 // keep Scintilla(SC) order #define IDM_SET_RENDER_TECH_GDI 40500 // SC_TECHNOLOGY_DEFAULT(0) diff --git a/language/np3_de_de/menu_de_de.rc b/language/np3_de_de/menu_de_de.rc index d75f8bfdb..85cce8b3d 100644 --- a/language/np3_de_de/menu_de_de.rc +++ b/language/np3_de_de/menu_de_de.rc @@ -372,15 +372,20 @@ BEGIN POPUP "&Anzeigen" BEGIN MENUITEM "Fokussierte Ansicht\tCtrl+Alt+V", IDM_VIEW_TOGGLE_VIEW - MENUITEM "Modus: Lesezeichen", IDM_VIEW_FV_BOOKMARK - MENUITEM "Modus: Hervorheben", IDM_VIEW_FV_HIGHLIGHT - MENUITEM "Modus: Lesezeichen && Faltung", IDM_VIEW_FV_BKMRKFOLD - MENUITEM "Modus: Hervorheben && Faltung", IDM_VIEW_FV_HIGHLGFOLD + POPUP "Ansicht Modus" + BEGIN + MENUITEM "Faltung", IDM_VIEW_FV_FOLD + MENUITEM "Lesezeichen", IDM_VIEW_FV_BOOKMARK + MENUITEM "Hervorheben", IDM_VIEW_FV_HIGHLIGHT + MENUITEM "Lesezeichen && Faltung", IDM_VIEW_FV_BKMRKFOLD + MENUITEM "Hervorheben && Faltung", IDM_VIEW_FV_HIGHLGFOLD + END MENUITEM SEPARATOR MENUITEM "Logfile &Monitoring", IDM_VIEW_CHASING_DOCTAIL MENUITEM "&Erweiterte Dokument Ende Ansicht", IDM_VIEW_SCROLLPASTEOF MENUITEM "Zeige einen &Hyperlink Tooltip", IDM_VIEW_SHOW_HYPLNK_CALLTIP END + MENUITEM SEPARATOR POPUP "&Leisten" BEGIN MENUITEM "Zeige &Menüleiste", IDM_VIEW_MENUBAR diff --git a/language/np3_en_us/menu_en_us.rc b/language/np3_en_us/menu_en_us.rc index 23c9b6298..1923eef92 100644 --- a/language/np3_en_us/menu_en_us.rc +++ b/language/np3_en_us/menu_en_us.rc @@ -372,15 +372,20 @@ BEGIN POPUP "&Display" BEGIN MENUITEM "&Focused View\tCtrl+Alt+V", IDM_VIEW_TOGGLE_VIEW - MENUITEM "Mode: Bookmark", IDM_VIEW_FV_BOOKMARK - MENUITEM "Mode: Highlight", IDM_VIEW_FV_HIGHLIGHT - MENUITEM "Mode: Bookmark && Fold", IDM_VIEW_FV_BKMRKFOLD - MENUITEM "Mode: Highlight && Fold", IDM_VIEW_FV_HIGHLGFOLD + POPUP "View Mode" + BEGIN + MENUITEM "Fold", IDM_VIEW_FV_FOLD + MENUITEM "Bookmark", IDM_VIEW_FV_BOOKMARK + MENUITEM "Highlight", IDM_VIEW_FV_HIGHLIGHT + MENUITEM "Bookmark && Fold", IDM_VIEW_FV_BKMRKFOLD + MENUITEM "Highlight && Fold", IDM_VIEW_FV_HIGHLGFOLD + END MENUITEM SEPARATOR MENUITEM "&Monitoring Log", IDM_VIEW_CHASING_DOCTAIL MENUITEM "&Scroll Past End of File", IDM_VIEW_SCROLLPASTEOF MENUITEM "Show &Hyperlink Tooltip", IDM_VIEW_SHOW_HYPLNK_CALLTIP END + MENUITEM SEPARATOR POPUP "P&anels" BEGIN MENUITEM "Show &Menubar", IDM_VIEW_MENUBAR diff --git a/src/Config/Config.cpp b/src/Config/Config.cpp index c730e2442..77cb3d611 100644 --- a/src/Config/Config.cpp +++ b/src/Config/Config.cpp @@ -1498,7 +1498,8 @@ void LoadSettings() GET_INT_VALUE_FROM_INISECTION(CustomSchemesDlgPosX, CW_USEDEFAULT, INT_MIN, INT_MAX); GET_INT_VALUE_FROM_INISECTION(CustomSchemesDlgPosY, CW_USEDEFAULT, INT_MIN, INT_MAX); - GET_INT_VALUE_FROM_INISECTION(FocusViewMarkerMode, (FVMM_MARGIN | FVMM_FOLD), FVMM_MARGIN, (FVMM_LN_BACKGR | FVMM_FOLD)); + GET_INT_VALUE_FROM_INISECTION(FocusViewMarkerMode, FVMM_FOLD, FVMM_MARGIN, (FVMM_LN_BACKGR | FVMM_FOLD)); + Settings.FocusViewMarkerMode = (Settings.FocusViewMarkerMode == (FVMM_MARGIN | FVMM_LN_BACKGR) ? FVMM_FOLD : Settings.FocusViewMarkerMode); // -------------------------------------------------------------------------- const WCHAR* const StatusBar_Section = L"Statusbar Settings"; diff --git a/src/Edit.c b/src/Edit.c index c19f87c61..5d5c846b5 100644 --- a/src/Edit.c +++ b/src/Edit.c @@ -340,8 +340,7 @@ void EditSetNewText(HWND hwnd, const char* lpstrText, DocPosU lenText, bool bCle EditSetDocumentBuffer(lpstrText, lenText); _OBSERVE_NOTIFY_CHANGE_; - SciCall_GotoPos(0); - SciCall_ChooseCaretX(); + Sci_GotoPosChooseCaret(0); if (bClearUndoHistory) { UndoRedoRecordingStart(); @@ -2077,8 +2076,7 @@ void EditFindMatchingBrace() } if (iMatchingBracePos != (DocPos)-1) { iMatchingBracePos = bIsAfter ? iMatchingBracePos : SciCall_PositionAfter(iMatchingBracePos); - SciCall_GotoPos(iMatchingBracePos); - SciCall_ChooseCaretX(); + Sci_GotoPosChooseCaret(iMatchingBracePos); } } @@ -2994,8 +2992,7 @@ void EditIndentBlock(HWND hwnd, int cmd, bool bFormatIndentation, bool bForceAll } } else { - SciCall_GotoPos(iInitialPos); - SciCall_ChooseCaretX(); + Sci_GotoPosChooseCaret(iInitialPos); } _END_UNDO_ACTION_; @@ -5025,8 +5022,7 @@ void EditJumpTo(DocLn iNewLine, DocPos iNewCol) iNewCol = clampp((iNewCol - colOffset), 0, iLineEndPos); const DocPos iNewPos = SciCall_FindColumn(iNewLine, iNewCol); - SciCall_GotoPos(iNewPos); - SciCall_ChooseCaretX(); + Sci_GotoPosChooseCaret(iNewPos); } @@ -5522,7 +5518,6 @@ static RegExResult_t _FindHasMatch(HWND hwnd, LPCEDITFINDREPLACE lpefr, DocPos i if (FocusedView.HideNonMatchedLines) { EditFoldMarkedLineRange(lpefr->hwnd, true); } - EditBookMarkLineRange(lpefr->hwnd); } else { if (FocusedView.HideNonMatchedLines) { @@ -7177,28 +7172,29 @@ void EditClearAllBookMarks(HWND hwnd) // void EditToggleView(HWND hwnd) { - if (Settings.FocusViewMarkerMode & FVMM_FOLD) - { - BeginWaitCursor(true, L"Toggle View..."); + if (Settings.FocusViewMarkerMode & FVMM_FOLD) { + BeginWaitCursor(true, L"Toggle View..."); - FocusedView.HideNonMatchedLines = !FocusedView.HideNonMatchedLines; // toggle + FocusedView.HideNonMatchedLines = !FocusedView.HideNonMatchedLines; // toggle - if (FocusedView.HideNonMatchedLines) { - EditFoldMarkedLineRange(hwnd, true); - EditBookMarkLineRange(hwnd); - } - else { - EditFoldMarkedLineRange(hwnd, false); - } - - SciCall_SetReadOnly(FocusedView.HideNonMatchedLines); - SciCall_ScrollCaret(); - - EndWaitCursor(); - } - else { + if (FocusedView.HideNonMatchedLines) { + EditFoldMarkedLineRange(hwnd, true); + if (Settings.FocusViewMarkerMode & (FVMM_MARGIN | FVMM_LN_BACKGR)) { EditBookMarkLineRange(hwnd); + } + } else { + EditFoldMarkedLineRange(hwnd, false); } + + SciCall_SetReadOnly(FocusedView.HideNonMatchedLines); + SciCall_ScrollCaret(); + + EndWaitCursor(); + } + else if (Settings.FocusViewMarkerMode & (FVMM_MARGIN | FVMM_LN_BACKGR)) + { + EditBookMarkLineRange(hwnd); + } } @@ -8851,33 +8847,87 @@ void EditSetBookmarkList(HWND hwnd, LPCWSTR pszBookMarks) } + +//============================================================================= +// +// EditBookmarkNext() +// +void EditBookmarkNext(HWND hwnd, const DocLn iLine) +{ + UNUSED(hwnd); + int bitmask = SciCall_MarkerGet(iLine) & OCCURRENCE_MARKER_BITMASK(); + if (!bitmask) { + bitmask = (1 << MARKER_NP3_BOOKMARK); + } + DocLn iNextLine = SciCall_MarkerNext(iLine + 1, bitmask); + if (iNextLine == (DocLn)-1) { + iNextLine = SciCall_MarkerNext(0, bitmask); // wrap around + } + if (iNextLine == (DocLn)-1) { + bitmask = OCCURRENCE_MARKER_BITMASK(); + iNextLine = SciCall_MarkerNext(iLine + 1, bitmask); // find any bookmark + } + if (iNextLine == (DocLn)-1) { + iNextLine = SciCall_MarkerNext(0, bitmask); // wrap around + } + + if (iNextLine != (DocLn)-1) { + SciCall_GotoLine(iNextLine); + } +} + +//============================================================================= +// +// EditBookmarkPrevious() +// +void EditBookmarkPrevious(HWND hwnd, const DocLn iLine) +{ + UNUSED(hwnd); + int bitmask = SciCall_MarkerGet(iLine) & OCCURRENCE_MARKER_BITMASK(); + if (!bitmask) { + bitmask = (1 << MARKER_NP3_BOOKMARK); + } + DocLn iPrevLine = SciCall_MarkerPrevious(max_ln(0, iLine - 1), bitmask); + if (iPrevLine == (DocLn)-1) { + iPrevLine = SciCall_MarkerPrevious(SciCall_GetLineCount(), bitmask); // wrap around + } + if (iPrevLine == (DocLn)-1) { + bitmask = OCCURRENCE_MARKER_BITMASK(); + iPrevLine = SciCall_MarkerPrevious(max_ln(0, iLine - 1), bitmask); //find any bookmark + } + if (iPrevLine == (DocLn)-1) { + iPrevLine = SciCall_MarkerPrevious(SciCall_GetLineCount(), bitmask); // wrap around + } + + if (iPrevLine != (DocLn)-1) { + SciCall_GotoLine(iPrevLine); + } +} + + //============================================================================= // // EditBookmarkToggle() // -void EditBookmarkToggle(const DocLn ln, const int modifiers) -{ - int const bitmask = SciCall_MarkerGet(ln) & OCCURRENCE_MARKER_BITMASK(); +void EditBookmarkToggle(HWND hwnd, const DocLn ln, const int modifiers) { + UNUSED(hwnd); + int const bitmask = SciCall_MarkerGet(ln) & OCCURRENCE_MARKER_BITMASK(); + if (!bitmask) { + SciCall_MarkerAdd(ln, MARKER_NP3_BOOKMARK); // set + } else if (bitmask & (1 << MARKER_NP3_BOOKMARK)) { + SciCall_MarkerDelete(ln, MARKER_NP3_BOOKMARK); // unset + } else { + for (int m = MARKER_NP3_1; m < MARKER_NP3_BOOKMARK; ++m) { + if (bitmask & (1 << m)) { + SciCall_MarkerDeleteAll(m); + WordBookMarks[m].in_use = false; + } + } + } - if (!bitmask) { - SciCall_MarkerAdd(ln, MARKER_NP3_BOOKMARK); // set - } - else if (bitmask & (1 << MARKER_NP3_BOOKMARK)) - { - SciCall_MarkerDelete(ln, MARKER_NP3_BOOKMARK); // unset - } - else { - for (int m = MARKER_NP3_1; m < MARKER_NP3_BOOKMARK; ++m) { - if (bitmask & (1 << m)) { - SciCall_MarkerDeleteAll(m); - WordBookMarks[m].in_use = false; - } - } - } - - if (modifiers & SCMOD_ALT) { - SciCall_GotoLine(ln); - } + if (modifiers & SCMOD_ALT) { + SciCall_GotoLine(ln); + } } diff --git a/src/Edit.h b/src/Edit.h index 4f477a3c4..581d73caa 100644 --- a/src/Edit.h +++ b/src/Edit.h @@ -124,7 +124,9 @@ bool EditCheckNewLineInACFillUps(); void EditShowZeroLengthCallTip(HWND hwnd, DocPos iPosition); void EditGetBookmarkList(HWND hwnd,LPWSTR pszBookMarks,int cchLength); void EditSetBookmarkList(HWND hwnd,LPCWSTR pszBookMarks); -void EditBookmarkToggle(const DocLn ln, const int modifiers); +void EditBookmarkNext(HWND hwnd, const DocLn iLine); +void EditBookmarkPrevious(HWND hwnd, const DocLn iLine); +void EditBookmarkToggle(HWND hwnd, const DocLn ln, const int modifiers); void EditMarkAllOccurrences(HWND hwnd, bool bForceClear); void EditFoldMarkedLineRange(HWND hwnd, bool bHideLines); void EditBookMarkLineRange(HWND hwnd); diff --git a/src/Notepad3.c b/src/Notepad3.c index 26e82995e..57862b1fa 100644 --- a/src/Notepad3.c +++ b/src/Notepad3.c @@ -2620,8 +2620,7 @@ LRESULT MsgDPIChanged(HWND hwnd, WPARAM wParam, LPARAM lParam) MsgThemeChanged(hwnd, wParam, lParam); - SciCall_GotoPos(pos); - SciCall_ChooseCaretX(); + Sci_GotoPosChooseCaret(pos); return !0; } @@ -3118,8 +3117,7 @@ LRESULT MsgChangeNotify(HWND hwnd, WPARAM wParam, LPARAM lParam) EditEnsureSelectionVisible(); } else { - SciCall_GotoPos(iCurPos); - SciCall_ChooseCaretX(); + Sci_GotoPosChooseCaret(iCurPos); } } } @@ -3502,8 +3500,21 @@ LRESULT MsgInitMenu(HWND hwnd, WPARAM wParam, LPARAM lParam) EnableCmd(hmenu, IDM_VIEW_TOGGLE_VIEW, IsFocusedViewAllowed()); CheckCmd(hmenu, IDM_VIEW_TOGGLE_VIEW, FocusedView.HideNonMatchedLines); - i = IDM_VIEW_FV_BOOKMARK + Settings.FocusViewMarkerMode; - CheckMenuRadioItem(hmenu, IDM_VIEW_FV_BOOKMARK, IDM_VIEW_FV_HIGHLGFOLD, i, MF_BYCOMMAND); + + i = IDM_VIEW_FV_FOLD; + int const fvm_mode = Settings.FocusViewMarkerMode; + if (fvm_mode == FVMM_MARGIN) { + i = IDM_VIEW_FV_BOOKMARK; + } else if (fvm_mode == FVMM_LN_BACKGR) { + i = IDM_VIEW_FV_HIGHLIGHT; + } else if (fvm_mode == (FVMM_MARGIN | FVMM_FOLD)) { + i = IDM_VIEW_FV_BKMRKFOLD; + } else if (fvm_mode == (FVMM_LN_BACKGR | FVMM_FOLD)) { + i = IDM_VIEW_FV_HIGHLIGHT; + } else { + i = IDM_VIEW_FV_FOLD; + } + CheckMenuRadioItem(hmenu, IDM_VIEW_FV_FOLD, IDM_VIEW_FV_HIGHLGFOLD, i, MF_BYCOMMAND); CheckCmd(hmenu, IDM_VIEW_HYPERLINKHOTSPOTS, Settings.HyperlinkHotspot); @@ -4487,7 +4498,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam) case IDM_EDIT_CLEAR_MARKER: - EditBookmarkToggle(Sci_GetCurrentLineNumber(), 0); + EditBookmarkToggle(Globals.hwndEdit, Sci_GetCurrentLineNumber(), 0); break; @@ -4873,58 +4884,17 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam) // Main Bookmark Functions case BME_EDIT_BOOKMARKNEXT: - { - DocLn const iLine = Sci_GetCurrentLineNumber(); - int bitmask = SciCall_MarkerGet(iLine) & OCCURRENCE_MARKER_BITMASK(); - if (!bitmask) { - bitmask = (1 << MARKER_NP3_BOOKMARK); - } - DocLn iNextLine = SciCall_MarkerNext(iLine + 1, bitmask); - if (iNextLine == (DocLn)-1) { - iNextLine = SciCall_MarkerNext(0, bitmask); // wrap around - } - if (iNextLine == (DocLn)-1) { - bitmask = OCCURRENCE_MARKER_BITMASK(); - iNextLine = SciCall_MarkerNext(iLine + 1, bitmask); // find any bookmark - } - if (iNextLine == (DocLn)-1) { - iNextLine = SciCall_MarkerNext(0, bitmask); // wrap around - } - if (iNextLine != (DocLn)-1) { - SciCall_GotoLine(iNextLine); - EditEnsureSelectionVisible(); - } - } - break; + EditBookmarkNext(Globals.hwndEdit, Sci_GetCurrentLineNumber()); + break; + case BME_EDIT_BOOKMARKPREV: - { - DocLn const iLine = Sci_GetCurrentLineNumber(); - int bitmask = SciCall_MarkerGet(iLine) & OCCURRENCE_MARKER_BITMASK(); - if (!bitmask) { - bitmask = (1 << MARKER_NP3_BOOKMARK); - } - DocLn iNextLine = SciCall_MarkerPrevious(max_ln(0, iLine - 1), bitmask); - if (iNextLine == (DocLn)-1) { - iNextLine = SciCall_MarkerPrevious(SciCall_GetLineCount(), bitmask); // wrap around - } - if (iNextLine == (DocLn)-1) { - bitmask = bitmask32_n(MARKER_NP3_BOOKMARK + 1) & ~(1 << MARKER_NP3_OCCURRENCE); - iNextLine = SciCall_MarkerPrevious(max_ln(0, iLine - 1), bitmask); //find any bookmark - } - if (iNextLine == (DocLn)-1) { - iNextLine = SciCall_MarkerPrevious(SciCall_GetLineCount(), bitmask); // wrap around - } - if (iNextLine != (DocLn)-1) { - SciCall_GotoLine(iNextLine); - EditEnsureSelectionVisible(); - } - } - break; + EditBookmarkPrevious(Globals.hwndEdit, Sci_GetCurrentLineNumber()); + break; case BME_EDIT_BOOKMARKTOGGLE: - EditBookmarkToggle(Sci_GetCurrentLineNumber(), 0); + EditBookmarkToggle(Globals.hwndEdit, Sci_GetCurrentLineNumber(), 0); break; @@ -5300,7 +5270,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam) if (!Settings.MarkOccurrences && FocusedView.HideNonMatchedLines) { EditToggleView(Globals.hwndEdit); } - EnableCmd(GetMenu(hwnd), IDM_VIEW_TOGGLE_VIEW, IsMarkOccurrencesEnabled()); + EnableCmd(GetMenu(hwnd), IDM_VIEW_TOGGLE_VIEW, IsFocusedViewAllowed()); if (IsMarkOccurrencesEnabled()) { MarkAllOccurrences(0, true); } @@ -5331,6 +5301,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam) CheckCmd(GetMenu(hwnd), IDM_VIEW_TOGGLE_VIEW, FocusedView.HideNonMatchedLines); break; + case IDM_VIEW_FV_FOLD: case IDM_VIEW_FV_BOOKMARK: case IDM_VIEW_FV_HIGHLIGHT: case IDM_VIEW_FV_BKMRKFOLD: @@ -5338,6 +5309,9 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam) { int newSetting = Settings.FocusViewMarkerMode; switch (iLoWParam) { + case IDM_VIEW_FV_FOLD: + newSetting = (FVMM_FOLD); + break; case IDM_VIEW_FV_BOOKMARK: newSetting = (FVMM_MARGIN); break; @@ -5831,8 +5805,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam) if ((!SciCall_IsSelectionEmpty() || Sci_IsMultiOrRectangleSelection()) && (skipLevel == Settings2.ExitOnESCSkipLevel)) { //~_BEGIN_UNDO_ACTION_; - SciCall_GotoPos(iCurPos); - SciCall_ChooseCaretX(); + Sci_GotoPosChooseCaret(iCurPos); //~_END_UNDO_ACTION_; skipLevel -= Defaults2.ExitOnESCSkipLevel; } @@ -5849,8 +5822,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam) break; default: - SciCall_GotoPos(iCurPos); - SciCall_ChooseCaretX(); + Sci_GotoPosChooseCaret(iCurPos); break; } } @@ -6265,8 +6237,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam) SciCall_AddSelection(pos, pos); } } - SciCall_ScrollCaret(); - SciCall_ChooseCaretX(); + Sci_ScrollChooseCaret(); break; case CMD_JUMP2SELEND: @@ -6281,8 +6252,7 @@ LRESULT MsgCommand(HWND hwnd, UINT umsg, WPARAM wParam, LPARAM lParam) SciCall_AddSelection(pos, pos); } } - SciCall_ScrollCaret(); - SciCall_ChooseCaretX(); + Sci_ScrollChooseCaret(); break; @@ -7592,7 +7562,7 @@ static LRESULT _MsgNotifyFromEdit(HWND hwnd, const LPNMHDR pnmh, const SCNotific EditFoldClick(SciCall_LineFromPosition(scn->position), scn->modifiers); break; case MARGIN_SCI_BOOKMRK: - EditBookmarkToggle(SciCall_LineFromPosition(scn->position), scn->modifiers); + EditBookmarkToggle(Globals.hwndEdit, SciCall_LineFromPosition(scn->position), scn->modifiers); break; case MARGIN_SCI_LINENUM: //~SciCall_GotoLine(SciCall_LineFromPosition(scn->position)); @@ -9892,8 +9862,7 @@ bool FileLoad(bool bDontSave, bool bNew, bool bReload, } if (bReload && !FileWatching.MonitoringLog) { - SciCall_GotoPos(0); - SciCall_ChooseCaretX(); + Sci_GotoPosChooseCaret(0); _BEGIN_UNDO_ACTION_; fSuccess = FileIO(true, szFilePath, bSkipUnicodeDetect, bSkipANSICPDetection, bForceEncDetection, !bReload , &fioStatus, false, false); @@ -9910,8 +9879,7 @@ bool FileLoad(bool bDontSave, bool bNew, bool bReload, { BeginWaitCursor(true, L"Styling..."); - SciCall_GotoPos(0); - SciCall_ChooseCaretX(); + Sci_GotoPosChooseCaret(0); if (!s_IsThisAnElevatedRelaunch) { Flags.bPreserveFileModTime = DefaultFlags.bPreserveFileModTime; diff --git a/src/SciCall.h b/src/SciCall.h index 47dd40b9c..1c0a4b551 100644 --- a/src/SciCall.h +++ b/src/SciCall.h @@ -627,9 +627,10 @@ inline DocPos Sci_GetRangeMaxLineLength(DocLn iBeginLine, DocLn iEndLine) { } // respect VSlop settings -inline void Sci_ScrollChooseCaret() { SciCall_ScrollCaret(); SciCall_ChooseCaretX(); } -inline void Sci_ScrollToLine(DocLn line) { SciCall_EnsureVisible(line); SciCall_ScrollRange(SciCall_PositionFromLine(line), SciCall_GetLineEndPosition(line)); } -inline void Sci_ScrollToCurrentLine() { Sci_ScrollToLine(Sci_GetCurrentLineNumber()); } +inline void Sci_GotoPosChooseCaret(const DocPos pos) { SciCall_GotoPos(pos); SciCall_ChooseCaretX(); } +inline void Sci_ScrollChooseCaret() { SciCall_ScrollCaret(); SciCall_ChooseCaretX(); } +inline void Sci_ScrollToLine(const DocLn line) { SciCall_EnsureVisible(line); SciCall_ScrollRange(SciCall_PositionFromLine(line), SciCall_GetLineEndPosition(line)); } +inline void Sci_ScrollToCurrentLine() { Sci_ScrollToLine(Sci_GetCurrentLineNumber()); } #define Sci_ReplaceTarget(M,L,T) (((M) == SCI_REPLACETARGET) ? SciCall_ReplaceTarget((L),(T)) : SciCall_ReplaceTargetRe((L),(T))) diff --git a/src/TypeDefs.h b/src/TypeDefs.h index 2b4877d23..09a8b6f8a 100644 --- a/src/TypeDefs.h +++ b/src/TypeDefs.h @@ -94,7 +94,7 @@ inline RECT RectFromWinInfo(const WININFO* const pWinInfo) { typedef enum { BACKGROUND_LAYER = 0, FOREGROUND_LAYER = 1 } COLOR_LAYER; // Style_GetColor() typedef enum { OPEN_WITH_BROWSER = 1, OPEN_WITH_NOTEPAD3 = 2, COPY_HYPERLINK = 4, SELECT_HYPERLINK = 8 } HYPERLINK_OPS; // Hyperlink Operations typedef enum { FWM_DONT_CARE = 0, FWM_MSGBOX = 1, FWM_AUTORELOAD = 2 } FILE_WATCHING_MODE; -typedef enum { FVMM_MARGIN = 0, FVMM_LN_BACKGR = 1, FVMM_FOLD = 2 } FOCUSVIEW_MARKER_MODE; +typedef enum { FVMM_MARGIN = 1, FVMM_LN_BACKGR = 2, FVMM_FOLD = 4 } FOCUSVIEW_MARKER_MODE; // ----------------------------------------------------------------------------