diff --git a/src/apps/stylededit/Constants.h b/src/apps/stylededit/Constants.h index 7cf1133795..2711073324 100644 --- a/src/apps/stylededit/Constants.h +++ b/src/apps/stylededit/Constants.h @@ -43,6 +43,7 @@ const uint32 MSG_SEARCH = 'msea'; const uint32 MSG_REPLACE = 'msre'; const uint32 MSG_REPLACE_ALL = 'mrea'; const uint32 MSG_HIDE_WINDOW = 'mhdw'; +const uint32 MSG_FIND_WINDOW_QUIT = 'mfwq'; // "Font"-menu const uint32 FONT_SIZE = 'FMsi'; diff --git a/src/apps/stylededit/FindWindow.cpp b/src/apps/stylededit/FindWindow.cpp index cde9f1f6c1..a8f4fc7d5b 100644 --- a/src/apps/stylededit/FindWindow.cpp +++ b/src/apps/stylededit/FindWindow.cpp @@ -110,6 +110,16 @@ FindWindow::DispatchMessage(BMessage* message, BHandler* handler) } +bool +FindWindow::QuitRequested() +{ + BMessenger messenger(fHandler); + messenger.SendMessage(MSG_FIND_WINDOW_QUIT); + + return true; +} + + void FindWindow::Show() { diff --git a/src/apps/stylededit/FindWindow.h b/src/apps/stylededit/FindWindow.h index f891bf57b6..c6a2e17e08 100644 --- a/src/apps/stylededit/FindWindow.h +++ b/src/apps/stylededit/FindWindow.h @@ -26,6 +26,7 @@ class FindWindow : public BWindow { virtual void MessageReceived(BMessage* message); virtual void DispatchMessage(BMessage* message, BHandler* handler); + virtual bool QuitRequested(); virtual void Show(); private: diff --git a/src/apps/stylededit/StyledEditWindow.cpp b/src/apps/stylededit/StyledEditWindow.cpp index 892702ced4..326ad1e9c7 100644 --- a/src/apps/stylededit/StyledEditWindow.cpp +++ b/src/apps/stylededit/StyledEditWindow.cpp @@ -254,6 +254,11 @@ StyledEditWindow::MessageReceived(BMessage* message) fFindWindow->Activate(); break; } + case MSG_FIND_WINDOW_QUIT: + { + fFindWindow = NULL; + break; + } case MSG_SEARCH: message->FindString("findtext", &fStringToFind); fFindAgainItem->SetEnabled(true);