mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-05 01:05:34 +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
|
||||
|
||||
@@ -131,6 +131,20 @@ namespace BlackMisc
|
||||
//! \brief Native virtual key
|
||||
quint32 getNativeVirtualKey() const { return this->m_nativeVirtualKey; }
|
||||
|
||||
/*!
|
||||
* \brief Add modifier
|
||||
* \param modifier
|
||||
* \return True if modifier was added
|
||||
*/
|
||||
bool addModifier(const Modifier &modifier);
|
||||
|
||||
/*!
|
||||
* \brief add modifier
|
||||
* \param modifier
|
||||
* \return True if modifier was added
|
||||
*/
|
||||
bool addModifier(const QString &modifier);
|
||||
|
||||
//! \brief number of modifiers
|
||||
int numberOfModifiers() const;
|
||||
|
||||
@@ -149,18 +163,53 @@ namespace BlackMisc
|
||||
//! \brief Modifier 2
|
||||
QString getModifier2AsString() const { return modifierToString(this->m_modifier2); }
|
||||
|
||||
/*!
|
||||
* \brief Remove modifier from key
|
||||
* \param modifier
|
||||
* \return True if modifier was removed
|
||||
*/
|
||||
bool removeModifier(const Modifier &modifier);
|
||||
|
||||
/*!
|
||||
* \brief Remove modifier from key
|
||||
* \param modifier
|
||||
* \return True if modifier was removed
|
||||
*/
|
||||
bool removeModifier(const QString &modifier);
|
||||
|
||||
//! \brief Set modifier 1
|
||||
void setModifier1(const QString &modifier) { this->m_modifier1 = modifierFromString(modifier); }
|
||||
|
||||
//! \brief Set modifier 1
|
||||
void setModifier1(const Modifier &modifier) { this->m_modifier1 = modifier; }
|
||||
|
||||
//! \brief Set modifier 2
|
||||
void setModifier2(const QString &modifier) { this->m_modifier2 = modifierFromString(modifier); }
|
||||
|
||||
//! \brief Set modifier 2
|
||||
void setModifier2(const Modifier &modifier) { this->m_modifier2 = modifier; }
|
||||
|
||||
//! \brief Modifier?
|
||||
bool hasModifier() const
|
||||
{
|
||||
return this->m_modifier1 != ModifierNone || this->m_modifier2 != ModifierNone;
|
||||
}
|
||||
|
||||
//! \brief Modifier?
|
||||
bool hasModifier() const
|
||||
{
|
||||
return this->m_modifier1 != ModifierNone || this->m_modifier2 != ModifierNone;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Do we have this Modifier?
|
||||
* \param modifier
|
||||
*/
|
||||
bool hasModifier(Modifier modifier) const
|
||||
{
|
||||
return m_modifier1 == modifier || m_modifier2 == modifier;
|
||||
}
|
||||
|
||||
//! \brief with key?
|
||||
bool hasKey() const
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user