From ef41dc53e8bd510b9a359358fa8953160e4e4f0d Mon Sep 17 00:00:00 2001 From: Cephas Reis Date: Thu, 19 Apr 2018 01:10:10 -0500 Subject: [PATCH] UI: Change remux dialog to be non-modal Closes obsproject/obs-studio#1266 --- UI/window-basic-main.cpp | 14 ++++++++++++-- UI/window-basic-main.hpp | 1 + 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp index 7fb3426ac..99cfc9b60 100644 --- a/UI/window-basic-main.cpp +++ b/UI/window-basic-main.cpp @@ -3245,6 +3245,7 @@ void OBSBasic::CloseDialogs() } if (!stats.isNull()) stats->close(); //call close to save Stats geometry + if (!remux.isNull()) remux->close(); } void OBSBasic::EnumDialogs() @@ -3384,12 +3385,21 @@ void OBSBasic::on_actionShow_Recordings_triggered() void OBSBasic::on_actionRemux_triggered() { + if (!remux.isNull()) { + remux->show(); + remux->raise(); + return; + } + const char *mode = config_get_string(basicConfig, "Output", "Mode"); const char *path = strcmp(mode, "Advanced") ? config_get_string(basicConfig, "SimpleOutput", "FilePath") : config_get_string(basicConfig, "AdvOut", "RecFilePath"); - OBSRemux remux(path, this); - remux.exec(); + + OBSRemux *remuxDlg; + remuxDlg = new OBSRemux(path, this); + remuxDlg->show(); + remux = remuxDlg; } void OBSBasic::on_action_Settings_triggered() diff --git a/UI/window-basic-main.hpp b/UI/window-basic-main.hpp index 0221b29d8..8b7a405fb 100644 --- a/UI/window-basic-main.hpp +++ b/UI/window-basic-main.hpp @@ -170,6 +170,7 @@ private: QList> windowProjectors; QPointer stats; + QPointer remux; QPointer startStreamMenu;