diff --git a/aegisub/src/agi_pre.h b/aegisub/src/agi_pre.h index d50e48675..2106f71ee 100644 --- a/aegisub/src/agi_pre.h +++ b/aegisub/src/agi_pre.h @@ -142,7 +142,6 @@ #include #include #include -#include #include #include #include diff --git a/aegisub/src/hotkey_data_view_model.cpp b/aegisub/src/hotkey_data_view_model.cpp index b0ae35c45..d0d69c732 100644 --- a/aegisub/src/hotkey_data_view_model.cpp +++ b/aegisub/src/hotkey_data_view_model.cpp @@ -33,7 +33,6 @@ #include "preferences.h" #include -#include #include #include @@ -75,8 +74,8 @@ public: { } - bool IsVisible(wxRegEx const& filter) const { - return filter.Matches(cmd_name) || filter.Matches(cmd_str); + bool IsVisible(wxString const& filter) const { + return cmd_name.Lower().Contains(filter) || cmd_str.Contains(filter); } void Apply(Hotkey::HotkeyMap *hk_map) { @@ -166,7 +165,7 @@ public: combo.Apply(hk_map); } - void SetFilter(wxRegEx const& new_filter) { + void SetFilter(wxString const& new_filter) { std::set old_visible; for (auto item : visible_items) old_visible.insert(static_cast(item.GetID())); @@ -235,19 +234,13 @@ public: } void Apply(Hotkey::HotkeyMap *hk_map) { - for_each(categories.begin(), categories.end(), - bind(&HotkeyModelCategory::Apply, std::placeholders::_1, hk_map)); + for (auto& category : categories) + category.Apply(hk_map); } - void SetFilter(wxString filter) { - // Escape any regular-expression special characters - static wxRegEx escape_meta("[-[\\]{}()*+?.,\\\\^$|#]", wxRE_ADVANCED); - escape_meta.Replace(&filter, "\\\\&"); - - // Using wxRegEx for case-insensitive contains - wxRegEx re(filter, wxRE_ADVANCED | wxRE_ICASE | wxRE_NOSUB); - for_each(categories.begin(), categories.end(), - bind(&HotkeyModelCategory::SetFilter, std::placeholders::_1, std::ref(re))); + void SetFilter(wxString const& filter) { + for (auto& category : categories) + category.SetFilter(filter); } wxDataViewItem GetParent() const { return wxDataViewItem(0); } @@ -338,5 +331,5 @@ void HotkeyDataViewModel::Apply() { } void HotkeyDataViewModel::SetFilter(wxString const& filter) { - root->SetFilter(filter); + root->SetFilter(filter.Lower()); }