From c40a3af8ca0076dc85e8ced3a67575732ccd62cf Mon Sep 17 00:00:00 2001 From: WarmUpTill Date: Mon, 15 Nov 2021 20:44:17 +0100 Subject: [PATCH] Fix add, delete, reorder not working when changing macro segment type --- src/macro-action-edit.cpp | 2 ++ src/macro-condition-edit.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/macro-action-edit.cpp b/src/macro-action-edit.cpp index 2d80baa6..23edee2e 100644 --- a/src/macro-action-edit.cpp +++ b/src/macro-action-edit.cpp @@ -92,12 +92,14 @@ void MacroActionEdit::ActionSelectionChanged(const QString &text) return; } + auto idx = _entryData->get()->GetIndex(); std::string id = MacroActionFactory::GetIdByName(text); HeaderInfoChanged(""); std::lock_guard lock(switcher->m); _entryData->reset(); *_entryData = MacroActionFactory::Create(id); + (*_entryData)->SetIndex(idx); auto widget = MacroActionFactory::CreateWidget(id, this, *_entryData); QWidget::connect(widget, SIGNAL(HeaderInfoChanged(const QString &)), this, SLOT(HeaderInfoChanged(const QString &))); diff --git a/src/macro-condition-edit.cpp b/src/macro-condition-edit.cpp index 631b4994..d1a37de9 100644 --- a/src/macro-condition-edit.cpp +++ b/src/macro-condition-edit.cpp @@ -188,6 +188,7 @@ void MacroConditionEdit::ConditionSelectionChanged(const QString &text) return; } + auto idx = _entryData->get()->GetIndex(); std::string id = MacroConditionFactory::GetIdByName(text); auto temp = DurationConstraint(); @@ -198,6 +199,7 @@ void MacroConditionEdit::ConditionSelectionChanged(const QString &text) auto logic = (*_entryData)->GetLogicType(); _entryData->reset(); *_entryData = MacroConditionFactory::Create(id); + (*_entryData)->SetIndex(idx); (*_entryData)->SetLogicType(logic); auto widget = MacroConditionFactory::CreateWidget(id, this, *_entryData);