mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-01 05:26:45 +08:00
Add methods to generally add/remove modifiers in CKeyboardKey
It adds a modifier if modifer1 or modifer2 are set to None. refs #83
This commit is contained in:
@@ -223,6 +223,56 @@ namespace BlackMisc
|
||||
m_qtKey = static_cast<Qt::Key>(sequence[0]);
|
||||
}
|
||||
}
|
||||
|
||||
bool CKeyboardKey::addModifier(const Modifier &modifier)
|
||||
{
|
||||
bool added = false;
|
||||
|
||||
// Don't add the same modifier twice
|
||||
if (hasModifier(modifier))
|
||||
return false;
|
||||
|
||||
if (m_modifier1 == ModifierNone)
|
||||
{
|
||||
m_modifier1 = modifier;
|
||||
added = true;
|
||||
}
|
||||
else if (m_modifier2 == ModifierNone)
|
||||
{
|
||||
m_modifier2 = modifier;
|
||||
added = true;
|
||||
}
|
||||
|
||||
return added;
|
||||
}
|
||||
|
||||
bool CKeyboardKey::addModifier(const QString &modifier)
|
||||
{
|
||||
return addModifier(modifierFromString(modifier));
|
||||
}
|
||||
|
||||
bool CKeyboardKey::removeModifier(const Modifier &modifier)
|
||||
{
|
||||
bool removed = false;
|
||||
|
||||
if (m_modifier1 == modifier)
|
||||
{
|
||||
m_modifier1 = ModifierNone;
|
||||
removed = true;
|
||||
}
|
||||
if (m_modifier2 == modifier)
|
||||
{
|
||||
m_modifier2 = ModifierNone;
|
||||
removed = true;
|
||||
}
|
||||
cleanup();
|
||||
|
||||
return removed;
|
||||
}
|
||||
|
||||
bool CKeyboardKey::removeModifier(const QString &modifier)
|
||||
{
|
||||
return removeModifier(modifierFromString(modifier));
|
||||
}
|
||||
|
||||
QString CKeyboardKey::getFunctionAsString() const
|
||||
|
||||
Reference in New Issue
Block a user