summaryrefslogtreecommitdiff
path: root/src/plugins/projectexplorer/runsettingspropertiespage.cpp
diff options
context:
space:
mode:
authorEike Ziller <eike.ziller@nokia.com>2011-11-01 18:16:38 +0100
committerEike Ziller <eike.ziller@nokia.com>2011-11-01 18:16:38 +0100
commit912cd548c0b0950b3a1e80f2597c99b3bf898c83 (patch)
treec9eeb5ac857dcabcfb404f60356ad4522471d9ed /src/plugins/projectexplorer/runsettingspropertiespage.cpp
parentddde938174f03544182adb79179d192502b50e51 (diff)
parent002820867cc0f4f5c67c5ae976eec26157275d4f (diff)
downloadqt-creator-912cd548c0b0950b3a1e80f2597c99b3bf898c83.tar.gz
Merge remote-tracking branch 'origin/2.4'
Conflicts: src/libs/qmljs/qmljsinterpreter.cpp src/libs/qmljs/qmljsinterpreter.h src/plugins/madde/maemopackagecreationstep.cpp src/plugins/projectexplorer/buildmanager.cpp src/plugins/qmljstools/qmljsqtstylecodeformatter.cpp src/plugins/qmljstools/qmljsqtstylecodeformatter.h tests/auto/qml/qmleditor/qmlcodeformatter/tst_qmlcodeformatter.cpp Change-Id: I63ab2ba5dac006c37ccfbae55b023396a4676ff7
Diffstat (limited to 'src/plugins/projectexplorer/runsettingspropertiespage.cpp')
-rw-r--r--src/plugins/projectexplorer/runsettingspropertiespage.cpp32
1 files changed, 25 insertions, 7 deletions
diff --git a/src/plugins/projectexplorer/runsettingspropertiespage.cpp b/src/plugins/projectexplorer/runsettingspropertiespage.cpp
index e1016ca460..e0497ca72e 100644
--- a/src/plugins/projectexplorer/runsettingspropertiespage.cpp
+++ b/src/plugins/projectexplorer/runsettingspropertiespage.cpp
@@ -42,6 +42,8 @@
#include <coreplugin/coreconstants.h>
#include <extensionsystem/pluginmanager.h>
+#include <projectexplorer/projectexplorer.h>
+#include <projectexplorer/buildmanager.h>
#include <utils/qtcassert.h>
#include <QtCore/QPair>
@@ -389,15 +391,31 @@ void RunSettingsWidget::addDeployConfiguration()
void RunSettingsWidget::removeDeployConfiguration()
{
DeployConfiguration *dc = m_target->activeDeployConfiguration();
- QMessageBox msgBox(QMessageBox::Question, tr("Remove Deploy Configuration?"),
- tr("Do you really want to delete deploy configuration <b>%1</b>?").arg(dc->displayName()),
- QMessageBox::Yes|QMessageBox::No, this);
- msgBox.setDefaultButton(QMessageBox::No);
- msgBox.setEscapeButton(QMessageBox::No);
- if (msgBox.exec() == QMessageBox::No)
- return;
+ ProjectExplorer::BuildManager *bm = ProjectExplorerPlugin::instance()->buildManager();
+ if (bm->isBuilding(dc)) {
+ QMessageBox box;
+ QPushButton *closeAnyway = box.addButton(tr("Cancel Build && Remove Deploy Configuration"), QMessageBox::AcceptRole);
+ QPushButton *cancelClose = box.addButton(tr("Do Not Remove"), QMessageBox::RejectRole);
+ box.setDefaultButton(cancelClose);
+ box.setWindowTitle(tr("Remove Deploy Configuration %1?").arg(dc->displayName()));
+ box.setText(tr("The deploy configuration <b>%1</b> is currently being built.").arg(dc->displayName()));
+ box.setInformativeText(tr("Do you want to cancel the build process and remove the Deploy Configuration anyway?"));
+ box.exec();
+ if (box.clickedButton() != closeAnyway)
+ return;
+ bm->cancel();
+ } else {
+ QMessageBox msgBox(QMessageBox::Question, tr("Remove Deploy Configuration?"),
+ tr("Do you really want to delete deploy configuration <b>%1</b>?").arg(dc->displayName()),
+ QMessageBox::Yes|QMessageBox::No, this);
+ msgBox.setDefaultButton(QMessageBox::No);
+ msgBox.setEscapeButton(QMessageBox::No);
+ if (msgBox.exec() == QMessageBox::No)
+ return;
+ }
m_target->removeDeployConfiguration(dc);
+
m_removeDeployToolButton->setEnabled(m_target->deployConfigurations().size() > 1);
}