From af12b75b932526eb9a48a81d094cbaeba9cec65f Mon Sep 17 00:00:00 2001 From: Andrzej Rybczak Date: Sat, 23 Jan 2010 21:49:43 +0100 Subject: [PATCH] use key (F)4 to reset search engine state while being in this screen --- src/help.cpp | 1 + src/search_engine.cpp | 18 +++++++++++++----- src/search_engine.h | 1 + 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/src/help.cpp b/src/help.cpp index 9b6daf6e..cd52943a 100644 --- a/src/help.cpp +++ b/src/help.cpp @@ -254,6 +254,7 @@ void Help::GetKeybindings() *w << DisplayKeys(Key.EditTags) << "Edit song's tags\n"; # endif // HAVE_TAGLIB_H *w << DisplayKeys(Key.ToggleSingle) << "Start searching immediately\n"; + *w << DisplayKeys(Key.SearchEngine) << "Reset search engine\n"; *w << "\n\n " << fmtBold << "Keys - Media library\n -----------------------------------------\n" << fmtBoldEnd; diff --git a/src/search_engine.cpp b/src/search_engine.cpp index 218c8964..ea2ca1be 100644 --- a/src/search_engine.cpp +++ b/src/search_engine.cpp @@ -84,7 +84,10 @@ void SearchEngine::SwitchTo() using Global::myScreen; if (myScreen == this) + { + Reset(); return; + } if (!isInitialized) Init(); @@ -169,11 +172,7 @@ void SearchEngine::EnterPressed() } else if (option == ResetButton) { - for (size_t i = 0; i < ConstraintsNumber; ++i) - itsConstraints[i].clear(); - w->Reset(); - Prepare(); - ShowMessage("Search state reset"); + Reset(); } else w->Bold(w->Choice(), myPlaylist->Add(*w->Current().second, w->isBold(), 1)); @@ -301,6 +300,15 @@ void SearchEngine::Prepare() *w->at(ResetButton).first << "Reset"; } +void SearchEngine::Reset() +{ + for (size_t i = 0; i < ConstraintsNumber; ++i) + itsConstraints[i].clear(); + w->Reset(); + Prepare(); + ShowMessage("Search state reset"); +} + void SearchEngine::Search() { bool constraints_empty = 1; diff --git a/src/search_engine.h b/src/search_engine.h index a40848d8..2eb27660 100644 --- a/src/search_engine.h +++ b/src/search_engine.h @@ -59,6 +59,7 @@ class SearchEngine : public Screen< Menu< std::pair > > private: void Prepare(); void Search(); + void Reset(); const char **SearchMode;