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");
|
||||
setDefaultDisplayName(name);
|
||||
setDisplayName(name);
|
||||
setWidgetExpandedByDefault(false);
|
||||
}
|
||||
|
||||
bool AndroidPackageInstallationStep::init(QList<const BuildStep *> &earlierSteps)
|
||||
@@ -126,7 +127,7 @@ bool AndroidPackageInstallationStep::immutable() const
|
||||
namespace Internal {
|
||||
|
||||
AndroidPackageInstallationStepWidget::AndroidPackageInstallationStepWidget(AndroidPackageInstallationStep *step)
|
||||
: BuildStepConfigWidget(step, false)
|
||||
: BuildStepConfigWidget(step)
|
||||
{
|
||||
setDisplayName(tr("Make install"));
|
||||
setSummaryText("<b>" + tr("Make install") + "</b>");
|
||||
|
@@ -129,7 +129,7 @@ BuildStep::BuildStep(BuildStepList *bsl, Core::Id id) :
|
||||
|
||||
BuildStepConfigWidget *BuildStep::createConfigWidget()
|
||||
{
|
||||
auto widget = new BuildStepConfigWidget(this, true);
|
||||
auto widget = new BuildStepConfigWidget(this);
|
||||
|
||||
auto formLayout = new QFormLayout(widget);
|
||||
formLayout->setMargin(0);
|
||||
@@ -200,6 +200,16 @@ bool BuildStep::isActive() const
|
||||
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
|
||||
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(BuildStep *step, bool showWidget)
|
||||
: m_step(step), m_showWidget(showWidget)
|
||||
BuildStepConfigWidget::BuildStepConfigWidget(BuildStep *step)
|
||||
: m_step(step)
|
||||
{
|
||||
m_displayName = step->displayName();
|
||||
m_summaryText = "<b>" + m_displayName + "</b>";
|
||||
|
@@ -84,6 +84,9 @@ public:
|
||||
|
||||
bool isActive() const override;
|
||||
|
||||
bool widgetExpandedByDefault() const;
|
||||
void setWidgetExpandedByDefault(bool widgetExpandedByDefault);
|
||||
|
||||
signals:
|
||||
/// Adds a \p task to the Issues pane.
|
||||
/// Do note that for linking compile output with tasks, you should first emit the task
|
||||
@@ -99,6 +102,7 @@ signals:
|
||||
|
||||
private:
|
||||
bool m_enabled = true;
|
||||
bool m_widgetExpandedByDefault = true;
|
||||
};
|
||||
|
||||
class PROJECTEXPLORER_EXPORT BuildStepInfo
|
||||
@@ -171,12 +175,11 @@ class PROJECTEXPLORER_EXPORT BuildStepConfigWidget : public QWidget
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
BuildStepConfigWidget(BuildStep *step, bool showWidget = true);
|
||||
explicit BuildStepConfigWidget(BuildStep *step);
|
||||
|
||||
QString summaryText() const;
|
||||
QString displayName() const;
|
||||
BuildStep *step() const { return m_step; }
|
||||
bool showWidget() const { return m_showWidget; }
|
||||
|
||||
void setDisplayName(const QString &displayName);
|
||||
void setSummaryText(const QString &summaryText);
|
||||
@@ -186,7 +189,6 @@ signals:
|
||||
|
||||
private:
|
||||
BuildStep *m_step = nullptr;
|
||||
const bool m_showWidget = true;
|
||||
QString m_displayName;
|
||||
QString m_summaryText;
|
||||
};
|
||||
|
@@ -257,7 +257,7 @@ void BuildStepListWidget::init(BuildStepList *bsl)
|
||||
for (int i = 0; i < bsl->count(); ++i) {
|
||||
addBuildStep(i);
|
||||
// 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);
|
||||
}
|
||||
|
||||
@@ -326,7 +326,7 @@ void BuildStepListWidget::addBuildStep(int pos)
|
||||
addBuildStepWidget(pos, newStep);
|
||||
BuildStepsWidgetData *s = m_buildStepsData.at(pos);
|
||||
// Expand new build steps by default
|
||||
if (s->widget->showWidget())
|
||||
if (newStep->widgetExpandedByDefault())
|
||||
s->detailsWidget->setState(DetailsWidget::Expanded);
|
||||
else
|
||||
s->detailsWidget->setState(DetailsWidget::OnlySummary);
|
||||
|
@@ -39,6 +39,7 @@ DeviceCheckBuildStep::DeviceCheckBuildStep(BuildStepList *bsl)
|
||||
: BuildStep(bsl, stepId())
|
||||
{
|
||||
setDefaultDisplayName(displayName());
|
||||
setWidgetExpandedByDefault(false);
|
||||
}
|
||||
|
||||
bool DeviceCheckBuildStep::init(QList<const BuildStep *> &earlierSteps)
|
||||
@@ -82,11 +83,6 @@ void DeviceCheckBuildStep::run(QFutureInterface<bool> &fi)
|
||||
reportRunResult(fi, true);
|
||||
}
|
||||
|
||||
BuildStepConfigWidget *DeviceCheckBuildStep::createConfigWidget()
|
||||
{
|
||||
return new BuildStepConfigWidget(this, false);
|
||||
}
|
||||
|
||||
Core::Id DeviceCheckBuildStep::stepId()
|
||||
{
|
||||
return "ProjectExplorer.DeviceCheckBuildStep";
|
||||
|
@@ -42,8 +42,6 @@ public:
|
||||
|
||||
void run(QFutureInterface<bool> &fi) override;
|
||||
|
||||
BuildStepConfigWidget *createConfigWidget() override;
|
||||
|
||||
static Core::Id stepId();
|
||||
static QString displayName();
|
||||
};
|
||||
|
@@ -41,6 +41,7 @@ RemoteLinuxKillAppStep::RemoteLinuxKillAppStep(BuildStepList *bsl, Core::Id id)
|
||||
: AbstractRemoteLinuxDeployStep(bsl, id), m_service(new RemoteLinuxKillAppService(this))
|
||||
{
|
||||
setDefaultDisplayName(displayName());
|
||||
setWidgetExpandedByDefault(false);
|
||||
}
|
||||
|
||||
bool RemoteLinuxKillAppStep::initInternal(QString *error)
|
||||
@@ -69,9 +70,4 @@ QString RemoteLinuxKillAppStep::displayName()
|
||||
return tr("Kill current application instance");
|
||||
}
|
||||
|
||||
BuildStepConfigWidget *RemoteLinuxKillAppStep::createConfigWidget()
|
||||
{
|
||||
return new BuildStepConfigWidget(this, false);
|
||||
}
|
||||
|
||||
} // namespace RemoteLinux
|
||||
|
@@ -41,8 +41,6 @@ public:
|
||||
static QString displayName();
|
||||
|
||||
private:
|
||||
ProjectExplorer::BuildStepConfigWidget *createConfigWidget() override;
|
||||
|
||||
bool initInternal(QString *error) override;
|
||||
AbstractRemoteLinuxDeployService *deployService() const override;
|
||||
|
||||
|
@@ -66,6 +66,7 @@ UploadAndInstallTarPackageStep::UploadAndInstallTarPackageStep(BuildStepList *bs
|
||||
{
|
||||
m_deployService = new UploadAndInstallTarPackageService(this);
|
||||
setDefaultDisplayName(displayName());
|
||||
setWidgetExpandedByDefault(false);
|
||||
}
|
||||
|
||||
bool UploadAndInstallTarPackageStep::initInternal(QString *error)
|
||||
@@ -81,11 +82,6 @@ bool UploadAndInstallTarPackageStep::initInternal(QString *error)
|
||||
return m_deployService->isDeploymentPossible(error);
|
||||
}
|
||||
|
||||
BuildStepConfigWidget *UploadAndInstallTarPackageStep::createConfigWidget()
|
||||
{
|
||||
return new BuildStepConfigWidget(this, false);
|
||||
}
|
||||
|
||||
Core::Id UploadAndInstallTarPackageStep::stepId()
|
||||
{
|
||||
return "MaemoUploadAndInstallTarPackageStep";
|
||||
|
@@ -57,8 +57,6 @@ public:
|
||||
|
||||
bool initInternal(QString *error = 0) override;
|
||||
|
||||
ProjectExplorer::BuildStepConfigWidget *createConfigWidget() override;
|
||||
|
||||
static Core::Id stepId();
|
||||
static QString displayName();
|
||||
|
||||
|
Reference in New Issue
Block a user