diff --git a/forms/advanced-scene-switcher.ui b/forms/advanced-scene-switcher.ui index 9a1575af..a00e604d 100644 --- a/forms/advanced-scene-switcher.ui +++ b/forms/advanced-scene-switcher.ui @@ -799,7 +799,7 @@ Qt::Vertical - + 0 @@ -941,7 +941,7 @@ - + 0 diff --git a/src/headers/advanced-scene-switcher.hpp b/src/headers/advanced-scene-switcher.hpp index 0696fead..0a499c5b 100644 --- a/src/headers/advanced-scene-switcher.hpp +++ b/src/headers/advanced-scene-switcher.hpp @@ -52,6 +52,7 @@ public: bool addNewMacro(std::string &name, std::string format = ""); Macro *getSelectedMacro(); void SetEditMacro(Macro &m); + void SetMacroEditAreaDisabled(bool); void HighlightAction(int idx); void HighlightCondition(int idx); void PopulateMacroActions(Macro &m, uint32_t afterIdx = 0); diff --git a/src/macro-tab.cpp b/src/macro-tab.cpp index 7835835d..31a25a5a 100644 --- a/src/macro-tab.cpp +++ b/src/macro-tab.cpp @@ -312,13 +312,24 @@ void AdvSceneSwitcher::SetEditMacro(Macro &m) PopulateMacroConditions(m); PopulateMacroActions(m); - ui->macroEdit->setDisabled(false); + SetMacroEditAreaDisabled(false); currentActionIdx = -1; currentConditionIdx = -1; HighlightControls(); } +void AdvSceneSwitcher::SetMacroEditAreaDisabled(bool disable) +{ + ui->macroName->setDisabled(disable); + ui->runMacro->setDisabled(disable); + ui->runMacroInParallel->setDisabled(disable); + ui->runMacroOnChange->setDisabled(disable); + ui->macroActions->setDisabled(disable); + ui->macroConditions->setDisabled(disable); + ui->macroSplitter->setDisabled(disable); +} + void AdvSceneSwitcher::HighlightAction(int idx) { actionsList->Highlight(idx); @@ -348,7 +359,7 @@ void AdvSceneSwitcher::on_macros_currentRowChanged(int idx) } if (idx == -1) { - ui->macroEdit->setDisabled(true); + SetMacroEditAreaDisabled(true); return; } @@ -460,8 +471,7 @@ void AdvSceneSwitcher::setupMacroTab() connect(conditionsList, &QWidget::customContextMenuRequested, this, &AdvSceneSwitcher::ShowMacroConditionsContextMenu); - ui->macroEdit->setDisabled(true); - + SetMacroEditAreaDisabled(true); ui->macroPriorityWarning->setVisible( switcher->functionNamesByPriority[0] != macro_func);