mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-27 19:25:49 +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
|
namespace Input
|
||||||
{
|
{
|
||||||
|
CHotkeyCombination::CHotkeyCombination(const CKeyboardKey &key) : CHotkeyCombination(CKeyboardKeyList(key))
|
||||||
|
{ }
|
||||||
|
|
||||||
|
CHotkeyCombination::CHotkeyCombination(const CKeyboardKeyList &keys) : m_keyboardKeys(keys)
|
||||||
|
{ }
|
||||||
|
|
||||||
void CHotkeyCombination::addKeyboardKey(const CKeyboardKey &key)
|
void CHotkeyCombination::addKeyboardKey(const CKeyboardKey &key)
|
||||||
{
|
{
|
||||||
if (m_keyboardKeys.contains(key)) { return; }
|
if (m_keyboardKeys.contains(key)) { return; }
|
||||||
@@ -61,12 +67,13 @@ namespace BlackMisc
|
|||||||
|
|
||||||
bool CHotkeyCombination::isSubsetOf(const CHotkeyCombination &other) const
|
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); }) &&
|
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); });
|
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;
|
QStringList sl;
|
||||||
for (const auto &key : m_keyboardKeys)
|
for (const auto &key : m_keyboardKeys)
|
||||||
{
|
{
|
||||||
@@ -78,6 +85,5 @@ namespace BlackMisc
|
|||||||
}
|
}
|
||||||
return sl.join('+');
|
return sl.join('+');
|
||||||
}
|
}
|
||||||
|
} // ns
|
||||||
}
|
} // ns
|
||||||
}
|
|
||||||
|
|||||||
@@ -34,8 +34,14 @@ namespace BlackMisc
|
|||||||
//! Default constructor
|
//! Default constructor
|
||||||
CHotkeyCombination() = default;
|
CHotkeyCombination() = default;
|
||||||
|
|
||||||
|
//! Init with key
|
||||||
|
CHotkeyCombination(const CKeyboardKey &key);
|
||||||
|
|
||||||
|
//! Init with list of keys
|
||||||
|
CHotkeyCombination(const CKeyboardKeyList &keys);
|
||||||
|
|
||||||
//! Set keyboard keys
|
//! Set keyboard keys
|
||||||
void setKeyboardKeys(const CKeyboardKeyList &list) { m_keyboardKeys = list; }
|
void setKeyboardKeys(const CKeyboardKeyList &keys) { m_keyboardKeys = keys; }
|
||||||
|
|
||||||
//! Get keyboard keys
|
//! Get keyboard keys
|
||||||
CKeyboardKeyList getKeyboardKeys() const { return m_keyboardKeys; }
|
CKeyboardKeyList getKeyboardKeys() const { return m_keyboardKeys; }
|
||||||
@@ -87,8 +93,8 @@ namespace BlackMisc
|
|||||||
BLACK_METAMEMBER(joystickButtons)
|
BLACK_METAMEMBER(joystickButtons)
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
}
|
} // ns
|
||||||
}
|
} // ns
|
||||||
|
|
||||||
Q_DECLARE_METATYPE(BlackMisc::Input::CHotkeyCombination)
|
Q_DECLARE_METATYPE(BlackMisc::Input::CHotkeyCombination)
|
||||||
|
|
||||||
|
|||||||
@@ -14,16 +14,21 @@ namespace BlackMisc
|
|||||||
{
|
{
|
||||||
namespace Input
|
namespace Input
|
||||||
{
|
{
|
||||||
|
|
||||||
CKeyboardKeyList::CKeyboardKeyList() { }
|
CKeyboardKeyList::CKeyboardKeyList() { }
|
||||||
|
|
||||||
|
CKeyboardKeyList::CKeyboardKeyList(const CKeyboardKey &key)
|
||||||
|
{
|
||||||
|
this->push_back(key);
|
||||||
|
}
|
||||||
|
|
||||||
CKeyboardKeyList::CKeyboardKeyList(const CSequence<CKeyboardKey> &baseClass) :
|
CKeyboardKeyList::CKeyboardKeyList(const CSequence<CKeyboardKey> &baseClass) :
|
||||||
CSequence<CKeyboardKey>(baseClass)
|
CSequence<CKeyboardKey>(baseClass)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
const CKeyboardKeyList &CKeyboardKeyList::allSupportedKeys()
|
const CKeyboardKeyList &CKeyboardKeyList::allSupportedKeys()
|
||||||
{
|
{
|
||||||
static CKeyboardKeyList allKeys = {
|
static const CKeyboardKeyList allKeys =
|
||||||
|
{
|
||||||
CKeyboardKey(Key_ControlLeft),
|
CKeyboardKey(Key_ControlLeft),
|
||||||
CKeyboardKey(Key_ControlRight),
|
CKeyboardKey(Key_ControlRight),
|
||||||
CKeyboardKey(Key_AltLeft),
|
CKeyboardKey(Key_AltLeft),
|
||||||
@@ -70,6 +75,5 @@ namespace BlackMisc
|
|||||||
|
|
||||||
return allKeys;
|
return allKeys;
|
||||||
}
|
}
|
||||||
|
} // ns
|
||||||
} // namespace
|
} // ns
|
||||||
} // namespace
|
|
||||||
|
|||||||
@@ -37,6 +37,9 @@ namespace BlackMisc
|
|||||||
//! Default constructor
|
//! Default constructor
|
||||||
CKeyboardKeyList();
|
CKeyboardKeyList();
|
||||||
|
|
||||||
|
//! Init by single key
|
||||||
|
CKeyboardKeyList(const CKeyboardKey &key);
|
||||||
|
|
||||||
//! Construct from a base class object.
|
//! Construct from a base class object.
|
||||||
CKeyboardKeyList(const CSequence<CKeyboardKey> &baseClass);
|
CKeyboardKeyList(const CSequence<CKeyboardKey> &baseClass);
|
||||||
|
|
||||||
@@ -45,9 +48,7 @@ namespace BlackMisc
|
|||||||
|
|
||||||
//! Get all supported keys
|
//! Get all supported keys
|
||||||
static const CKeyboardKeyList &allSupportedKeys();
|
static const CKeyboardKeyList &allSupportedKeys();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
} //namespace
|
} //namespace
|
||||||
} // namespace
|
} // namespace
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user