summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2022-11-23 20:41:16 +0100
committerCarl Hetherington <cth@carlh.net>2022-11-23 21:23:25 +0100
commited0b5670e65647a9f0555ed66f81125678d193a7 (patch)
tree98fd1ce300a0ea2e437c0c50174e75292781010c
parent15a1da99e3930860e160a6c94b87e5467c765fcf (diff)
Cleanup: add convert_to_lower() and matches_search().
-rw-r--r--src/wx/screens_panel.cc31
-rw-r--r--src/wx/screens_panel.h2
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<const Cinema> 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<wxTreeListItem>
ScreensPanel::add_cinema (shared_ptr<Cinema> 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<const Cinema> cinema, std::string lower_case_search);
std::shared_ptr<Cinema> item_to_cinema (wxTreeListItem item) const;
std::shared_ptr<dcpomatic::Screen> item_to_screen (wxTreeListItem item) const;