From ee68427036acbc6e9836359e76e6f1963b7e451a Mon Sep 17 00:00:00 2001 From: WarmUpTill Date: Sun, 2 Jun 2024 16:47:40 +0200 Subject: [PATCH] Add HighligthMacroSettingsButton() --- lib/advanced-scene-switcher.cpp | 30 ++++++++++++++++++++++++++++++ lib/advanced-scene-switcher.hpp | 2 ++ 2 files changed, 32 insertions(+) diff --git a/lib/advanced-scene-switcher.cpp b/lib/advanced-scene-switcher.cpp index a68ae034..a22ac6e4 100644 --- a/lib/advanced-scene-switcher.cpp +++ b/lib/advanced-scene-switcher.cpp @@ -750,6 +750,36 @@ QWidget *GetSettingsWindow() return SettingsWindowIsOpened() ? AdvSceneSwitcher::window : nullptr; } +void AdvSceneSwitcher::HighligthMacroSettingsButton(bool enable) +{ + static QObject *highlight = nullptr; + if ((highlight && enable) || (!highlight && !enable)) { + return; + } + + if (highlight && !enable) { + highlight->deleteLater(); + highlight = nullptr; + return; + } + + if (!HighlightUIElementsEnabled()) { + return; + } + + highlight = HighlightWidget(ui->macroProperties, Qt::green); +} + +void HighligthMacroSettingsButton(bool enable) +{ + auto window = GetSettingsWindow(); + if (!window) { + return; + } + static_cast(window)->HighligthMacroSettingsButton( + enable); +} + void SetupActionQueues(); extern "C" EXPORT void InitSceneSwitcher(obs_module_t *module, diff --git a/lib/advanced-scene-switcher.hpp b/lib/advanced-scene-switcher.hpp index 3650d0c1..9c6d16d8 100644 --- a/lib/advanced-scene-switcher.hpp +++ b/lib/advanced-scene-switcher.hpp @@ -96,6 +96,7 @@ public: void SetConditionData(Macro &m); void SwapActions(Macro *m, int pos1, int pos2); void SwapConditions(Macro *m, int pos1, int pos2); + void HighligthMacroSettingsButton(bool enable = true); public slots: void on_macroAdd_clicked(); @@ -410,5 +411,6 @@ public slots: void OpenSettingsWindow(); QWidget *GetSettingsWindow(); +void HighligthMacroSettingsButton(bool enable); } // namespace advss