diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp index 0a007795970fc5e112b2d2ef73000c1f00b3856f..d0bd214c8abfb38e3b8fddadd31a70e3c8569410 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationstep.cpp @@ -59,6 +59,8 @@ #include <QtCore/QStringBuilder> #include <QtGui/QWidget> +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<bool> &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 60f2bbce526c42096728d171240762b0627af4db..255fb1d5cff63dc818663f94bd6d898d9fdc5d9e 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 109bd548e36ab618dba15a14f2ed54df284de11c..8f1005f1aad2f94bde8aba7b92167ba4d00a3e9b 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 3c8d10d79c19e6e5914fb39bc685904769e26e04..ead07fac55fd45aaa5a1ec732133e6d72d82433d 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 a650baa0cbc58a6b6de696c34be6f9bc018a9586..ef1ed2334d1a1a04a48699f24fedc917169d8d4d 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.ui +++ b/src/plugins/qt4projectmanager/qt-maemo/maemopackagecreationwidget.ui @@ -17,6 +17,20 @@ </sizepolicy> </property> <layout class="QVBoxLayout" name="verticalLayout_2"> + <property name="spacing"> + <number>6</number> + </property> + <item> + <widget class="QCheckBox" name="skipCheckBox"> + <property name="toolTip"> + <string>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.</string> + </property> + <property name="text"> + <string>Skip Packaging Step</string> + </property> + </widget> + </item> <item> <widget class="QLabel" name="contentsLabel"> <property name="font"> @@ -126,8 +140,8 @@ <slot>addFile()</slot> <hints> <hint type="sourcelabel"> - <x>712</x> - <y>44</y> + <x>729</x> + <y>88</y> </hint> <hint type="destinationlabel"> <x>732</x> @@ -142,8 +156,8 @@ <slot>removeFile()</slot> <hints> <hint type="sourcelabel"> - <x>723</x> - <y>77</y> + <x>729</x> + <y>124</y> </hint> <hint type="destinationlabel"> <x>735</x> @@ -151,9 +165,26 @@ </hint> </hints> </connection> + <connection> + <sender>skipCheckBox</sender> + <signal>clicked(bool)</signal> + <receiver>MaemoPackageCreationWidget</receiver> + <slot>handleSkipButtonToggled(bool)</slot> + <hints> + <hint type="sourcelabel"> + <x>129</x> + <y>18</y> + </hint> + <hint type="destinationlabel"> + <x>240</x> + <y>31</y> + </hint> + </hints> + </connection> </connections> <slots> <slot>addFile()</slot> <slot>removeFile()</slot> + <slot>handleSkipButtonToggled(bool)</slot> </slots> </ui>