forked from qt-creator/qt-creator
ProjectExplorer: Use BuildStep member to decide on initial expansion
Previously, the build step implementation had the same power as it decided on the widget to use, and the widget had such a member. Change-Id: Id9c783e29610b68cfbbe2c9aa91da831d41c3286 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This commit is contained in:
@@ -52,6 +52,7 @@ AndroidPackageInstallationStep::AndroidPackageInstallationStep(BuildStepList *bs
|
|||||||
const QString name = tr("Copy application data");
|
const QString name = tr("Copy application data");
|
||||||
setDefaultDisplayName(name);
|
setDefaultDisplayName(name);
|
||||||
setDisplayName(name);
|
setDisplayName(name);
|
||||||
|
setWidgetExpandedByDefault(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool AndroidPackageInstallationStep::init(QList<const BuildStep *> &earlierSteps)
|
bool AndroidPackageInstallationStep::init(QList<const BuildStep *> &earlierSteps)
|
||||||
@@ -126,7 +127,7 @@ bool AndroidPackageInstallationStep::immutable() const
|
|||||||
namespace Internal {
|
namespace Internal {
|
||||||
|
|
||||||
AndroidPackageInstallationStepWidget::AndroidPackageInstallationStepWidget(AndroidPackageInstallationStep *step)
|
AndroidPackageInstallationStepWidget::AndroidPackageInstallationStepWidget(AndroidPackageInstallationStep *step)
|
||||||
: BuildStepConfigWidget(step, false)
|
: BuildStepConfigWidget(step)
|
||||||
{
|
{
|
||||||
setDisplayName(tr("Make install"));
|
setDisplayName(tr("Make install"));
|
||||||
setSummaryText("<b>" + tr("Make install") + "</b>");
|
setSummaryText("<b>" + tr("Make install") + "</b>");
|
||||||
|
@@ -129,7 +129,7 @@ BuildStep::BuildStep(BuildStepList *bsl, Core::Id id) :
|
|||||||
|
|
||||||
BuildStepConfigWidget *BuildStep::createConfigWidget()
|
BuildStepConfigWidget *BuildStep::createConfigWidget()
|
||||||
{
|
{
|
||||||
auto widget = new BuildStepConfigWidget(this, true);
|
auto widget = new BuildStepConfigWidget(this);
|
||||||
|
|
||||||
auto formLayout = new QFormLayout(widget);
|
auto formLayout = new QFormLayout(widget);
|
||||||
formLayout->setMargin(0);
|
formLayout->setMargin(0);
|
||||||
@@ -200,6 +200,16 @@ bool BuildStep::isActive() const
|
|||||||
return projectConfiguration()->isActive();
|
return projectConfiguration()->isActive();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool BuildStep::widgetExpandedByDefault() const
|
||||||
|
{
|
||||||
|
return m_widgetExpandedByDefault;
|
||||||
|
}
|
||||||
|
|
||||||
|
void BuildStep::setWidgetExpandedByDefault(bool widgetExpandedByDefault)
|
||||||
|
{
|
||||||
|
m_widgetExpandedByDefault = widgetExpandedByDefault;
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
If this function returns \c true, the user cannot delete this build step for
|
If this function returns \c true, the user cannot delete this build step for
|
||||||
this target and the user is prevented from changing the order in which
|
this target and the user is prevented from changing the order in which
|
||||||
@@ -365,8 +375,8 @@ BuildStep *BuildStepFactory::restore(BuildStepList *parent, const QVariantMap &m
|
|||||||
|
|
||||||
// BuildStepConfigWidget
|
// BuildStepConfigWidget
|
||||||
|
|
||||||
BuildStepConfigWidget::BuildStepConfigWidget(BuildStep *step, bool showWidget)
|
BuildStepConfigWidget::BuildStepConfigWidget(BuildStep *step)
|
||||||
: m_step(step), m_showWidget(showWidget)
|
: m_step(step)
|
||||||
{
|
{
|
||||||
m_displayName = step->displayName();
|
m_displayName = step->displayName();
|
||||||
m_summaryText = "<b>" + m_displayName + "</b>";
|
m_summaryText = "<b>" + m_displayName + "</b>";
|
||||||
|
@@ -84,6 +84,9 @@ public:
|
|||||||
|
|
||||||
bool isActive() const override;
|
bool isActive() const override;
|
||||||
|
|
||||||
|
bool widgetExpandedByDefault() const;
|
||||||
|
void setWidgetExpandedByDefault(bool widgetExpandedByDefault);
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
/// Adds a \p task to the Issues pane.
|
/// Adds a \p task to the Issues pane.
|
||||||
/// Do note that for linking compile output with tasks, you should first emit the task
|
/// Do note that for linking compile output with tasks, you should first emit the task
|
||||||
@@ -99,6 +102,7 @@ signals:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
bool m_enabled = true;
|
bool m_enabled = true;
|
||||||
|
bool m_widgetExpandedByDefault = true;
|
||||||
};
|
};
|
||||||
|
|
||||||
class PROJECTEXPLORER_EXPORT BuildStepInfo
|
class PROJECTEXPLORER_EXPORT BuildStepInfo
|
||||||
@@ -171,12 +175,11 @@ class PROJECTEXPLORER_EXPORT BuildStepConfigWidget : public QWidget
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
BuildStepConfigWidget(BuildStep *step, bool showWidget = true);
|
explicit BuildStepConfigWidget(BuildStep *step);
|
||||||
|
|
||||||
QString summaryText() const;
|
QString summaryText() const;
|
||||||
QString displayName() const;
|
QString displayName() const;
|
||||||
BuildStep *step() const { return m_step; }
|
BuildStep *step() const { return m_step; }
|
||||||
bool showWidget() const { return m_showWidget; }
|
|
||||||
|
|
||||||
void setDisplayName(const QString &displayName);
|
void setDisplayName(const QString &displayName);
|
||||||
void setSummaryText(const QString &summaryText);
|
void setSummaryText(const QString &summaryText);
|
||||||
@@ -186,7 +189,6 @@ signals:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
BuildStep *m_step = nullptr;
|
BuildStep *m_step = nullptr;
|
||||||
const bool m_showWidget = true;
|
|
||||||
QString m_displayName;
|
QString m_displayName;
|
||||||
QString m_summaryText;
|
QString m_summaryText;
|
||||||
};
|
};
|
||||||
|
@@ -257,7 +257,7 @@ void BuildStepListWidget::init(BuildStepList *bsl)
|
|||||||
for (int i = 0; i < bsl->count(); ++i) {
|
for (int i = 0; i < bsl->count(); ++i) {
|
||||||
addBuildStep(i);
|
addBuildStep(i);
|
||||||
// addBuilStep expands the config widget by default, which we don't want here
|
// addBuilStep expands the config widget by default, which we don't want here
|
||||||
if (m_buildStepsData.at(i)->widget->showWidget())
|
if (m_buildStepsData.at(i)->step->widgetExpandedByDefault())
|
||||||
m_buildStepsData.at(i)->detailsWidget->setState(DetailsWidget::Collapsed);
|
m_buildStepsData.at(i)->detailsWidget->setState(DetailsWidget::Collapsed);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -326,7 +326,7 @@ void BuildStepListWidget::addBuildStep(int pos)
|
|||||||
addBuildStepWidget(pos, newStep);
|
addBuildStepWidget(pos, newStep);
|
||||||
BuildStepsWidgetData *s = m_buildStepsData.at(pos);
|
BuildStepsWidgetData *s = m_buildStepsData.at(pos);
|
||||||
// Expand new build steps by default
|
// Expand new build steps by default
|
||||||
if (s->widget->showWidget())
|
if (newStep->widgetExpandedByDefault())
|
||||||
s->detailsWidget->setState(DetailsWidget::Expanded);
|
s->detailsWidget->setState(DetailsWidget::Expanded);
|
||||||
else
|
else
|
||||||
s->detailsWidget->setState(DetailsWidget::OnlySummary);
|
s->detailsWidget->setState(DetailsWidget::OnlySummary);
|
||||||
|
@@ -39,6 +39,7 @@ DeviceCheckBuildStep::DeviceCheckBuildStep(BuildStepList *bsl)
|
|||||||
: BuildStep(bsl, stepId())
|
: BuildStep(bsl, stepId())
|
||||||
{
|
{
|
||||||
setDefaultDisplayName(displayName());
|
setDefaultDisplayName(displayName());
|
||||||
|
setWidgetExpandedByDefault(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DeviceCheckBuildStep::init(QList<const BuildStep *> &earlierSteps)
|
bool DeviceCheckBuildStep::init(QList<const BuildStep *> &earlierSteps)
|
||||||
@@ -82,11 +83,6 @@ void DeviceCheckBuildStep::run(QFutureInterface<bool> &fi)
|
|||||||
reportRunResult(fi, true);
|
reportRunResult(fi, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildStepConfigWidget *DeviceCheckBuildStep::createConfigWidget()
|
|
||||||
{
|
|
||||||
return new BuildStepConfigWidget(this, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
Core::Id DeviceCheckBuildStep::stepId()
|
Core::Id DeviceCheckBuildStep::stepId()
|
||||||
{
|
{
|
||||||
return "ProjectExplorer.DeviceCheckBuildStep";
|
return "ProjectExplorer.DeviceCheckBuildStep";
|
||||||
|
@@ -42,8 +42,6 @@ public:
|
|||||||
|
|
||||||
void run(QFutureInterface<bool> &fi) override;
|
void run(QFutureInterface<bool> &fi) override;
|
||||||
|
|
||||||
BuildStepConfigWidget *createConfigWidget() override;
|
|
||||||
|
|
||||||
static Core::Id stepId();
|
static Core::Id stepId();
|
||||||
static QString displayName();
|
static QString displayName();
|
||||||
};
|
};
|
||||||
|
@@ -41,6 +41,7 @@ RemoteLinuxKillAppStep::RemoteLinuxKillAppStep(BuildStepList *bsl, Core::Id id)
|
|||||||
: AbstractRemoteLinuxDeployStep(bsl, id), m_service(new RemoteLinuxKillAppService(this))
|
: AbstractRemoteLinuxDeployStep(bsl, id), m_service(new RemoteLinuxKillAppService(this))
|
||||||
{
|
{
|
||||||
setDefaultDisplayName(displayName());
|
setDefaultDisplayName(displayName());
|
||||||
|
setWidgetExpandedByDefault(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool RemoteLinuxKillAppStep::initInternal(QString *error)
|
bool RemoteLinuxKillAppStep::initInternal(QString *error)
|
||||||
@@ -69,9 +70,4 @@ QString RemoteLinuxKillAppStep::displayName()
|
|||||||
return tr("Kill current application instance");
|
return tr("Kill current application instance");
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildStepConfigWidget *RemoteLinuxKillAppStep::createConfigWidget()
|
|
||||||
{
|
|
||||||
return new BuildStepConfigWidget(this, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
} // namespace RemoteLinux
|
} // namespace RemoteLinux
|
||||||
|
@@ -41,8 +41,6 @@ public:
|
|||||||
static QString displayName();
|
static QString displayName();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
ProjectExplorer::BuildStepConfigWidget *createConfigWidget() override;
|
|
||||||
|
|
||||||
bool initInternal(QString *error) override;
|
bool initInternal(QString *error) override;
|
||||||
AbstractRemoteLinuxDeployService *deployService() const override;
|
AbstractRemoteLinuxDeployService *deployService() const override;
|
||||||
|
|
||||||
|
@@ -66,6 +66,7 @@ UploadAndInstallTarPackageStep::UploadAndInstallTarPackageStep(BuildStepList *bs
|
|||||||
{
|
{
|
||||||
m_deployService = new UploadAndInstallTarPackageService(this);
|
m_deployService = new UploadAndInstallTarPackageService(this);
|
||||||
setDefaultDisplayName(displayName());
|
setDefaultDisplayName(displayName());
|
||||||
|
setWidgetExpandedByDefault(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool UploadAndInstallTarPackageStep::initInternal(QString *error)
|
bool UploadAndInstallTarPackageStep::initInternal(QString *error)
|
||||||
@@ -81,11 +82,6 @@ bool UploadAndInstallTarPackageStep::initInternal(QString *error)
|
|||||||
return m_deployService->isDeploymentPossible(error);
|
return m_deployService->isDeploymentPossible(error);
|
||||||
}
|
}
|
||||||
|
|
||||||
BuildStepConfigWidget *UploadAndInstallTarPackageStep::createConfigWidget()
|
|
||||||
{
|
|
||||||
return new BuildStepConfigWidget(this, false);
|
|
||||||
}
|
|
||||||
|
|
||||||
Core::Id UploadAndInstallTarPackageStep::stepId()
|
Core::Id UploadAndInstallTarPackageStep::stepId()
|
||||||
{
|
{
|
||||||
return "MaemoUploadAndInstallTarPackageStep";
|
return "MaemoUploadAndInstallTarPackageStep";
|
||||||
|
@@ -57,8 +57,6 @@ public:
|
|||||||
|
|
||||||
bool initInternal(QString *error = 0) override;
|
bool initInternal(QString *error = 0) override;
|
||||||
|
|
||||||
ProjectExplorer::BuildStepConfigWidget *createConfigWidget() override;
|
|
||||||
|
|
||||||
static Core::Id stepId();
|
static Core::Id stepId();
|
||||||
static QString displayName();
|
static QString displayName();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user