Fix macro list displaying wrong contents after deleting group

This was only a visual issue - the correct macros were deleted in the
backend
This commit is contained in:
WarmUpTill 2023-02-08 10:30:15 +01:00 committed by WarmUpTill
parent 72d5255c9e
commit 3220809c04

View File

@ -375,24 +375,24 @@ void MacroTreeModel::Add(std::shared_ptr<Macro> item)
void MacroTreeModel::Remove(std::shared_ptr<Macro> item)
{
auto startIdx = GetItemModelIndex(item);
if (startIdx == -1) {
auto uiStartIdx = GetItemModelIndex(item);
if (uiStartIdx == -1) {
return;
}
auto macroStartIdx = ModelIndexToMacroIndex(startIdx, _macros);
auto macroStartIdx = ModelIndexToMacroIndex(uiStartIdx, _macros);
auto endIdx = startIdx;
auto uiEndIdx = uiStartIdx;
auto macroEndIdx = macroStartIdx;
bool isGroup = item->IsGroup();
if (isGroup) {
macroEndIdx += item->GroupSize();
if (!item->IsCollapsed()) {
endIdx = item->GroupSize();
uiEndIdx += item->GroupSize();
}
}
beginRemoveRows(QModelIndex(), startIdx, endIdx);
beginRemoveRows(QModelIndex(), uiStartIdx, uiEndIdx);
_macros.erase(std::next(_macros.begin(), macroStartIdx),
std::next(_macros.begin(), macroEndIdx + 1));
endRemoveRows();