mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-05 17:35:34 +08:00
refs #912, keyboard key list / combination utility functions and minor fixes
* Ctor for single key * static const CKeyboardKeyList * some formatting
This commit is contained in:
committed by
Mathew Sutcliffe
parent
9921cc3497
commit
09b9ca5d50
@@ -20,6 +20,12 @@ namespace BlackMisc
|
||||
{
|
||||
namespace Input
|
||||
{
|
||||
CHotkeyCombination::CHotkeyCombination(const CKeyboardKey &key) : CHotkeyCombination(CKeyboardKeyList(key))
|
||||
{ }
|
||||
|
||||
CHotkeyCombination::CHotkeyCombination(const CKeyboardKeyList &keys) : m_keyboardKeys(keys)
|
||||
{ }
|
||||
|
||||
void CHotkeyCombination::addKeyboardKey(const CKeyboardKey &key)
|
||||
{
|
||||
if (m_keyboardKeys.contains(key)) { return; }
|
||||
@@ -61,12 +67,13 @@ namespace BlackMisc
|
||||
|
||||
bool CHotkeyCombination::isSubsetOf(const CHotkeyCombination &other) const
|
||||
{
|
||||
return std::all_of(m_keyboardKeys.begin(), m_keyboardKeys.end(), [&other](const CKeyboardKey &k) { return other.m_keyboardKeys.contains(k); }) &&
|
||||
std::all_of(m_joystickButtons.begin(), m_joystickButtons.end(), [&other](const CJoystickButton &b) { return other.m_joystickButtons.contains(b); });
|
||||
return std::all_of(m_keyboardKeys.begin(), m_keyboardKeys.end(), [&other](const CKeyboardKey & k) { return other.m_keyboardKeys.contains(k); }) &&
|
||||
std::all_of(m_joystickButtons.begin(), m_joystickButtons.end(), [&other](const CJoystickButton & b) { return other.m_joystickButtons.contains(b); });
|
||||
}
|
||||
|
||||
QString CHotkeyCombination::convertToQString(bool /* i18n */) const
|
||||
QString CHotkeyCombination::convertToQString(bool i18n) const
|
||||
{
|
||||
Q_UNUSED(i18n);
|
||||
QStringList sl;
|
||||
for (const auto &key : m_keyboardKeys)
|
||||
{
|
||||
@@ -78,6 +85,5 @@ namespace BlackMisc
|
||||
}
|
||||
return sl.join('+');
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
} // ns
|
||||
} // ns
|
||||
|
||||
@@ -34,8 +34,14 @@ namespace BlackMisc
|
||||
//! Default constructor
|
||||
CHotkeyCombination() = default;
|
||||
|
||||
//! Init with key
|
||||
CHotkeyCombination(const CKeyboardKey &key);
|
||||
|
||||
//! Init with list of keys
|
||||
CHotkeyCombination(const CKeyboardKeyList &keys);
|
||||
|
||||
//! Set keyboard keys
|
||||
void setKeyboardKeys(const CKeyboardKeyList &list) { m_keyboardKeys = list; }
|
||||
void setKeyboardKeys(const CKeyboardKeyList &keys) { m_keyboardKeys = keys; }
|
||||
|
||||
//! Get keyboard keys
|
||||
CKeyboardKeyList getKeyboardKeys() const { return m_keyboardKeys; }
|
||||
@@ -87,8 +93,8 @@ namespace BlackMisc
|
||||
BLACK_METAMEMBER(joystickButtons)
|
||||
);
|
||||
};
|
||||
}
|
||||
}
|
||||
} // ns
|
||||
} // ns
|
||||
|
||||
Q_DECLARE_METATYPE(BlackMisc::Input::CHotkeyCombination)
|
||||
|
||||
|
||||
@@ -14,16 +14,21 @@ namespace BlackMisc
|
||||
{
|
||||
namespace Input
|
||||
{
|
||||
|
||||
CKeyboardKeyList::CKeyboardKeyList() { }
|
||||
|
||||
CKeyboardKeyList::CKeyboardKeyList(const CKeyboardKey &key)
|
||||
{
|
||||
this->push_back(key);
|
||||
}
|
||||
|
||||
CKeyboardKeyList::CKeyboardKeyList(const CSequence<CKeyboardKey> &baseClass) :
|
||||
CSequence<CKeyboardKey>(baseClass)
|
||||
{ }
|
||||
|
||||
const CKeyboardKeyList &CKeyboardKeyList::allSupportedKeys()
|
||||
{
|
||||
static CKeyboardKeyList allKeys = {
|
||||
static const CKeyboardKeyList allKeys =
|
||||
{
|
||||
CKeyboardKey(Key_ControlLeft),
|
||||
CKeyboardKey(Key_ControlRight),
|
||||
CKeyboardKey(Key_AltLeft),
|
||||
@@ -70,6 +75,5 @@ namespace BlackMisc
|
||||
|
||||
return allKeys;
|
||||
}
|
||||
|
||||
} // namespace
|
||||
} // namespace
|
||||
} // ns
|
||||
} // ns
|
||||
|
||||
@@ -37,6 +37,9 @@ namespace BlackMisc
|
||||
//! Default constructor
|
||||
CKeyboardKeyList();
|
||||
|
||||
//! Init by single key
|
||||
CKeyboardKeyList(const CKeyboardKey &key);
|
||||
|
||||
//! Construct from a base class object.
|
||||
CKeyboardKeyList(const CSequence<CKeyboardKey> &baseClass);
|
||||
|
||||
@@ -45,9 +48,7 @@ namespace BlackMisc
|
||||
|
||||
//! Get all supported keys
|
||||
static const CKeyboardKeyList &allSupportedKeys();
|
||||
|
||||
};
|
||||
|
||||
} //namespace
|
||||
} // namespace
|
||||
|
||||
|
||||
Reference in New Issue
Block a user