From cb024a069680ade75e9ff54178866d7a58db1a09 Mon Sep 17 00:00:00 2001 From: tytan652 Date: Wed, 3 Apr 2024 15:14:29 +0200 Subject: [PATCH] UI: Use connection with modeSwitch button --- UI/window-basic-main-transitions.cpp | 4 ++-- UI/window-basic-main.cpp | 6 ++++++ UI/window-basic-main.hpp | 9 +++++++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/UI/window-basic-main-transitions.cpp b/UI/window-basic-main-transitions.cpp index edf3baf9f..60d194320 100644 --- a/UI/window-basic-main-transitions.cpp +++ b/UI/window-basic-main-transitions.cpp @@ -976,7 +976,7 @@ int OBSBasic::GetTbarPosition() return tBar->value(); } -void OBSBasic::on_modeSwitch_clicked() +void OBSBasic::TogglePreviewProgramMode() { SetPreviewProgramMode(!IsPreviewProgramMode()); } @@ -1607,8 +1607,8 @@ void OBSBasic::SetPreviewProgramMode(bool enabled) if (IsPreviewProgramMode() == enabled) return; - ui->modeSwitch->setChecked(enabled); os_atomic_set_bool(&previewProgramMode, enabled); + emit PreviewProgramModeChanged(enabled); if (IsPreviewProgramMode()) { if (!previewEnabled) diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp index 9f72c621c..798d71f63 100644 --- a/UI/window-basic-main.cpp +++ b/UI/window-basic-main.cpp @@ -334,6 +334,12 @@ OBSBasic::OBSBasic(QWidget *parent) ui->previewDisabledWidget->setVisible(false); ui->broadcastButton->setVisible(false); + /* Setup Studio Mode button connections */ + connect(this, &OBSBasic::PreviewProgramModeChanged, ui->modeSwitch, + &QAbstractButton::setChecked); + connect(ui->modeSwitch, &QAbstractButton::clicked, this, + &OBSBasic::TogglePreviewProgramMode); + startingDockLayout = saveState(); statsDock = new OBSDock(); diff --git a/UI/window-basic-main.hpp b/UI/window-basic-main.hpp index 64d237446..9bbd58f04 100644 --- a/UI/window-basic-main.hpp +++ b/UI/window-basic-main.hpp @@ -1177,8 +1177,6 @@ private slots: void ShowTransitionProperties(); void HideTransitionProperties(); - void on_modeSwitch_clicked(); - // Source Context Buttons void on_sourcePropertiesButton_clicked(); void on_sourceFiltersButton_clicked(); @@ -1236,6 +1234,9 @@ private slots: void RepairOldExtraDockName(); void RepairCustomExtraDockName(); + /* Studio Mode toggle slot */ + void TogglePreviewProgramMode(); + public slots: void on_actionResetTransform_triggered(); @@ -1249,6 +1250,10 @@ public slots: void UpdateContextBarDeferred(bool force = false); void UpdateContextBarVisibility(); +signals: + /* Studio Mode signal */ + void PreviewProgramModeChanged(bool enabled); + private: std::unique_ptr ui;