mirror of
https://github.com/rizonesoft/Notepad3.git
synced 2026-06-14 21:09:05 +08:00
+ fix: running out of occurrences bookmarks
This commit is contained in:
parent
201fc2d565
commit
033b881256
@ -173,6 +173,7 @@
|
||||
#define IDS_MUI_STATUSBAR_POSTFIXES 15061
|
||||
#define IDS_MUI_RELOADSETTINGS 15062
|
||||
#define IDS_MUI_RELOADCFGSEX 15063
|
||||
#define IDS_MUI_OUT_OFF_OCCMRK 15064
|
||||
|
||||
#define IDR_MAINWND 16000
|
||||
#define IDR_MAINWNDTB 16001
|
||||
|
||||
@ -199,6 +199,7 @@ BEGIN
|
||||
IDS_MUI_URL_OPEN_BROWSER "\nCtrl + Click um die URL im Browser zu öffnen."
|
||||
IDS_MUI_INF_PRSVFILEMODTM
|
||||
"Die Speicherung mit originalem Zeitstempel wurde aktiviert.\nDiese Option gilt nun für die gesamte Sitzung (Datei)!"
|
||||
IDS_MUI_OUT_OFF_OCCMRK "Es stehen keine weiteren Fundstellen Markierungen/Lesezeichen mehr zur Verfügung!"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
@ -199,6 +199,7 @@ BEGIN
|
||||
IDS_MUI_URL_OPEN_BROWSER "\nCtrl + Click to open link in browser."
|
||||
IDS_MUI_INF_PRSVFILEMODTM
|
||||
"Preserving original File Modification Timestamp enabled.\nThis option will stay for this session!"
|
||||
IDS_MUI_OUT_OFF_OCCMRK "Running out of Occurrence Markers (Bookmark/Highligt)!"
|
||||
END
|
||||
|
||||
STRINGTABLE
|
||||
|
||||
28
src/Edit.c
28
src/Edit.c
@ -4319,16 +4319,6 @@ void EditFocusMarkedLinesCmd(HWND hwnd, bool bCopy, bool bDelete)
|
||||
SciCall_EndUndoAction();
|
||||
_OBSERVE_NOTIFY_CHANGE_;
|
||||
|
||||
if (bDelete) {
|
||||
for (int m = MARKER_NP3_1; m <= MARKER_NP3_BOOKMARK; ++m) { // all(!)
|
||||
if (bitmask & (1 << m)) {
|
||||
if (SciCall_MarkerNext(0, (1 << m)) < 0) {
|
||||
WordBookMarks[m].in_use = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
SciCall_GotoLine(min_ln(curLn, Sci_GetLastDocLineNumber()));
|
||||
}
|
||||
|
||||
@ -7134,7 +7124,6 @@ void EditClearAllBookMarks(HWND hwnd)
|
||||
// 1st press: clear all occurrences marker
|
||||
for (int m = MARKER_NP3_1; m < MARKER_NP3_BOOKMARK; ++m) {
|
||||
SciCall_MarkerDeleteAll(m);
|
||||
WordBookMarks[m].in_use = false;
|
||||
}
|
||||
} else {
|
||||
// if no occurrences marker found
|
||||
@ -7789,7 +7778,6 @@ void EditFoldMarkedLineRange(HWND hwnd, bool bHideLines)
|
||||
SciCall_SetFoldLevel(line, SC_FOLDLEVELWHITEFLAG | level);
|
||||
}
|
||||
}
|
||||
|
||||
SciCall_FoldAll(FOLD);
|
||||
}
|
||||
}
|
||||
@ -7804,15 +7792,14 @@ void EditBookMarkLineRange(HWND hwnd)
|
||||
UNUSED(hwnd);
|
||||
// get next free bookmark
|
||||
int marker;
|
||||
for (marker = MARKER_NP3_1; marker < MARKER_NP3_BOOKMARK; ++marker) {
|
||||
if (!WordBookMarks[marker].in_use) {
|
||||
WordBookMarks[marker].in_use = true;
|
||||
break;
|
||||
}
|
||||
for (marker = MARKER_NP3_1; marker < MARKER_NP3_BOOKMARK; ++marker) { // all(!)
|
||||
if (SciCall_MarkerNext(0, (1 << marker)) < 0) {
|
||||
break; // found unused
|
||||
}
|
||||
}
|
||||
if (marker >= MARKER_NP3_BOOKMARK) { // wrap around
|
||||
marker = MARKER_NP3_1;
|
||||
SciCall_MarkerDeleteAll(marker);
|
||||
if (marker >= MARKER_NP3_BOOKMARK) {
|
||||
InfoBoxLng(MB_ICONWARNING, L"OutOfOccurrenceMarkers", IDS_MUI_OUT_OFF_OCCMRK);
|
||||
return;
|
||||
}
|
||||
|
||||
DocLn line = -1;
|
||||
@ -8897,7 +8884,6 @@ void EditBookmarkToggle(HWND hwnd, const DocLn ln, const int modifiers) {
|
||||
for (int m = MARKER_NP3_1; m < MARKER_NP3_BOOKMARK; ++m) {
|
||||
if (bitmask & (1 << m)) {
|
||||
SciCall_MarkerDeleteAll(m);
|
||||
WordBookMarks[m].in_use = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -51,16 +51,16 @@
|
||||
//
|
||||
// ============================================================================
|
||||
|
||||
WORDBOOKMARK_T WordBookMarks[MARKER_NP3_BOOKMARK] = {
|
||||
/*0*/ {false, L"back:#0000"}, // OCC MARKER
|
||||
/*1*/ {false, L"back:#FF0000"},
|
||||
/*2*/ {false, L"back:#0000FF"},
|
||||
/*3*/ {false, L"back:#00FF00"},
|
||||
/*4*/ {false, L"back:#FFFF00"},
|
||||
/*5*/ {false, L"back:#00E8E8"},
|
||||
/*6*/ {false, L"back:#FF00FF"},
|
||||
/*7*/ {false, L"back:#FF8F20"},
|
||||
/*8*/ {false, L"back:#950095"}};
|
||||
LPCWSTR WordBookMarks[MARKER_NP3_BOOKMARK] = {
|
||||
/*0*/ L"back:#0000", // OCC MARKER
|
||||
/*1*/ L"back:#FF0000",
|
||||
/*2*/ L"back:#0000FF",
|
||||
/*3*/ L"back:#00FF00",
|
||||
/*4*/ L"back:#FFFF00",
|
||||
/*5*/ L"back:#00E8E8",
|
||||
/*6*/ L"back:#FF00FF",
|
||||
/*7*/ L"back:#FF8F20",
|
||||
/*8*/ L"back:#950095"};
|
||||
|
||||
|
||||
#define RELAUNCH_ELEVATED_BUF_ARG L"tmpfbuf="
|
||||
|
||||
@ -1845,7 +1845,7 @@ void Style_SetMargin(HWND hwnd, int iStyle, LPCWSTR lpszStyle)
|
||||
for (int m = MARKER_NP3_1; m < MARKER_NP3_BOOKMARK; ++m)
|
||||
{
|
||||
SciCall_MarkerDefine(m, (Settings.FocusViewMarkerMode & FVMM_LN_BACKGR) ? SC_MARK_BACKGROUND : SC_MARK_BOOKMARK);
|
||||
Style_StrGetColor(WordBookMarks[m].color, BACKGROUND_LAYER, &color);
|
||||
Style_StrGetColor(WordBookMarks[m], BACKGROUND_LAYER, &color);
|
||||
SciCall_MarkerSetFore(m, color);
|
||||
SciCall_MarkerSetBack(m, color);
|
||||
SciCall_MarkerSetAlpha(m, alpha); // no margin or SC_MARK_BACKGROUND or SC_MARK_UNDERLINE
|
||||
|
||||
@ -270,16 +270,7 @@ typedef enum
|
||||
|
||||
#define OCCURRENCE_MARKER_BITMASK() (bitmask32_n(MARKER_NP3_BOOKMARK + 1) & ~(1 << MARKER_NP3_OCCURRENCE))
|
||||
|
||||
|
||||
typedef struct _wordbookmark_t
|
||||
{
|
||||
bool in_use;
|
||||
LPCWSTR color;
|
||||
|
||||
} WORDBOOKMARK_T, *PWORDBOOKMARK_T;
|
||||
|
||||
extern WORDBOOKMARK_T WordBookMarks[];
|
||||
|
||||
extern LPCWSTR WordBookMarks[];
|
||||
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user