From: Carl Hetherington Date: Tue, 17 Jan 2023 16:33:15 +0000 (+0100) Subject: Use collator to search for screens (#2426). X-Git-Tag: v2.16.41~17 X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=commitdiff_plain;h=da13c2af9e8f19229061ca1939cbe8bd37c72eba Use collator to search for screens (#2426). --- diff --git a/src/wx/screens_panel.cc b/src/wx/screens_panel.cc index 617ff9adc..6c5b28b8d 100644 --- a/src/wx/screens_panel.cc +++ b/src/wx/screens_panel.cc @@ -177,23 +177,20 @@ ScreensPanel::convert_to_lower(string& s) bool -ScreensPanel::matches_search(shared_ptr cinema, string lower_case_search) +ScreensPanel::matches_search(shared_ptr cinema, string search) { - if (lower_case_search.empty()) { + if (search.empty()) { return true; } - auto name = cinema->name; - convert_to_lower(name); - return name.find(lower_case_search) != string::npos; + return _collator.find(search, cinema->name); } optional ScreensPanel::add_cinema (shared_ptr cinema, wxTreeListItem previous) { - auto search = wx_to_std (_search->GetValue ()); - convert_to_lower(search); + auto const search = wx_to_std(_search->GetValue()); if (!matches_search(cinema, search)) { return {}; } @@ -249,8 +246,7 @@ ScreensPanel::add_cinema_clicked () wxTreeListItem previous = wxTLI_FIRST; bool found = false; - auto search = wx_to_std(_search->GetValue()); - convert_to_lower(search); + auto const search = wx_to_std(_search->GetValue()); for (auto existing_cinema: cinemas) { if (!matches_search(existing_cinema, search)) { continue; diff --git a/src/wx/screens_panel.h b/src/wx/screens_panel.h index bdbac5141..65dfbdddb 100644 --- a/src/wx/screens_panel.h +++ b/src/wx/screens_panel.h @@ -78,7 +78,7 @@ private: 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); + bool matches_search(std::shared_ptr cinema, std::string search); std::list> sorted_cinemas() const; std::shared_ptr item_to_cinema (wxTreeListItem item) const;