From c33fa8bfa2776712e1a56270fdc97a25a4ddeded Mon Sep 17 00:00:00 2001 From: cg2121 Date: Sat, 8 Jul 2023 08:56:04 -0500 Subject: [PATCH] UI: Fix transform shortcuts for audio only sources The edit, copy, paste and reset transform shortcuts would still work for audio only sources, even though the menu was hidden for these. --- UI/window-basic-main.cpp | 15 +++++++++++++++ UI/window-basic-main.hpp | 2 ++ 2 files changed, 17 insertions(+) diff --git a/UI/window-basic-main.cpp b/UI/window-basic-main.cpp index bafd4666c..9807cfd83 100644 --- a/UI/window-basic-main.cpp +++ b/UI/window-basic-main.cpp @@ -3311,9 +3311,24 @@ void OBSBasic::SourceToolBarActionsSetEnabled() RefreshToolBarStyling(ui->sourcesToolbar); } +void OBSBasic::UpdateTransformShortcuts() +{ + OBSSource source = obs_sceneitem_get_source(GetCurrentSceneItem()); + uint32_t flags = obs_source_get_output_flags(source); + bool audioOnly = (flags & OBS_SOURCE_VIDEO) == 0; + + ui->actionEditTransform->setEnabled(!audioOnly); + ui->actionCopyTransform->setEnabled(!audioOnly); + ui->actionPasteTransform->setEnabled(audioOnly ? false + : hasCopiedTransform); + + ui->actionResetTransform->setEnabled(!audioOnly); +} + void OBSBasic::UpdateContextBar(bool force) { SourceToolBarActionsSetEnabled(); + UpdateTransformShortcuts(); if (!ui->contextContainer->isVisible() && !force) return; diff --git a/UI/window-basic-main.hpp b/UI/window-basic-main.hpp index be51ecc28..470196e39 100644 --- a/UI/window-basic-main.hpp +++ b/UI/window-basic-main.hpp @@ -662,6 +662,8 @@ private: bool restartingVCam = false; + void UpdateTransformShortcuts(); + public slots: void DeferSaveBegin(); void DeferSaveEnd();