ProjectExplorer: Introduce base class for enabled/disabled project configuration

... and use this as a base for all RunConfigurations.

Clean out code in the individual run configurations dealing with their
enabled/disabled state.

Change-Id: Icc2ea136b056f7aea7ce96480b4402459d7ac0ce
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Tobias Hunger
2017-07-17 14:34:05 +02:00
parent c01ddc4660
commit 131c7a1c4e
29 changed files with 163 additions and 371 deletions

View File

@@ -156,8 +156,6 @@ public:
QWidget *createConfigurationWidget() override;
QVariantMap toMap() const override;
bool fromMap(const QVariantMap &map) override;
bool isEnabled() const override { return m_enabled; }
QString disabledReason() const override;
Runnable runnable() const override;
bool supportsDebugger() const { return true; }
@@ -165,7 +163,6 @@ public:
QString arguments() const;
QString interpreter() const { return m_interpreter; }
void setInterpreter(const QString &interpreter) { m_interpreter = interpreter; }
void setEnabled(bool b);
private:
friend class PythonRunConfigurationFactory;
@@ -174,15 +171,13 @@ private:
QString m_interpreter;
QString m_mainScript;
bool m_enabled;
};
////////////////////////////////////////////////////////////////
PythonRunConfiguration::PythonRunConfiguration(Target *parent, Core::Id id) :
RunConfiguration(parent, id),
m_mainScript(scriptFromId(id)),
m_enabled(true)
m_mainScript(scriptFromId(id))
{
Environment sysEnv = Environment::systemEnvironment();
const QString exec = sysEnv.searchInPath("python").toString();
@@ -197,8 +192,7 @@ PythonRunConfiguration::PythonRunConfiguration(Target *parent, Core::Id id) :
PythonRunConfiguration::PythonRunConfiguration(Target *parent, PythonRunConfiguration *source) :
RunConfiguration(parent, source),
m_interpreter(source->interpreter()),
m_mainScript(source->m_mainScript),
m_enabled(source->m_enabled)
m_mainScript(source->m_mainScript)
{
setDefaultDisplayName(defaultDisplayName());
}
@@ -220,10 +214,7 @@ bool PythonRunConfiguration::fromMap(const QVariantMap &map)
QString PythonRunConfiguration::defaultDisplayName() const
{
QString result = tr("Run %1").arg(m_mainScript);
if (!m_enabled)
result += ' ' + tr("(disabled)");
return result;
return tr("Run %1").arg(m_mainScript);
}
QWidget *PythonRunConfiguration::createConfigurationWidget()
@@ -231,22 +222,6 @@ QWidget *PythonRunConfiguration::createConfigurationWidget()
return new PythonRunConfigurationWidget(this);
}
void PythonRunConfiguration::setEnabled(bool b)
{
if (m_enabled == b)
return;
m_enabled = b;
emit enabledChanged();
setDefaultDisplayName(defaultDisplayName());
}
QString PythonRunConfiguration::disabledReason() const
{
if (!m_enabled)
return tr("The script is currently disabled.");
return QString();
}
Runnable PythonRunConfiguration::runnable() const
{
StandardRunnable r;