Skip to content

Commit

Permalink
Preserve Find All bookmarks on clicking inside editor area, issue #326.
Browse files Browse the repository at this point in the history
  • Loading branch information
zufuliu committed May 13, 2021
1 parent d028d94 commit ce7a8d8
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 2 deletions.
10 changes: 8 additions & 2 deletions src/Edit.c
Original file line number Diff line number Diff line change
Expand Up @@ -5752,8 +5752,12 @@ void EditMarkAll_ClearEx(int findFlag, Sci_Position iSelCount, LPSTR pszText) {
// clear existing indicator
SciCall_SetIndicatorCurrent(IndicatorNumber_MarkOccurrence);
SciCall_IndicatorClearRange(0, SciCall_GetLength());
}
if (editMarkAllStatus.bookmarkLine >= 0 || editMarkAllStatus.bookmarkForFindAll) {
if ((findFlag | editMarkAllStatus.findFlag) & NP2_MarkAllBookmark) {
SciCall_MarkerDeleteAll(MarkerNumber_Bookmark);
if ((findFlag & (NP2_MarkAllBookmark | NP2_FromFindAll)) != 0 || !editMarkAllStatus.bookmarkForFindAll) {
SciCall_MarkerDeleteAll(MarkerNumber_Bookmark);
}
}
}
if (editMarkAllStatus.pszText) {
Expand Down Expand Up @@ -5796,6 +5800,7 @@ BOOL EditMarkAll_Start(BOOL bChanged, int findFlag, Sci_Position iSelCount, LPST

//EditMarkAll_Runs = 0;
if (findFlag & NP2_MarkAllBookmark) {
editMarkAllStatus.bookmarkForFindAll = findFlag & NP2_FromFindAll;
Style_SetBookmark();
}
return EditMarkAll_Continue(&editMarkAllStatus, idleTaskTimer);
Expand Down Expand Up @@ -5995,7 +6000,8 @@ void EditFindAll(LPCEDITFINDREPLACE lpefr, BOOL selectAll) {
}

searchFlags |= (bFindReplaceFindAllBookmark * NP2_MarkAllBookmark)
| (selectAll * NP2_MarkAllSelectAll);
| (selectAll * NP2_MarkAllSelectAll)
| NP2_FromFindAll;
// rewind start position when transform backslash is checked,
// all other searching doesn't across lines.
// NOTE: complex fix is needed when multiline regex is supported.
Expand Down
2 changes: 2 additions & 0 deletions src/Edit.h
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@
#define NP2_MarkAllMultiline 0x00001000
#define NP2_MarkAllBookmark 0x00002000
#define NP2_MarkAllSelectAll 0x00004000
#define NP2_FromFindAll 0x00008000

typedef struct EDITFINDREPLACE {
char szFind[512];
Expand Down Expand Up @@ -218,6 +219,7 @@ enum {
typedef struct EditMarkAllStatus {
BOOL pending;
BOOL ignoreSelectionUpdate;
BOOL bookmarkForFindAll;
int findFlag;
int incrementSize; // increment search size
Sci_Position iSelCount; // length for pszText
Expand Down

0 comments on commit ce7a8d8

Please sign in to comment.