From aa9c5d4418d2ffbb1efba6293c9ea961a3ab0592 Mon Sep 17 00:00:00 2001 From: speles Date: Sun, 28 Feb 2021 20:50:52 +0200 Subject: [PATCH] LibGUI: Add possibility to search for exact match in model --- Userland/Libraries/LibGUI/Model.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Userland/Libraries/LibGUI/Model.h b/Userland/Libraries/LibGUI/Model.h index 5d8c5057b0..1603d766df 100644 --- a/Userland/Libraries/LibGUI/Model.h +++ b/Userland/Libraries/LibGUI/Model.h @@ -66,6 +66,7 @@ public: FirstMatchOnly = 1 << 0, CaseInsensitive = 1 << 1, MatchAtStart = 1 << 2, + MatchFull = 1 << 3, }; virtual ~Model(); @@ -112,6 +113,8 @@ protected: static bool string_matches(const StringView& str, const StringView& needle, unsigned flags) { auto case_sensitivity = (flags & CaseInsensitive) ? CaseSensitivity::CaseInsensitive : CaseSensitivity::CaseSensitive; + if (flags & MatchFull) + return str.length() == needle.length() && str.starts_with(needle, case_sensitivity); if (flags & MatchAtStart) return str.starts_with(needle, case_sensitivity); return str.contains(needle, case_sensitivity);