diff options
Diffstat (limited to 'include/keymap/KeySeqParser.hpp')
| -rw-r--r-- | include/keymap/KeySeqParser.hpp | 44 |
1 files changed, 0 insertions, 44 deletions
diff --git a/include/keymap/KeySeqParser.hpp b/include/keymap/KeySeqParser.hpp deleted file mode 100644 index fac2546..0000000 --- a/include/keymap/KeySeqParser.hpp +++ /dev/null @@ -1,44 +0,0 @@ -#pragma once - -#include <QtCore/qnamespace.h> -#include <QtCore> -#include <cmath> - -struct KeyChord { - Qt::KeyboardModifiers mod; - Qt::Key key; -}; -bool operator==(const KeyChord a, const KeyChord b); - -typedef QList<KeyChord> KeySequence; - -enum KeyMatchType { - NoMatch, - Match, - Pending, -}; - -class KeySeqParser { -public: - static const KeyMatchType keySequenceMatch(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; - } - -public: - KeySeqParser(); - - KeySequence parse(QString keySequence); - -private: - Qt::Key parseKey(QString keyName); -}; |
