mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-10 13:00:29 +03:00
LibGUI: Add possibility to search for exact match in model
This commit is contained in:
parent
dff31d5885
commit
aa9c5d4418
Notes:
sideshowbarker
2024-07-18 21:49:31 +09:00
Author: https://github.com/speles Commit: https://github.com/SerenityOS/serenity/commit/aa9c5d4418d Pull-request: https://github.com/SerenityOS/serenity/pull/5564 Issue: https://github.com/SerenityOS/serenity/issues/4647
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user