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);