refactor: Action: add SettingsKeys namespace to hold the settings keys

This commit is contained in:
sithlord48 2025-01-04 20:21:09 -05:00 committed by Nick Bolton
parent 4c70f4fde5
commit 112c665480
2 changed files with 30 additions and 18 deletions

View file

@ -82,42 +82,42 @@ QString Action::text() const
void Action::loadSettings(QSettings &settings) void Action::loadSettings(QSettings &settings)
{ {
keySequence().loadSettings(settings); keySequence().loadSettings(settings);
setType(settings.value("type", keyDown).toInt()); setType(settings.value(SettingsKeys::ActionType, keyDown).toInt());
typeScreenNames().clear(); typeScreenNames().clear();
int numTypeScreens = settings.beginReadArray("typeScreenNames"); int numTypeScreens = settings.beginReadArray(SettingsKeys::ScreenNames);
for (int i = 0; i < numTypeScreens; i++) { for (int i = 0; i < numTypeScreens; i++) {
settings.setArrayIndex(i); settings.setArrayIndex(i);
typeScreenNames().append(settings.value("typeScreenName").toString()); typeScreenNames().append(settings.value(SettingsKeys::ScreenName).toString());
} }
settings.endArray(); settings.endArray();
setSwitchScreenName(settings.value("switchScreenName").toString()); setSwitchScreenName(settings.value(SettingsKeys::SwitchToScreen).toString());
setSwitchDirection(settings.value("switchInDirection", switchLeft).toInt()); setSwitchDirection(settings.value(SettingsKeys::SwitchDirection, switchLeft).toInt());
setLockCursorMode(settings.value("lockCursorToScreen", lockCursorToggle).toInt()); setLockCursorMode(settings.value(SettingsKeys::LockToScreen, lockCursorToggle).toInt());
setActiveOnRelease(settings.value("activeOnRelease", false).toBool()); setActiveOnRelease(settings.value(SettingsKeys::ActiveOnRelease, false).toBool());
setHaveScreens(settings.value("hasScreens", false).toBool()); setHaveScreens(settings.value(SettingsKeys::HasScreens, false).toBool());
setRestartServer(settings.value("restartServer", false).toBool()); setRestartServer(settings.value(SettingsKeys::RestartServer, false).toBool());
} }
void Action::saveSettings(QSettings &settings) const void Action::saveSettings(QSettings &settings) const
{ {
keySequence().saveSettings(settings); keySequence().saveSettings(settings);
settings.setValue("type", type()); settings.setValue(SettingsKeys::ActionType, type());
settings.beginWriteArray("typeScreenNames"); settings.beginWriteArray(SettingsKeys::ScreenNames);
for (int i = 0; i < typeScreenNames().size(); i++) { for (int i = 0; i < typeScreenNames().size(); i++) {
settings.setArrayIndex(i); settings.setArrayIndex(i);
settings.setValue("typeScreenName", typeScreenNames()[i]); settings.setValue(SettingsKeys::ScreenName, typeScreenNames()[i]);
} }
settings.endArray(); settings.endArray();
settings.setValue("switchScreenName", switchScreenName()); settings.setValue(SettingsKeys::SwitchToScreen, switchScreenName());
settings.setValue("switchInDirection", switchDirection()); settings.setValue(SettingsKeys::SwitchDirection, switchDirection());
settings.setValue("lockCursorToScreen", lockCursorMode()); settings.setValue(SettingsKeys::LockToScreen, lockCursorMode());
settings.setValue("activeOnRelease", activeOnRelease()); settings.setValue(SettingsKeys::ActiveOnRelease, activeOnRelease());
settings.setValue("hasScreens", haveScreens()); settings.setValue(SettingsKeys::HasScreens, haveScreens());
settings.setValue("restartServer", restartServer()); settings.setValue(SettingsKeys::RestartServer, restartServer());
} }
bool Action::operator==(const Action &a) const bool Action::operator==(const Action &a) const

View file

@ -28,6 +28,18 @@ class ActionDialog;
class QSettings; class QSettings;
class QTextStream; class QTextStream;
namespace SettingsKeys {
inline static const QString ActionType = QStringLiteral("type");
inline static const QString ScreenNames = QStringLiteral("typeScreenNames");
inline static const QString ScreenName = QStringLiteral("typeScreenName");
inline static const QString SwitchToScreen = QStringLiteral("switchScreenName");
inline static const QString SwitchDirection = QStringLiteral("switchInDirection");
inline static const QString LockToScreen = QStringLiteral("lockCursorToScreen");
inline static const QString ActiveOnRelease = QStringLiteral("activeOnRelease");
inline static const QString HasScreens = QStringLiteral("hasScreens");
inline static const QString RestartServer = QStringLiteral("restartServer");
}; // namespace SettingsKeys
class Action class Action
{ {
friend class ActionDialog; friend class ActionDialog;