X-Git-Url: https://git.carlh.net/gitweb/?p=dcpomatic.git;a=blobdiff_plain;f=src%2Fwx%2Fscreens_panel.cc;h=272b983d90c8bf5e72c81e00c3b38ef3e9791163;hp=a726030ade2049e34a3575e9398acde44ee2a2f7;hb=ed0b5670e65647a9f0555ed66f81125678d193a7;hpb=15a1da99e3930860e160a6c94b87e5467c765fcf 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));