Enhance IRunConfigurationAspect base interface

Move some commonly used functions to the base,

The plan is to identify aspects by Id instead of type more often,
so avoid casts proactively.

Change-Id: I1b94b858a4491a0e31cedc788ded643a82242b2a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
hjk
2018-05-04 15:13:41 +02:00
parent 736f7f89d1
commit 4ca54d86ff
4 changed files with 18 additions and 20 deletions

View File

@@ -155,6 +155,11 @@ void IRunConfigurationAspect::toMap(QVariantMap &map) const
map.insert(m_id.toString() + QLatin1String(".UseGlobalSettings"), m_useGlobalSettings); map.insert(m_id.toString() + QLatin1String(".UseGlobalSettings"), m_useGlobalSettings);
} }
void IRunConfigurationAspect::addToConfigurationLayout(QFormLayout *layout)
{
Q_UNUSED(layout);
}
void IRunConfigurationAspect::setRunConfigWidgetCreator(const RunConfigWidgetCreator &runConfigWidgetCreator) void IRunConfigurationAspect::setRunConfigWidgetCreator(const RunConfigWidgetCreator &runConfigWidgetCreator)
{ {
m_runConfigWidgetCreator = runConfigWidgetCreator; m_runConfigWidgetCreator = runConfigWidgetCreator;

View File

@@ -134,6 +134,11 @@ public:
ISettingsAspect *currentSettings() const; ISettingsAspect *currentSettings() const;
RunConfiguration *runConfiguration() const { return m_runConfiguration; } RunConfiguration *runConfiguration() const { return m_runConfiguration; }
virtual void addToConfigurationLayout(QFormLayout *layout);
signals:
void changed();
protected: protected:
friend class RunConfiguration; friend class RunConfiguration;
virtual void fromMap(const QVariantMap &map); virtual void fromMap(const QVariantMap &map);

View File

@@ -68,7 +68,7 @@ void TerminalAspect::addToConfigurationLayout(QFormLayout *layout)
connect(m_checkBox.data(), &QAbstractButton::clicked, this, [this] { connect(m_checkBox.data(), &QAbstractButton::clicked, this, [this] {
m_userSet = true; m_userSet = true;
m_useTerminal = m_checkBox->isChecked(); m_useTerminal = m_checkBox->isChecked();
emit useTerminalChanged(m_useTerminal); emit changed();
}); });
} }
@@ -100,7 +100,7 @@ void TerminalAspect::setUseTerminal(bool useTerminal)
{ {
if (m_useTerminal != useTerminal) { if (m_useTerminal != useTerminal) {
m_useTerminal = useTerminal; m_useTerminal = useTerminal;
emit useTerminalChanged(useTerminal); emit changed();
} }
if (m_checkBox) if (m_checkBox)
m_checkBox->setChecked(m_useTerminal); m_checkBox->setChecked(m_useTerminal);

View File

@@ -50,7 +50,7 @@ public:
TerminalAspect(RunConfiguration *rc, const QString &settingsKey, TerminalAspect(RunConfiguration *rc, const QString &settingsKey,
bool useTerminal = false); bool useTerminal = false);
void addToConfigurationLayout(QFormLayout *layout); void addToConfigurationLayout(QFormLayout *layout) override;
bool useTerminal() const; bool useTerminal() const;
void setUseTerminal(bool useTerminal); void setUseTerminal(bool useTerminal);
@@ -60,9 +60,6 @@ public:
bool isUserSet() const; bool isUserSet() const;
signals:
void useTerminalChanged(bool);
private: private:
void fromMap(const QVariantMap &map) override; void fromMap(const QVariantMap &map) override;
void toMap(QVariantMap &map) const override; void toMap(QVariantMap &map) const override;
@@ -80,7 +77,7 @@ public:
explicit WorkingDirectoryAspect(RunConfiguration *runConfig, explicit WorkingDirectoryAspect(RunConfiguration *runConfig,
const QString &settingsKey = QString()); const QString &settingsKey = QString());
void addToConfigurationLayout(QFormLayout *layout); void addToConfigurationLayout(QFormLayout *layout) override;
Utils::FileName workingDirectory() const; Utils::FileName workingDirectory() const;
Utils::FileName defaultWorkingDirectory() const; Utils::FileName defaultWorkingDirectory() const;
@@ -108,7 +105,7 @@ class PROJECTEXPLORER_EXPORT ArgumentsAspect : public IRunConfigurationAspect
public: public:
explicit ArgumentsAspect(RunConfiguration *runConfig, const QString &settingsKey = QString()); explicit ArgumentsAspect(RunConfiguration *runConfig, const QString &settingsKey = QString());
void addToConfigurationLayout(QFormLayout *layout); void addToConfigurationLayout(QFormLayout *layout) override;
QString arguments() const; QString arguments() const;
QString unexpandedArguments() const; QString unexpandedArguments() const;
@@ -134,7 +131,7 @@ public:
explicit BaseBoolAspect(RunConfiguration *rc, const QString &settingsKey = QString()); explicit BaseBoolAspect(RunConfiguration *rc, const QString &settingsKey = QString());
~BaseBoolAspect() override; ~BaseBoolAspect() override;
void addToConfigurationLayout(QFormLayout *layout); void addToConfigurationLayout(QFormLayout *layout) override;
bool value() const; bool value() const;
void setValue(bool val); void setValue(bool val);
@@ -144,9 +141,6 @@ public:
void fromMap(const QVariantMap &map) override; void fromMap(const QVariantMap &map) override;
void toMap(QVariantMap &map) const override; void toMap(QVariantMap &map) const override;
signals:
void changed();
private: private:
bool m_value = false; bool m_value = false;
QString m_label; QString m_label;
@@ -177,7 +171,7 @@ public:
explicit BaseStringAspect(RunConfiguration *rc); explicit BaseStringAspect(RunConfiguration *rc);
~BaseStringAspect() override; ~BaseStringAspect() override;
void addToConfigurationLayout(QFormLayout *layout); void addToConfigurationLayout(QFormLayout *layout) override;
QString value() const; QString value() const;
void setValue(const QString &val); void setValue(const QString &val);
@@ -203,9 +197,6 @@ public:
Utils::FileName fileName() const; Utils::FileName fileName() const;
void setFileName(const Utils::FileName &val); void setFileName(const Utils::FileName &val);
signals:
void changed();
private: private:
void update(); void update();
@@ -238,7 +229,7 @@ public:
void setSettingsKey(const QString &key); void setSettingsKey(const QString &key);
void makeOverridable(const QString &overridingKey, const QString &useOverridableKey); void makeOverridable(const QString &overridingKey, const QString &useOverridableKey);
void addToConfigurationLayout(QFormLayout *layout); void addToConfigurationLayout(QFormLayout *layout) override;
void setLabelText(const QString &labelText); void setLabelText(const QString &labelText);
void setPlaceHolderText(const QString &placeHolderText); void setPlaceHolderText(const QString &placeHolderText);
void setExecutablePathStyle(Utils::OsType osType); void setExecutablePathStyle(Utils::OsType osType);
@@ -247,9 +238,6 @@ public:
void setEnvironment(const Utils::Environment &env); void setEnvironment(const Utils::Environment &env);
void setDisplayStyle(BaseStringAspect::DisplayStyle style); void setDisplayStyle(BaseStringAspect::DisplayStyle style);
signals:
void changed();
protected: protected:
void fromMap(const QVariantMap &map) override; void fromMap(const QVariantMap &map) override;
void toMap(QVariantMap &map) const override; void toMap(QVariantMap &map) const override;