refactor(Action): remove friends and protected
This commit is contained in:
parent
41fb627876
commit
68f6c39498
3 changed files with 58 additions and 43 deletions
|
|
@ -64,14 +64,14 @@ const KeySequence &Action::keySequence() const
|
||||||
|
|
||||||
void Action::loadSettings(QSettings &settings)
|
void Action::loadSettings(QSettings &settings)
|
||||||
{
|
{
|
||||||
keySequence().loadSettings(settings);
|
m_keySequence.loadSettings(settings);
|
||||||
setType(settings.value(SettingsKeys::ActionType, static_cast<int>(Type::keyDown)).toInt());
|
setType(settings.value(SettingsKeys::ActionType, static_cast<int>(Type::keyDown)).toInt());
|
||||||
|
|
||||||
typeScreenNames().clear();
|
m_typeScreenNames.clear();
|
||||||
int numTypeScreens = settings.beginReadArray(SettingsKeys::ScreenNames);
|
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(SettingsKeys::ScreenName).toString());
|
m_typeScreenNames.append(settings.value(SettingsKeys::ScreenName).toString());
|
||||||
}
|
}
|
||||||
settings.endArray();
|
settings.endArray();
|
||||||
|
|
||||||
|
|
@ -89,18 +89,18 @@ void Action::saveSettings(QSettings &settings) const
|
||||||
settings.setValue(SettingsKeys::ActionType, type());
|
settings.setValue(SettingsKeys::ActionType, type());
|
||||||
|
|
||||||
settings.beginWriteArray(SettingsKeys::ScreenNames);
|
settings.beginWriteArray(SettingsKeys::ScreenNames);
|
||||||
for (int i = 0; i < typeScreenNames().size(); i++) {
|
for (int i = 0; i < m_typeScreenNames.size(); i++) {
|
||||||
settings.setArrayIndex(i);
|
settings.setArrayIndex(i);
|
||||||
settings.setValue(SettingsKeys::ScreenName, typeScreenNames()[i]);
|
settings.setValue(SettingsKeys::ScreenName, m_typeScreenNames[i]);
|
||||||
}
|
}
|
||||||
settings.endArray();
|
settings.endArray();
|
||||||
|
|
||||||
settings.setValue(SettingsKeys::SwitchToScreen, switchScreenName());
|
settings.setValue(SettingsKeys::SwitchToScreen, m_switchScreenName);
|
||||||
settings.setValue(SettingsKeys::SwitchDirection, switchDirection());
|
settings.setValue(SettingsKeys::SwitchDirection, m_switchDirection);
|
||||||
settings.setValue(SettingsKeys::LockToScreen, lockCursorMode());
|
settings.setValue(SettingsKeys::LockToScreen, m_lockCursorMode);
|
||||||
settings.setValue(SettingsKeys::ActiveOnRelease, activeOnRelease());
|
settings.setValue(SettingsKeys::ActiveOnRelease, m_activeOnRelease);
|
||||||
settings.setValue(SettingsKeys::HasScreens, haveScreens());
|
settings.setValue(SettingsKeys::HasScreens, m_hasScreens);
|
||||||
settings.setValue(SettingsKeys::RestartServer, restartServer());
|
settings.setValue(SettingsKeys::RestartServer, m_restartServer);
|
||||||
}
|
}
|
||||||
|
|
||||||
int Action::type() const
|
int Action::type() const
|
||||||
|
|
@ -108,11 +108,30 @@ int Action::type() const
|
||||||
return m_type;
|
return m_type;
|
||||||
}
|
}
|
||||||
|
|
||||||
const QStringList &Action::typeScreenNames() const
|
QStringList Action::typeScreenNames() const
|
||||||
{
|
{
|
||||||
return m_typeScreenNames;
|
return m_typeScreenNames;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Action::clearScreens()
|
||||||
|
{
|
||||||
|
m_typeScreenNames.clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
void Action::addScreen(const QString &screen)
|
||||||
|
{
|
||||||
|
if (m_typeScreenNames.contains(screen))
|
||||||
|
return;
|
||||||
|
m_typeScreenNames.append(screen);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Action::removeScreen(const QString &screen)
|
||||||
|
{
|
||||||
|
if (!m_typeScreenNames.contains(screen))
|
||||||
|
return;
|
||||||
|
m_typeScreenNames.removeAll(screen);
|
||||||
|
}
|
||||||
|
|
||||||
const QString &Action::switchScreenName() const
|
const QString &Action::switchScreenName() const
|
||||||
{
|
{
|
||||||
return m_switchScreenName;
|
return m_switchScreenName;
|
||||||
|
|
@ -143,11 +162,6 @@ bool Action::restartServer() const
|
||||||
return m_restartServer;
|
return m_restartServer;
|
||||||
}
|
}
|
||||||
|
|
||||||
KeySequence &Action::keySequence()
|
|
||||||
{
|
|
||||||
return m_keySequence;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Action::setKeySequence(const KeySequence &seq)
|
void Action::setKeySequence(const KeySequence &seq)
|
||||||
{
|
{
|
||||||
m_keySequence = seq;
|
m_keySequence = seq;
|
||||||
|
|
@ -158,11 +172,6 @@ void Action::setType(int t)
|
||||||
m_type = t;
|
m_type = t;
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList &Action::typeScreenNames()
|
|
||||||
{
|
|
||||||
return m_typeScreenNames;
|
|
||||||
}
|
|
||||||
|
|
||||||
void Action::setSwitchScreenName(const QString &n)
|
void Action::setSwitchScreenName(const QString &n)
|
||||||
{
|
{
|
||||||
m_switchScreenName = n;
|
m_switchScreenName = n;
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,6 @@
|
||||||
#include <QString>
|
#include <QString>
|
||||||
#include <QStringList>
|
#include <QStringList>
|
||||||
|
|
||||||
class ActionDialog;
|
|
||||||
class QSettings;
|
class QSettings;
|
||||||
class QTextStream;
|
class QTextStream;
|
||||||
|
|
||||||
|
|
@ -33,8 +32,6 @@ struct SettingsKeys
|
||||||
|
|
||||||
class Action
|
class Action
|
||||||
{
|
{
|
||||||
friend class ActionDialog;
|
|
||||||
friend QTextStream &operator<<(QTextStream &outStream, const Action &action);
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
enum class Type
|
enum class Type
|
||||||
|
|
@ -69,32 +66,41 @@ public:
|
||||||
Action() = default;
|
Action() = default;
|
||||||
|
|
||||||
QString text() const;
|
QString text() const;
|
||||||
const KeySequence &keySequence() const;
|
|
||||||
void loadSettings(QSettings &settings);
|
void loadSettings(QSettings &settings);
|
||||||
void saveSettings(QSettings &settings) const;
|
void saveSettings(QSettings &settings) const;
|
||||||
|
|
||||||
|
const KeySequence &keySequence() const;
|
||||||
|
void setKeySequence(const KeySequence &seq);
|
||||||
|
|
||||||
int type() const;
|
int type() const;
|
||||||
const QStringList &typeScreenNames() const;
|
void setType(int t);
|
||||||
|
|
||||||
|
QStringList typeScreenNames() const;
|
||||||
|
void clearScreens();
|
||||||
|
void addScreen(const QString &screen);
|
||||||
|
void removeScreen(const QString &screen);
|
||||||
|
|
||||||
const QString &switchScreenName() const;
|
const QString &switchScreenName() const;
|
||||||
|
void setSwitchScreenName(const QString &n);
|
||||||
|
|
||||||
int switchDirection() const;
|
int switchDirection() const;
|
||||||
|
void setSwitchDirection(int d);
|
||||||
|
|
||||||
int lockCursorMode() const;
|
int lockCursorMode() const;
|
||||||
|
void setLockCursorMode(int m);
|
||||||
|
|
||||||
bool activeOnRelease() const;
|
bool activeOnRelease() const;
|
||||||
|
void setActiveOnRelease(bool b);
|
||||||
|
|
||||||
bool haveScreens() const;
|
bool haveScreens() const;
|
||||||
|
void setHaveScreens(bool b);
|
||||||
|
|
||||||
bool restartServer() const;
|
bool restartServer() const;
|
||||||
|
void setRestartServer(bool b);
|
||||||
|
|
||||||
bool operator==(const Action &a) const = default;
|
bool operator==(const Action &a) const = default;
|
||||||
|
|
||||||
protected:
|
|
||||||
KeySequence &keySequence();
|
|
||||||
void setKeySequence(const KeySequence &seq);
|
|
||||||
void setType(int t);
|
|
||||||
QStringList &typeScreenNames();
|
|
||||||
void setSwitchScreenName(const QString &n);
|
|
||||||
void setSwitchDirection(int d);
|
|
||||||
void setLockCursorMode(int m);
|
|
||||||
void setActiveOnRelease(bool b);
|
|
||||||
void setHaveScreens(bool b);
|
|
||||||
void setRestartServer(bool b);
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
KeySequence m_keySequence;
|
KeySequence m_keySequence;
|
||||||
int m_type = static_cast<int>(Type::keystroke);
|
int m_type = static_cast<int>(Type::keystroke);
|
||||||
|
|
|
||||||
|
|
@ -74,21 +74,21 @@ void ActionDialog::accept()
|
||||||
m_action.setKeySequence(ui->keySequenceWidget->keySequence());
|
m_action.setKeySequence(ui->keySequenceWidget->keySequence());
|
||||||
m_action.setType(ui->comboActionType->currentIndex());
|
m_action.setType(ui->comboActionType->currentIndex());
|
||||||
|
|
||||||
m_action.typeScreenNames().clear();
|
m_action.clearScreens();
|
||||||
|
|
||||||
int screenCount = ui->listScreens->count();
|
int screenCount = ui->listScreens->count();
|
||||||
|
|
||||||
for (int i = 0; i < ui->listScreens->count(); i++) {
|
for (int i = 0; i < ui->listScreens->count(); i++) {
|
||||||
const auto &item = ui->listScreens->item(i);
|
const auto &item = ui->listScreens->item(i);
|
||||||
m_action.typeScreenNames().append(item->text());
|
m_action.addScreen(item->text());
|
||||||
if (item->checkState() == Qt::Unchecked) {
|
if (item->checkState() == Qt::Unchecked) {
|
||||||
screenCount--;
|
screenCount--;
|
||||||
m_action.typeScreenNames().removeLast();
|
m_action.removeScreen(item->text());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (screenCount == ui->listScreens->count())
|
if (screenCount == ui->listScreens->count())
|
||||||
m_action.typeScreenNames().clear();
|
m_action.clearScreens();
|
||||||
|
|
||||||
m_action.setHaveScreens(screenCount);
|
m_action.setHaveScreens(screenCount);
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue