summaryrefslogtreecommitdiff
path: root/src/wx/screens_panel.cc
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 /src/wx/screens_panel.cc
parent15a1da99e3930860e160a6c94b87e5467c765fcf (diff)
Cleanup: add convert_to_lower() and matches_search().
Diffstat (limited to 'src/wx/screens_panel.cc')
-rw-r--r--src/wx/screens_panel.cc31
1 files changed, 23 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));