From aef080984ea53bafb66f18a41b55557e04243b58 Mon Sep 17 00:00:00 2001 From: WarmUpTill Date: Sat, 14 Sep 2024 23:36:33 +0200 Subject: [PATCH] Add new macros after current selection --- lib/macro/macro-tab.cpp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/lib/macro/macro-tab.cpp b/lib/macro/macro-tab.cpp index a32a77ae..a0d2b2cb 100644 --- a/lib/macro/macro-tab.cpp +++ b/lib/macro/macro-tab.cpp @@ -100,11 +100,33 @@ void AdvSceneSwitcher::on_macroAdd_clicked() return; } - ui->macros->Add(newMacro); if (addPulse) { addPulse->deleteLater(); addPulse = nullptr; } + + auto selectedMacro = GetSelectedMacro(); + if (!selectedMacro) { + ui->macros->Add(newMacro); + emit MacroAdded(QString::fromStdString(name)); + return; + } + + if (selectedMacro->IsGroup()) { + ui->macros->Add(newMacro, selectedMacro); + emit MacroAdded(QString::fromStdString(name)); + return; + } + + auto selectedMacroGroup = selectedMacro->Parent(); + if (!selectedMacroGroup) { + ui->macros->Add(newMacro, selectedMacro); + emit MacroAdded(QString::fromStdString(name)); + return; + } + + Macro::PrepareMoveToGroup(selectedMacroGroup, newMacro); + ui->macros->Add(newMacro, selectedMacro); emit MacroAdded(QString::fromStdString(name)); }