Fix add, delete, reorder not working when changing macro segment type

This commit is contained in:
WarmUpTill 2021-11-15 20:44:17 +01:00 committed by WarmUpTill
parent e452d8cc8c
commit c40a3af8ca
2 changed files with 4 additions and 0 deletions

View File

@ -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<std::mutex> 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 &)));

View File

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