From 54ab27bda62f63f2b9ceee0275505d959bc392ae Mon Sep 17 00:00:00 2001 From: vokama Date: Tue, 29 May 2018 04:24:30 +0300 Subject: [PATCH] UI: Update hotkey label on quick transition rename --- UI/window-basic-main-transitions.cpp | 14 ++++++++++++++ UI/window-basic-main.hpp | 13 ++++++++++--- 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/UI/window-basic-main-transitions.cpp b/UI/window-basic-main-transitions.cpp index a1cd8267f..cf98ac3c2 100644 --- a/UI/window-basic-main-transitions.cpp +++ b/UI/window-basic-main-transitions.cpp @@ -26,6 +26,8 @@ #include "menu-button.hpp" #include "qt-wrappers.hpp" +#include "obs-hotkey.h" + using namespace std; Q_DECLARE_METATYPE(OBSScene); @@ -98,6 +100,18 @@ void OBSBasic::AddQuickTransitionHotkey(QuickTransition *qt) (void*)(uintptr_t)qt->id); } +void QuickTransition::SourceRenamed(void *param, calldata_t *data) +{ + QuickTransition *qt = reinterpret_cast(param); + + QString hotkeyName = QTStr("QuickTransitions.HotkeyName") + .arg(MakeQuickTransitionText(qt)); + + obs_hotkey_set_description(qt->hotkey, QT_TO_UTF8(hotkeyName)); + + UNUSED_PARAMETER(data); +} + void OBSBasic::TriggerQuickTransition(int id) { QuickTransition *qt = GetQuickTransition(id); diff --git a/UI/window-basic-main.hpp b/UI/window-basic-main.hpp index 6abab8ae5..e183e2eff 100644 --- a/UI/window-basic-main.hpp +++ b/UI/window-basic-main.hpp @@ -84,10 +84,17 @@ struct QuickTransition { inline QuickTransition() {} inline QuickTransition(OBSSource source_, int duration_, int id_) - : source (source_), - duration (duration_), - id (id_) + : source (source_), + duration (duration_), + id (id_), + renamedSignal (std::make_shared( + obs_source_get_signal_handler(source), + "rename", SourceRenamed, this)) {} + +private: + static void SourceRenamed(void *param, calldata_t *data); + std::shared_ptr renamedSignal; }; class OBSBasic : public OBSMainWindow {