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

View File

@ -28,6 +28,18 @@ class ActionDialog;
class QSettings;
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
{
friend class ActionDialog;