diff --git a/src/plugins/android/androidpackageinstallationstep.cpp b/src/plugins/android/androidpackageinstallationstep.cpp index 0236a3a8398..2236f85d28b 100644 --- a/src/plugins/android/androidpackageinstallationstep.cpp +++ b/src/plugins/android/androidpackageinstallationstep.cpp @@ -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 &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("" + tr("Make install") + ""); diff --git a/src/plugins/projectexplorer/buildstep.cpp b/src/plugins/projectexplorer/buildstep.cpp index 99c26b540ce..5fae0569565 100644 --- a/src/plugins/projectexplorer/buildstep.cpp +++ b/src/plugins/projectexplorer/buildstep.cpp @@ -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 = "" + m_displayName + ""; diff --git a/src/plugins/projectexplorer/buildstep.h b/src/plugins/projectexplorer/buildstep.h index 6e826565663..4a368a5eeba 100644 --- a/src/plugins/projectexplorer/buildstep.h +++ b/src/plugins/projectexplorer/buildstep.h @@ -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; }; diff --git a/src/plugins/projectexplorer/buildstepspage.cpp b/src/plugins/projectexplorer/buildstepspage.cpp index 2cd9da49f28..5dd76281379 100644 --- a/src/plugins/projectexplorer/buildstepspage.cpp +++ b/src/plugins/projectexplorer/buildstepspage.cpp @@ -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); diff --git a/src/plugins/projectexplorer/devicesupport/devicecheckbuildstep.cpp b/src/plugins/projectexplorer/devicesupport/devicecheckbuildstep.cpp index 1d21f897d8f..0c4cda9af5b 100644 --- a/src/plugins/projectexplorer/devicesupport/devicecheckbuildstep.cpp +++ b/src/plugins/projectexplorer/devicesupport/devicecheckbuildstep.cpp @@ -39,6 +39,7 @@ DeviceCheckBuildStep::DeviceCheckBuildStep(BuildStepList *bsl) : BuildStep(bsl, stepId()) { setDefaultDisplayName(displayName()); + setWidgetExpandedByDefault(false); } bool DeviceCheckBuildStep::init(QList &earlierSteps) @@ -82,11 +83,6 @@ void DeviceCheckBuildStep::run(QFutureInterface &fi) reportRunResult(fi, true); } -BuildStepConfigWidget *DeviceCheckBuildStep::createConfigWidget() -{ - return new BuildStepConfigWidget(this, false); -} - Core::Id DeviceCheckBuildStep::stepId() { return "ProjectExplorer.DeviceCheckBuildStep"; diff --git a/src/plugins/projectexplorer/devicesupport/devicecheckbuildstep.h b/src/plugins/projectexplorer/devicesupport/devicecheckbuildstep.h index 8a114e1e6c4..2ac220ecaf2 100644 --- a/src/plugins/projectexplorer/devicesupport/devicecheckbuildstep.h +++ b/src/plugins/projectexplorer/devicesupport/devicecheckbuildstep.h @@ -42,8 +42,6 @@ public: void run(QFutureInterface &fi) override; - BuildStepConfigWidget *createConfigWidget() override; - static Core::Id stepId(); static QString displayName(); }; diff --git a/src/plugins/remotelinux/remotelinuxkillappstep.cpp b/src/plugins/remotelinux/remotelinuxkillappstep.cpp index 3a25766695d..c0c1298ad8d 100644 --- a/src/plugins/remotelinux/remotelinuxkillappstep.cpp +++ b/src/plugins/remotelinux/remotelinuxkillappstep.cpp @@ -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 diff --git a/src/plugins/remotelinux/remotelinuxkillappstep.h b/src/plugins/remotelinux/remotelinuxkillappstep.h index dc94808ff12..e1f9b3f47e9 100644 --- a/src/plugins/remotelinux/remotelinuxkillappstep.h +++ b/src/plugins/remotelinux/remotelinuxkillappstep.h @@ -41,8 +41,6 @@ public: static QString displayName(); private: - ProjectExplorer::BuildStepConfigWidget *createConfigWidget() override; - bool initInternal(QString *error) override; AbstractRemoteLinuxDeployService *deployService() const override; diff --git a/src/plugins/remotelinux/uploadandinstalltarpackagestep.cpp b/src/plugins/remotelinux/uploadandinstalltarpackagestep.cpp index 96a68e62c44..8d163e3a1f4 100644 --- a/src/plugins/remotelinux/uploadandinstalltarpackagestep.cpp +++ b/src/plugins/remotelinux/uploadandinstalltarpackagestep.cpp @@ -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"; diff --git a/src/plugins/remotelinux/uploadandinstalltarpackagestep.h b/src/plugins/remotelinux/uploadandinstalltarpackagestep.h index edcdeff9cd6..ec891b1e5d7 100644 --- a/src/plugins/remotelinux/uploadandinstalltarpackagestep.h +++ b/src/plugins/remotelinux/uploadandinstalltarpackagestep.h @@ -57,8 +57,6 @@ public: bool initInternal(QString *error = 0) override; - ProjectExplorer::BuildStepConfigWidget *createConfigWidget() override; - static Core::Id stepId(); static QString displayName();