Просмотр исходного кода

UI: If active, prompt user before exiting

Precautionary measure to prevent the user from accidentally clicking the
'exit' buttons
jp9000 10 лет назад
Родитель
Сommit
17c342bf61
2 измененных файлов с 15 добавлено и 0 удалено
  1. 4 0
      obs/data/locale/en-US.ini
  2. 11 0
      obs/window-basic-main.cpp

+ 4 - 0
obs/data/locale/en-US.ini

@@ -34,6 +34,10 @@ NameExists.Text="The name is already in use."
 NoNameEntered.Title="Please enter a valid name"
 NoNameEntered.Text="You cannot use empty names."
 
+# confirm exit dialog box
+ConfirmExit.Title="Exit OBS?"
+ConfirmExit.Text="OBS is currently active.  Are you sure you wish to exit?"
+
 # confirm delete dialog box
 ConfirmRemove.Title="Confirm Remove"
 ConfirmRemove.Text="Are you sure you wish to remove '$1'?"

+ 11 - 0
obs/window-basic-main.cpp

@@ -1543,6 +1543,17 @@ void OBSBasic::ResizePreview(uint32_t cx, uint32_t cy)
 
 void OBSBasic::closeEvent(QCloseEvent *event)
 {
+	if (outputHandler && outputHandler->Active()) {
+		QMessageBox::StandardButton button = QMessageBox::question(
+				this, QTStr("ConfirmExit.Title"),
+				QTStr("ConfirmExit.Text"));
+
+		if (button == QMessageBox::No) {
+			event->ignore();
+			return;
+		}
+	}
+
 	QWidget::closeEvent(event);
 	if (!event->isAccepted())
 		return;