aboutsummaryrefslogtreecommitdiff
path: root/src/keymap/KeySeqParser.cpp
diff options
context:
space:
mode:
authorAkshay Nair <phenax5@gmail.com>2025-07-26 11:59:38 +0530
committerAkshay Nair <phenax5@gmail.com>2025-07-26 11:59:38 +0530
commit2078c60477842d7cf6991148e23979565737a8b5 (patch)
tree980e2aea150e85c6b87f2b521fce1006486244d8 /src/keymap/KeySeqParser.cpp
parent68448538172663279919b29dd09b5faa51e0628a (diff)
downloadnull-browser-2078c60477842d7cf6991148e23979565737a8b5.tar.gz
null-browser-2078c60477842d7cf6991148e23979565737a8b5.zip
Refactor heavy + extras.tabline module (incomplete)
Diffstat (limited to 'src/keymap/KeySeqParser.cpp')
-rw-r--r--src/keymap/KeySeqParser.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/keymap/KeySeqParser.cpp b/src/keymap/KeySeqParser.cpp
index 555e955..192f436 100644
--- a/src/keymap/KeySeqParser.cpp
+++ b/src/keymap/KeySeqParser.cpp
@@ -80,3 +80,16 @@ Qt::Key KeySeqParser::parse_key(const QString &key_name) {
return Qt::Key_T;
}
+
+KeyMatchType KeySeqParser::key_sequence_match(const KeySequence &target,
+ const KeySequence &current) {
+ for (int i = 0; i < target.length(); i++) {
+ if (current.length() <= i)
+ return KeyMatchType::Pending;
+
+ if (target[i].key != current[i].key || !target[i].mod.testFlags(current[i].mod))
+ return KeyMatchType::NoMatch;
+ }
+
+ return KeyMatchType::Match;
+}