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