mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-11 21:03:05 +08:00
+ add: Focused-View: mode Fold-Only
+ fix: not intended bookmarker on F/R dialog mark findings
This commit is contained in:
parent
c06765b2f4
commit
eda6285e0f
@ -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)
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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";
|
||||
|
||||
148
src/Edit.c
148
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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -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);
|
||||
|
||||
104
src/Notepad3.c
104
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;
|
||||
|
||||
@ -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)))
|
||||
|
||||
@ -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;
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user