Skip to content

Commit 7e28201

Browse files
committed
Use FindReplaceHandler for Search menu actions
1 parent 9f63f4a commit 7e28201

2 files changed

Lines changed: 15 additions & 3 deletions

File tree

src/editor/EditorWindow.cpp

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -572,13 +572,19 @@ EditorWindow::MessageReceived(BMessage* message)
572572
be_app->PostMessage(message);
573573
} break;
574574
case MAINMENU_SEARCH_FINDNEXT: {
575-
fEditor->FindNext();
575+
PostMessage(FindReplaceHandler::FIND, fFindReplaceHandler, this);
576576
} break;
577577
case MAINMENU_SEARCH_FINDSELECTION: {
578-
fEditor->FindSelection();
578+
std::string selection = fEditor->SelectionText();
579+
if(!selection.empty()) {
580+
BMessage msg(FindReplaceHandler::FIND);
581+
msg.AddBool("wrapAround", true);
582+
msg.AddString("findText", selection.c_str());
583+
PostMessage(&msg, fFindReplaceHandler, this);
584+
}
579585
} break;
580586
case MAINMENU_SEARCH_REPLACEANDFIND: {
581-
fEditor->ReplaceAndFind();
587+
PostMessage(FindReplaceHandler::REPLACEFIND, fFindReplaceHandler, this);
582588
} break;
583589
case MAINMENU_SEARCH_INCREMENTAL: {
584590
RemoveCommonFilter(fFindReplaceHandler->IncrementalSearchFilter());

src/editor/FindReplaceHandler.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,9 @@ FindReplaceHandler::MessageReceived(BMessage* message)
6969

7070
switch(message->what) {
7171
case REPLACEFIND:
72+
if(info.replace.empty() && info.find.empty()) {
73+
info.replace = fSearchLastInfo.replace;
74+
}
7275
// fallthrough
7376
case REPLACE: {
7477
int replaceMsg = (info.regex ? SCI_REPLACETARGETRE : SCI_REPLACETARGET);
@@ -90,6 +93,9 @@ FindReplaceHandler::MessageReceived(BMessage* message)
9093
}
9194
if(message->what != REPLACEFIND) break;
9295
case FIND: {
96+
if(info.find.empty()) {
97+
info = fSearchLastInfo;
98+
}
9399
if((fSearchLastInfo.backwards == true && (anchor != fSearchLastResult.first
94100
|| current != fSearchLastResult.second))
95101
|| (fSearchLastInfo.backwards == false && (anchor != fSearchLastResult.second

0 commit comments

Comments
 (0)