From 90ccae6f4c2bfbbda267544092cc2c35c917105d Mon Sep 17 00:00:00 2001 From: fryshorts Date: Fri, 13 Feb 2015 13:06:55 +0100 Subject: [PATCH] UI: Ensure only one advanced audio settings window Add a check to prevent that the advanced audio settings dialog is only once. When the dialog is already present raise it to the top instead. --- obs/window-basic-main.cpp | 13 +++++++++++++ obs/window-basic-main.hpp | 1 + 2 files changed, 14 insertions(+) diff --git a/obs/window-basic-main.cpp b/obs/window-basic-main.cpp index 9aa3ba45b..085a1d2a5 100644 --- a/obs/window-basic-main.cpp +++ b/obs/window-basic-main.cpp @@ -1651,9 +1651,17 @@ void OBSBasic::on_action_Settings_triggered() void OBSBasic::on_actionAdvAudioProperties_triggered() { + if (advAudioWindow != nullptr) { + advAudioWindow->raise(); + return; + } + advAudioWindow = new OBSBasicAdvAudio(this); advAudioWindow->show(); advAudioWindow->setAttribute(Qt::WA_DeleteOnClose, true); + + connect(advAudioWindow, SIGNAL(destroyed()), + this, SLOT(on_advAudioProps_destroyed())); } void OBSBasic::on_advAudioProps_clicked() @@ -1661,6 +1669,11 @@ void OBSBasic::on_advAudioProps_clicked() on_actionAdvAudioProperties_triggered(); } +void OBSBasic::on_advAudioProps_destroyed() +{ + advAudioWindow = nullptr; +} + void OBSBasic::on_scenes_currentItemChanged(QListWidgetItem *current, QListWidgetItem *prev) { diff --git a/obs/window-basic-main.hpp b/obs/window-basic-main.hpp index 68524bd17..b74c4e449 100644 --- a/obs/window-basic-main.hpp +++ b/obs/window-basic-main.hpp @@ -234,6 +234,7 @@ private slots: void on_action_Settings_triggered(); void on_actionAdvAudioProperties_triggered(); void on_advAudioProps_clicked(); + void on_advAudioProps_destroyed(); void on_actionShowLogs_triggered(); void on_actionUploadCurrentLog_triggered(); void on_actionUploadLastLog_triggered();