diff --git a/data/locale/en-US.ini b/data/locale/en-US.ini index ff3db869..53b41eb8 100644 --- a/data/locale/en-US.ini +++ b/data/locale/en-US.ini @@ -66,6 +66,7 @@ AdvSceneSwitcher.macroTab.edit.condition="Condition type:" AdvSceneSwitcher.macroTab.edit.action="Action type:" AdvSceneSwitcher.macroTab.add="Add new macro" AdvSceneSwitcher.macroTab.name="Name:" +AdvSceneSwitcher.macroTab.run="Run macro" AdvSceneSwitcher.macroTab.defaultname="Macro %1" AdvSceneSwitcher.macroTab.exists="Macro name exists already" AdvSceneSwitcher.macroTab.copy="Create copy" diff --git a/forms/advanced-scene-switcher.ui b/forms/advanced-scene-switcher.ui index fdd29c14..84515f79 100644 --- a/forms/advanced-scene-switcher.ui +++ b/forms/advanced-scene-switcher.ui @@ -722,7 +722,7 @@ - + @@ -733,6 +733,13 @@ + + + + AdvSceneSwitcher.macroTab.run + + + @@ -763,7 +770,7 @@ 0 0 767 - 220 + 218 @@ -862,7 +869,7 @@ 0 0 767 - 219 + 218 diff --git a/src/headers/advanced-scene-switcher.hpp b/src/headers/advanced-scene-switcher.hpp index 9d26b887..54e332ad 100644 --- a/src/headers/advanced-scene-switcher.hpp +++ b/src/headers/advanced-scene-switcher.hpp @@ -115,6 +115,7 @@ public slots: void on_macroUp_clicked(); void on_macroDown_clicked(); void on_macroName_editingFinished(); + void on_runMacro_clicked(); void on_macros_currentRowChanged(int idx); void on_macros_itemChanged(QListWidgetItem *); void on_conditionAdd_clicked(); diff --git a/src/macro-tab.cpp b/src/macro-tab.cpp index f69d534f..6ef2b333 100644 --- a/src/macro-tab.cpp +++ b/src/macro-tab.cpp @@ -173,6 +173,16 @@ void AdvSceneSwitcher::on_macroName_editingFinished() emit MacroRenamed(oldName, newName); } +void AdvSceneSwitcher::on_runMacro_clicked() +{ + Macro *macro = getSelectedMacro(); + if (!macro) { + return; + } + + macro->PerformAction(); +} + void AdvSceneSwitcher::PopulateMacroActions(Macro &m, uint32_t afterIdx) { auto &actions = m.Actions();