From 5221e8eff99d266d3d4ccd03de6e8e9724296b63 Mon Sep 17 00:00:00 2001 From: ck Date: Fri, 11 Jun 2010 11:58:12 +0200 Subject: [PATCH] Maemo: Make packaging step optional. Reviewed-by: kh1 --- .../qt-maemo/maemopackagecreationstep.cpp | 12 ++++-- .../qt-maemo/maemopackagecreationstep.h | 4 ++ .../qt-maemo/maemopackagecreationwidget.cpp | 8 ++++ .../qt-maemo/maemopackagecreationwidget.h | 1 + .../qt-maemo/maemopackagecreationwidget.ui | 39 +++++++++++++++++-- 5 files changed, 57 insertions(+), 7 deletions(-) diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp index 0a007795970..d0bd214c8ab 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp @@ -59,6 +59,8 @@ #include #include +namespace { const QLatin1String PackagingEnabledKey("Packaging Enabled"); } + using namespace ProjectExplorer::Constants; using ProjectExplorer::BuildConfiguration; using ProjectExplorer::BuildStepConfigWidget; @@ -69,14 +71,16 @@ namespace Internal { MaemoPackageCreationStep::MaemoPackageCreationStep(BuildConfiguration *buildConfig) : ProjectExplorer::BuildStep(buildConfig, CreatePackageId), - m_packageContents(new MaemoPackageContents(this)) + m_packageContents(new MaemoPackageContents(this)), + m_packagingEnabled(true) { } MaemoPackageCreationStep::MaemoPackageCreationStep(BuildConfiguration *buildConfig, MaemoPackageCreationStep *other) : BuildStep(buildConfig, other), - m_packageContents(new MaemoPackageContents(this)) + m_packageContents(new MaemoPackageContents(this)), + m_packagingEnabled(other->m_packagingEnabled) { @@ -90,18 +94,20 @@ bool MaemoPackageCreationStep::init() QVariantMap MaemoPackageCreationStep::toMap() const { QVariantMap map(ProjectExplorer::BuildStep::toMap()); + map.insert(PackagingEnabledKey, m_packagingEnabled); return map.unite(m_packageContents->toMap()); } bool MaemoPackageCreationStep::fromMap(const QVariantMap &map) { m_packageContents->fromMap(map); + m_packagingEnabled = map.value(PackagingEnabledKey, true).toBool(); return ProjectExplorer::BuildStep::fromMap(map); } void MaemoPackageCreationStep::run(QFutureInterface &fi) { - fi.reportResult(createPackage()); + fi.reportResult(m_packagingEnabled ? createPackage() : true); } BuildStepConfigWidget *MaemoPackageCreationStep::createConfigWidget() diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h index 60f2bbce526..255fb1d5cff 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h +++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.h @@ -68,6 +68,9 @@ public: QString executableFileName() const; MaemoPackageContents *packageContents() const { return m_packageContents; } + bool isPackagingEnabled() const { return m_packagingEnabled; } + void setPackagingEnabled(bool enabled) { m_packagingEnabled = enabled; } + private: MaemoPackageCreationStep(ProjectExplorer::BuildConfiguration *buildConfig, MaemoPackageCreationStep *other); @@ -94,6 +97,7 @@ private: static const QLatin1String CreatePackageId; MaemoPackageContents *const m_packageContents; + bool m_packagingEnabled; }; } // namespace Internal diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.cpp index 109bd548e36..8f1005f1aad 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.cpp @@ -64,6 +64,8 @@ MaemoPackageCreationWidget::MaemoPackageCreationWidget(MaemoPackageCreationStep m_ui(new Ui::MaemoPackageCreationWidget) { m_ui->setupUi(this); + m_ui->skipCheckBox->setChecked(!m_step->isPackagingEnabled()); + m_ui->packageContentsView->setEnabled(m_step->isPackagingEnabled()); m_ui->packageContentsView->setModel(step->packageContents()); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); connect(step->packageContents(), SIGNAL(dataChanged(QModelIndex,QModelIndex)), @@ -136,5 +138,11 @@ void MaemoPackageCreationWidget::enableOrDisableRemoveButton() && selectedRows.first().row() != 0); } +void MaemoPackageCreationWidget::handleSkipButtonToggled(bool checked) +{ + m_step->setPackagingEnabled(!checked); + m_ui->packageContentsView->setEnabled(m_step->isPackagingEnabled()); +} + } // namespace Internal } // namespace Qt4ProjectManager diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.h b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.h index 3c8d10d79c1..ead07fac55f 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.h +++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.h @@ -67,6 +67,7 @@ private slots: void addFile(); void removeFile(); void enableOrDisableRemoveButton(); + void handleSkipButtonToggled(bool checked); private: MaemoPackageCreationStep * const m_step; diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.ui b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.ui index a650baa0cbc..ef1ed2334d1 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.ui +++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.ui @@ -17,6 +17,20 @@ + + 6 + + + + + Check this if you build the package externally. It still needs to be at the location listed above +and the remote executable is assumed to be in the directory mentioned below. + + + Skip Packaging Step + + + @@ -126,8 +140,8 @@ addFile() - 712 - 44 + 729 + 88 732 @@ -142,8 +156,8 @@ removeFile() - 723 - 77 + 729 + 124 735 @@ -151,9 +165,26 @@ + + skipCheckBox + clicked(bool) + MaemoPackageCreationWidget + handleSkipButtonToggled(bool) + + + 129 + 18 + + + 240 + 31 + + + addFile() removeFile() + handleSkipButtonToggled(bool)