From ed0b5670e65647a9f0555ed66f81125678d193a7 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Wed, 23 Nov 2022 20:41:16 +0100 Subject: [PATCH] Cleanup: add convert_to_lower() and matches_search(). --- src/wx/screens_panel.cc | 31 +++++++++++++++++++++++-------- src/wx/screens_panel.h | 2 ++ 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/src/wx/screens_panel.cc b/src/wx/screens_panel.cc index a726030ad..272b983d9 100644 --- a/src/wx/screens_panel.cc +++ b/src/wx/screens_panel.cc @@ -167,18 +167,33 @@ ScreensPanel::setup_sensitivity () } +void +ScreensPanel::convert_to_lower(string& s) +{ + transform(s.begin(), s.end(), s.begin(), ::tolower); +} + + +bool +ScreensPanel::matches_search(shared_ptr cinema, string lower_case_search) +{ + if (lower_case_search.empty()) { + return true; + } + + auto name = cinema->name; + convert_to_lower(name); + return name.find(lower_case_search) != string::npos; +} + + optional ScreensPanel::add_cinema (shared_ptr cinema, wxTreeListItem previous) { auto search = wx_to_std (_search->GetValue ()); - transform (search.begin(), search.end(), search.begin(), ::tolower); - - if (!search.empty ()) { - auto name = cinema->name; - transform (name.begin(), name.end(), name.begin(), ::tolower); - if (name.find (search) == string::npos) { - return {}; - } + convert_to_lower(search); + if (!matches_search(cinema, search)) { + return {}; } auto id = _targets->InsertItem(_targets->GetRootItem(), previous, std_to_wx(cinema->name)); diff --git a/src/wx/screens_panel.h b/src/wx/screens_panel.h index e9cd8454d..73da029d0 100644 --- a/src/wx/screens_panel.h +++ b/src/wx/screens_panel.h @@ -74,6 +74,8 @@ private: bool notify_cinemas_changed(); void clear_and_re_add(); void config_changed(Config::Property); + void convert_to_lower(std::string& s); + bool matches_search(std::shared_ptr cinema, std::string lower_case_search); std::shared_ptr item_to_cinema (wxTreeListItem item) const; std::shared_ptr item_to_screen (wxTreeListItem item) const; -- 2.30.2