From e46ae661bca93cc9f7a74d0bcb28d00191977bc8 Mon Sep 17 00:00:00 2001 From: Tim Jenssen Date: Thu, 2 Jul 2015 16:15:10 +0200 Subject: [PATCH] add hideProjectUi property to summary page Change-Id: Ibd46848e2d91d5183b7eb77b910a7be59fed3b91 Reviewed-by: Tim Jenssen --- .../projectexplorer/jsonwizard/jsonsummarypage.cpp | 8 ++++++++ .../projectexplorer/jsonwizard/jsonsummarypage.h | 2 ++ .../jsonwizard/jsonwizardpagefactory_p.cpp | 11 ++++++++--- src/plugins/projectexplorer/projectwizardpage.cpp | 6 ++++++ src/plugins/projectexplorer/projectwizardpage.h | 1 + 5 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/plugins/projectexplorer/jsonwizard/jsonsummarypage.cpp b/src/plugins/projectexplorer/jsonwizard/jsonsummarypage.cpp index 1129e9ff429..cf417dd773a 100644 --- a/src/plugins/projectexplorer/jsonwizard/jsonsummarypage.cpp +++ b/src/plugins/projectexplorer/jsonwizard/jsonsummarypage.cpp @@ -93,6 +93,11 @@ JsonSummaryPage::JsonSummaryPage(QWidget *parent) : this, &JsonSummaryPage::summarySettingsHaveChanged); } +void JsonSummaryPage::setHideProjectUiValue(const QVariant &hideProjectUiValue) +{ + m_hideProjectUiValue = hideProjectUiValue; +} + void JsonSummaryPage::initializePage() { m_wizard = qobject_cast(wizard()); @@ -129,6 +134,9 @@ void JsonSummaryPage::initializePage() initializeProjectTree(contextNode, files, kind, isProject ? AddSubProject : AddNewFile); + bool hideProjectUi = JsonWizard::boolFromVariant(m_hideProjectUiValue, m_wizard->expander()); + setProjectUiVisible(!hideProjectUi); + initializeVersionControls(); // Do a new try at initialization, now that we have real values set up: diff --git a/src/plugins/projectexplorer/jsonwizard/jsonsummarypage.h b/src/plugins/projectexplorer/jsonwizard/jsonsummarypage.h index c09f3891342..b50a26dac53 100644 --- a/src/plugins/projectexplorer/jsonwizard/jsonsummarypage.h +++ b/src/plugins/projectexplorer/jsonwizard/jsonsummarypage.h @@ -47,6 +47,7 @@ class JsonSummaryPage : public Internal::ProjectWizardPage public: JsonSummaryPage(QWidget *parent = 0); + void setHideProjectUiValue(const QVariant &hideProjectUiValue); void initializePage(); bool validatePage(); @@ -63,6 +64,7 @@ private: JsonWizard *m_wizard; JsonWizard::GeneratorFiles m_fileList; + QVariant m_hideProjectUiValue; }; } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/jsonwizard/jsonwizardpagefactory_p.cpp b/src/plugins/projectexplorer/jsonwizard/jsonwizardpagefactory_p.cpp index 8d3d7b8f797..3d58ee2c8ba 100644 --- a/src/plugins/projectexplorer/jsonwizard/jsonwizardpagefactory_p.cpp +++ b/src/plugins/projectexplorer/jsonwizard/jsonwizardpagefactory_p.cpp @@ -228,6 +228,8 @@ bool ProjectPageFactory::validateData(Core::Id typeId, const QVariant &data, QSt // SummaryPageFactory: // -------------------------------------------------------------------- +static const char KEY_HIDE_PROJECT_UI[] = "hideProjectUi"; + SummaryPageFactory::SummaryPageFactory() { setTypeIdsSuffix(QLatin1String("Summary")); @@ -239,15 +241,18 @@ Utils::WizardPage *SummaryPageFactory::create(JsonWizard *wizard, Core::Id typeI Q_UNUSED(data); QTC_ASSERT(canCreate(typeId), return 0); - return new JsonSummaryPage; + JsonSummaryPage *page = new JsonSummaryPage; + QVariant hideProjectUi = data.toMap().value(QLatin1String(KEY_HIDE_PROJECT_UI)); + page->setHideProjectUiValue(hideProjectUi); + return page; } bool SummaryPageFactory::validateData(Core::Id typeId, const QVariant &data, QString *errorMessage) { QTC_ASSERT(canCreate(typeId), return false); - if (!data.isNull() && (data.type() != QVariant::Map || !data.toMap().isEmpty())) { + if (!data.isNull() && (data.type() != QVariant::Map)) { *errorMessage = QCoreApplication::translate("ProjectExplorer::JsonWizard", - "\"data\" for a \"Summary\" page needs to be unset or an empty object."); + "\"data\" for a \"Summary\" page can be unset or needs to be an object."); return false; } diff --git a/src/plugins/projectexplorer/projectwizardpage.cpp b/src/plugins/projectexplorer/projectwizardpage.cpp index 7b7c6a606e6..4c0d5f99c90 100644 --- a/src/plugins/projectexplorer/projectwizardpage.cpp +++ b/src/plugins/projectexplorer/projectwizardpage.cpp @@ -604,5 +604,11 @@ void ProjectWizardPage::hideVersionControlUiElements() m_ui->addToVersionControlComboBox->hide(); } +void ProjectWizardPage::setProjectUiVisible(bool visible) +{ + m_ui->projectLabel->setVisible(visible); + m_ui->projectComboBox->setVisible(visible); +} + } // namespace Internal } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/projectwizardpage.h b/src/plugins/projectexplorer/projectwizardpage.h index f73e1001e4d..c46aa05ee16 100644 --- a/src/plugins/projectexplorer/projectwizardpage.h +++ b/src/plugins/projectexplorer/projectwizardpage.h @@ -85,6 +85,7 @@ signals: public slots: void initializeVersionControls(); + void setProjectUiVisible(bool visible); private slots: void projectChanged(int);