mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-01 21:56:43 +08:00
Use nested namespaces (C++17 feature)
This commit is contained in:
@@ -15,126 +15,123 @@
|
||||
|
||||
#include "blackmisc/propertyindexref.h"
|
||||
|
||||
namespace BlackMisc
|
||||
namespace BlackMisc::Input
|
||||
{
|
||||
namespace Input
|
||||
CKeyboardKey::CKeyboardKey() :
|
||||
m_keyCode(Key_Unknown)
|
||||
{}
|
||||
|
||||
CKeyboardKey::CKeyboardKey(KeyCode keyCode) :
|
||||
m_keyCode(keyCode)
|
||||
{}
|
||||
|
||||
QString CKeyboardKey::convertToQString(bool /* i18n */) const
|
||||
{
|
||||
CKeyboardKey::CKeyboardKey() :
|
||||
m_keyCode(Key_Unknown)
|
||||
{}
|
||||
return this->getKeyAsString();
|
||||
}
|
||||
|
||||
CKeyboardKey::CKeyboardKey(KeyCode keyCode) :
|
||||
m_keyCode(keyCode)
|
||||
{}
|
||||
void CKeyboardKey::setKeyObject(CKeyboardKey key)
|
||||
{
|
||||
m_keyCode = key.m_keyCode;
|
||||
}
|
||||
|
||||
QString CKeyboardKey::convertToQString(bool /* i18n */) const
|
||||
QString CKeyboardKey::getKeyAsString() const
|
||||
{
|
||||
if (m_keyCode == Key_Unknown) return QString();
|
||||
|
||||
static const QHash<KeyCode, QString> keyStrings =
|
||||
{
|
||||
return this->getKeyAsString();
|
||||
{ Key_ShiftLeft, QStringLiteral("ShiftLeft") },
|
||||
{ Key_ShiftRight, QStringLiteral("ShiftRight") },
|
||||
{ Key_ControlLeft, QStringLiteral("CtrlLeft") },
|
||||
{ Key_ControlRight, QStringLiteral("CtrlRight") },
|
||||
{ Key_AltLeft, QStringLiteral("AltLeft") },
|
||||
{ Key_AltRight, QStringLiteral("AltRight") }
|
||||
};
|
||||
|
||||
if (isModifier()) { return keyStrings.value(m_keyCode); }
|
||||
|
||||
switch (m_keyCode)
|
||||
{
|
||||
case Key_Multiply: return QStringLiteral("NumMultiply"); // return QStringLiteral(u"×");
|
||||
case Key_Divide: return QStringLiteral("NumDivide"); // return QStringLiteral(u"÷");
|
||||
case Key_Numpad0: return QStringLiteral("Num0");
|
||||
case Key_Numpad1: return QStringLiteral("Num1");
|
||||
case Key_Numpad2: return QStringLiteral("Num2");
|
||||
case Key_Numpad3: return QStringLiteral("Num3");
|
||||
case Key_Numpad4: return QStringLiteral("Num4");
|
||||
case Key_Numpad5: return QStringLiteral("Num5");
|
||||
case Key_Numpad6: return QStringLiteral("Num6");
|
||||
case Key_Numpad7: return QStringLiteral("Num7");
|
||||
case Key_Numpad8: return QStringLiteral("Num8");
|
||||
case Key_Numpad9: return QStringLiteral("Num9");
|
||||
case Key_NumpadEqual: return QStringLiteral("Num=");
|
||||
case Key_Esc: return QStringLiteral("ESC");
|
||||
case Key_Space: return QStringLiteral("Space");
|
||||
case Key_Tab: return QStringLiteral("Tab");
|
||||
case Key_Back: return QStringLiteral("Backspace");
|
||||
case Key_Insert: return QStringLiteral("Insert");
|
||||
case Key_Delete: return QStringLiteral("Delete");
|
||||
case Key_OEM1: return QStringLiteral("OEM1");
|
||||
case Key_OEM2: return QStringLiteral("OEM2");
|
||||
case Key_OEM3: return QStringLiteral("OEM3");
|
||||
case Key_OEM4: return QStringLiteral("OEM4");
|
||||
case Key_OEM5: return QStringLiteral("OEM5");
|
||||
case Key_OEM6: return QStringLiteral("OEM6");
|
||||
case Key_OEM7: return QStringLiteral("OEM7");
|
||||
case Key_OEM8: return QStringLiteral("OEM8");
|
||||
case Key_OEM102: return QStringLiteral("OEM102");
|
||||
case Key_DeadGrave: return QStringLiteral("DeadGrave");
|
||||
default: return QChar::fromLatin1(static_cast<char>(m_keyCode));
|
||||
}
|
||||
}
|
||||
|
||||
const QList<KeyCode> &CKeyboardKey::allModifiers()
|
||||
{
|
||||
static const QList<KeyCode> allModifiers =
|
||||
{
|
||||
Key_ShiftLeft,
|
||||
Key_ShiftRight,
|
||||
Key_ControlLeft,
|
||||
Key_ControlRight,
|
||||
Key_AltLeft,
|
||||
Key_AltRight,
|
||||
};
|
||||
return allModifiers;
|
||||
}
|
||||
|
||||
QVariant CKeyboardKey::propertyByIndex(BlackMisc::CPropertyIndexRef index) const
|
||||
{
|
||||
if (index.isMyself()) { return QVariant::fromValue(*this); }
|
||||
const ColumnIndex i = index.frontCasted<ColumnIndex>();
|
||||
switch (i)
|
||||
{
|
||||
case IndexKey: return QVariant::fromValue(m_keyCode);
|
||||
case IndexKeyAsString: return QVariant::fromValue(getKeyAsString());
|
||||
default: break;
|
||||
}
|
||||
|
||||
void CKeyboardKey::setKeyObject(CKeyboardKey key)
|
||||
Q_ASSERT_X(false, "CKeyboardKey", "index unknown");
|
||||
QString m = QString("no property, index ").append(index.toQString());
|
||||
return QVariant::fromValue(m);
|
||||
}
|
||||
|
||||
void CKeyboardKey::setPropertyByIndex(CPropertyIndexRef index, const QVariant &variant)
|
||||
{
|
||||
if (index.isMyself()) { (*this) = variant.value<CKeyboardKey>(); return; }
|
||||
const ColumnIndex i = index.frontCasted<ColumnIndex>();
|
||||
switch (i)
|
||||
{
|
||||
m_keyCode = key.m_keyCode;
|
||||
case IndexKey:
|
||||
case IndexKeyAsString:
|
||||
qFatal("Not implemented");
|
||||
break;
|
||||
case IndexKeyObject:
|
||||
this->setKeyObject(variant.value<CKeyboardKey>());
|
||||
break;
|
||||
default:
|
||||
Q_ASSERT_X(false, "CKeyboardKey", "index unknown (setter)");
|
||||
break;
|
||||
}
|
||||
|
||||
QString CKeyboardKey::getKeyAsString() const
|
||||
{
|
||||
if (m_keyCode == Key_Unknown) return QString();
|
||||
|
||||
static const QHash<KeyCode, QString> keyStrings =
|
||||
{
|
||||
{ Key_ShiftLeft, QStringLiteral("ShiftLeft") },
|
||||
{ Key_ShiftRight, QStringLiteral("ShiftRight") },
|
||||
{ Key_ControlLeft, QStringLiteral("CtrlLeft") },
|
||||
{ Key_ControlRight, QStringLiteral("CtrlRight") },
|
||||
{ Key_AltLeft, QStringLiteral("AltLeft") },
|
||||
{ Key_AltRight, QStringLiteral("AltRight") }
|
||||
};
|
||||
|
||||
if (isModifier()) { return keyStrings.value(m_keyCode); }
|
||||
|
||||
switch (m_keyCode)
|
||||
{
|
||||
case Key_Multiply: return QStringLiteral("NumMultiply"); // return QStringLiteral(u"×");
|
||||
case Key_Divide: return QStringLiteral("NumDivide"); // return QStringLiteral(u"÷");
|
||||
case Key_Numpad0: return QStringLiteral("Num0");
|
||||
case Key_Numpad1: return QStringLiteral("Num1");
|
||||
case Key_Numpad2: return QStringLiteral("Num2");
|
||||
case Key_Numpad3: return QStringLiteral("Num3");
|
||||
case Key_Numpad4: return QStringLiteral("Num4");
|
||||
case Key_Numpad5: return QStringLiteral("Num5");
|
||||
case Key_Numpad6: return QStringLiteral("Num6");
|
||||
case Key_Numpad7: return QStringLiteral("Num7");
|
||||
case Key_Numpad8: return QStringLiteral("Num8");
|
||||
case Key_Numpad9: return QStringLiteral("Num9");
|
||||
case Key_NumpadEqual: return QStringLiteral("Num=");
|
||||
case Key_Esc: return QStringLiteral("ESC");
|
||||
case Key_Space: return QStringLiteral("Space");
|
||||
case Key_Tab: return QStringLiteral("Tab");
|
||||
case Key_Back: return QStringLiteral("Backspace");
|
||||
case Key_Insert: return QStringLiteral("Insert");
|
||||
case Key_Delete: return QStringLiteral("Delete");
|
||||
case Key_OEM1: return QStringLiteral("OEM1");
|
||||
case Key_OEM2: return QStringLiteral("OEM2");
|
||||
case Key_OEM3: return QStringLiteral("OEM3");
|
||||
case Key_OEM4: return QStringLiteral("OEM4");
|
||||
case Key_OEM5: return QStringLiteral("OEM5");
|
||||
case Key_OEM6: return QStringLiteral("OEM6");
|
||||
case Key_OEM7: return QStringLiteral("OEM7");
|
||||
case Key_OEM8: return QStringLiteral("OEM8");
|
||||
case Key_OEM102: return QStringLiteral("OEM102");
|
||||
case Key_DeadGrave: return QStringLiteral("DeadGrave");
|
||||
default: return QChar::fromLatin1(static_cast<char>(m_keyCode));
|
||||
}
|
||||
}
|
||||
|
||||
const QList<KeyCode> &CKeyboardKey::allModifiers()
|
||||
{
|
||||
static const QList<KeyCode> allModifiers =
|
||||
{
|
||||
Key_ShiftLeft,
|
||||
Key_ShiftRight,
|
||||
Key_ControlLeft,
|
||||
Key_ControlRight,
|
||||
Key_AltLeft,
|
||||
Key_AltRight,
|
||||
};
|
||||
return allModifiers;
|
||||
}
|
||||
|
||||
QVariant CKeyboardKey::propertyByIndex(BlackMisc::CPropertyIndexRef index) const
|
||||
{
|
||||
if (index.isMyself()) { return QVariant::fromValue(*this); }
|
||||
const ColumnIndex i = index.frontCasted<ColumnIndex>();
|
||||
switch (i)
|
||||
{
|
||||
case IndexKey: return QVariant::fromValue(m_keyCode);
|
||||
case IndexKeyAsString: return QVariant::fromValue(getKeyAsString());
|
||||
default: break;
|
||||
}
|
||||
|
||||
Q_ASSERT_X(false, "CKeyboardKey", "index unknown");
|
||||
QString m = QString("no property, index ").append(index.toQString());
|
||||
return QVariant::fromValue(m);
|
||||
}
|
||||
|
||||
void CKeyboardKey::setPropertyByIndex(CPropertyIndexRef index, const QVariant &variant)
|
||||
{
|
||||
if (index.isMyself()) { (*this) = variant.value<CKeyboardKey>(); return; }
|
||||
const ColumnIndex i = index.frontCasted<ColumnIndex>();
|
||||
switch (i)
|
||||
{
|
||||
case IndexKey:
|
||||
case IndexKeyAsString:
|
||||
qFatal("Not implemented");
|
||||
break;
|
||||
case IndexKeyObject:
|
||||
this->setKeyObject(variant.value<CKeyboardKey>());
|
||||
break;
|
||||
default:
|
||||
Q_ASSERT_X(false, "CKeyboardKey", "index unknown (setter)");
|
||||
break;
|
||||
}
|
||||
}
|
||||
} // ns
|
||||
}
|
||||
} // ns
|
||||
|
||||
Reference in New Issue
Block a user