Offer to force quit an application when closing its output window

Reviewed-by: dt
Task-number: QTCREATORBUG-1093
This commit is contained in:
Thorbjørn Lindeijer
2010-04-16 16:45:50 +02:00
parent 70153d1c73
commit 3057c6ecf7
2 changed files with 14 additions and 4 deletions

View File

@@ -257,9 +257,19 @@ void OutputPane::closeTab(int index)
RunControl *rc = m_outputWindows.key(ow);
if (rc->isRunning()) {
QString msg = tr("The application is still running. Close it first.");
QMessageBox::critical(0, tr("Unable to close"), msg);
return;
QMessageBox messageBox(QMessageBox::Warning,
tr("Unable to close"),
tr("The application is still running."),
QMessageBox::Cancel | QMessageBox::Yes,
ow->window());
messageBox.setInformativeText(tr("Force it to quit?"));
messageBox.setDefaultButton(QMessageBox::Yes);
messageBox.button(QMessageBox::Yes)->setText(tr("Force Quit"));
if (messageBox.exec() != QMessageBox::Yes)
return;
rc->stop();
}
m_tabWidget->removeTab(index);

View File

@@ -162,7 +162,7 @@ public:
explicit RunControl(RunConfiguration *runConfiguration);
virtual ~RunControl();
virtual void start() = 0;
virtual void stop() = 0;
virtual void stop() = 0; // Warning: assumed to be synchroneous!
virtual bool isRunning() const = 0;
virtual QString displayName() const;