forked from qt-creator/qt-creator
Offer to force quit an application when closing its output window
Reviewed-by: dt Task-number: QTCREATORBUG-1093
This commit is contained in:
@@ -257,9 +257,19 @@ void OutputPane::closeTab(int index)
|
|||||||
RunControl *rc = m_outputWindows.key(ow);
|
RunControl *rc = m_outputWindows.key(ow);
|
||||||
|
|
||||||
if (rc->isRunning()) {
|
if (rc->isRunning()) {
|
||||||
QString msg = tr("The application is still running. Close it first.");
|
QMessageBox messageBox(QMessageBox::Warning,
|
||||||
QMessageBox::critical(0, tr("Unable to close"), msg);
|
tr("Unable to close"),
|
||||||
return;
|
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);
|
m_tabWidget->removeTab(index);
|
||||||
|
@@ -162,7 +162,7 @@ public:
|
|||||||
explicit RunControl(RunConfiguration *runConfiguration);
|
explicit RunControl(RunConfiguration *runConfiguration);
|
||||||
virtual ~RunControl();
|
virtual ~RunControl();
|
||||||
virtual void start() = 0;
|
virtual void start() = 0;
|
||||||
virtual void stop() = 0;
|
virtual void stop() = 0; // Warning: assumed to be synchroneous!
|
||||||
virtual bool isRunning() const = 0;
|
virtual bool isRunning() const = 0;
|
||||||
virtual QString displayName() const;
|
virtual QString displayName() const;
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user