From e2e751aa55747cf911c46f5f66041a1c1f44ac31 Mon Sep 17 00:00:00 2001 From: Matt Gajownik Date: Sun, 23 Jan 2022 12:27:18 +1100 Subject: [PATCH] UI: Better Hide OBS Window description, add first time dialog & tooltip --- UI/data/locale/en-US.ini | 4 +++- UI/forms/OBSBasicSettings.ui | 3 +++ UI/window-basic-settings.cpp | 21 +++++++++++++++++++++ UI/window-basic-settings.hpp | 1 + 4 files changed, 28 insertions(+), 1 deletion(-) diff --git a/UI/data/locale/en-US.ini b/UI/data/locale/en-US.ini index 17dc8372f..3119bd8b7 100644 --- a/UI/data/locale/en-US.ini +++ b/UI/data/locale/en-US.ini @@ -778,7 +778,9 @@ Basic.Settings.General.Theme="Theme" Basic.Settings.General.Language="Language" Basic.Settings.General.EnableAutoUpdates="Automatically check for updates on startup" Basic.Settings.General.OpenStatsOnStartup="Open stats dialog on startup" -Basic.Settings.General.HideOBSWindowsFromCapture="Hide OBS windows from display capture" +Basic.Settings.General.HideOBSWindowsFromCapture="Hide OBS windows from screen capture" +Basic.Settings.General.HideOBSWindowsFromCapture.Tooltip="This setting will hide all non-projector OBS Studio windows from being captured by OBS and affects \nother applications, such as conferencing, screen sharing, remote support, screenshots, and other capture software." +Basic.Settings.General.HideOBSWindowsFromCapture.Message="Enabling this option hides all non-projector OBS Studio windows from being captured by OBS and affects other applications, such as conferencing, screen sharing, remote support, screenshots, and other capture software." Basic.Settings.General.WarnBeforeStartingStream="Show confirmation dialog when starting streams" Basic.Settings.General.WarnBeforeStoppingStream="Show confirmation dialog when stopping streams" Basic.Settings.General.WarnBeforeStoppingRecord="Show confirmation dialog when stopping recording" diff --git a/UI/forms/OBSBasicSettings.ui b/UI/forms/OBSBasicSettings.ui index e180119ae..87da1c95b 100644 --- a/UI/forms/OBSBasicSettings.ui +++ b/UI/forms/OBSBasicSettings.ui @@ -250,6 +250,9 @@ Basic.Settings.General.HideOBSWindowsFromCapture + + Basic.Settings.General.HideOBSWindowsFromCapture.Tooltip + diff --git a/UI/window-basic-settings.cpp b/UI/window-basic-settings.cpp index 2121c98bb..02eb3ca07 100644 --- a/UI/window-basic-settings.cpp +++ b/UI/window-basic-settings.cpp @@ -1241,6 +1241,9 @@ void OBSBasicSettings::LoadGeneralSettings() config_get_bool(GetGlobalConfig(), "BasicWindow", "HideOBSWindowsFromCapture"); ui->hideOBSFromCapture->setChecked(hideWindowFromCapture); + + connect(ui->hideOBSFromCapture, SIGNAL(stateChanged(int)), this, + SLOT(HideOBSWindowWarning(int))); } #endif @@ -4209,6 +4212,24 @@ void OBSBasicSettings::SpeakerLayoutChanged(int idx) } } +void OBSBasicSettings::HideOBSWindowWarning(int state) +{ + if (loading || state == Qt::Unchecked) + return; + + if (config_get_bool(GetGlobalConfig(), "General", + "WarnedAboutHideOBSFromCapture")) + return; + + OBSMessageBox::information( + this, QTStr("Basic.Settings.General.HideOBSWindowsFromCapture"), + QTStr("Basic.Settings.General.HideOBSWindowsFromCapture.Message")); + + config_set_bool(GetGlobalConfig(), "General", + "WarnedAboutHideOBSFromCapture", true); + config_save_safe(GetGlobalConfig(), "tmp", nullptr); +} + /* * resets current bitrate if too large and restricts the number of bitrates * displayed when multichannel OFF diff --git a/UI/window-basic-settings.hpp b/UI/window-basic-settings.hpp index feed0c429..4c66bc210 100644 --- a/UI/window-basic-settings.hpp +++ b/UI/window-basic-settings.hpp @@ -368,6 +368,7 @@ private slots: void on_disableOSXVSync_clicked(); void GeneralChanged(); + void HideOBSWindowWarning(int state); void AudioChanged(); void AudioChangedRestart(); void ReloadAudioSources();