only emit changes when the count changes

Signed-off-by: Trial97 <alexandru.tripon97@gmail.com>
This commit is contained in:
Trial97 2025-11-21 22:23:30 +02:00
parent 85071e8919
commit 3b3e246501
No known key found for this signature in database
GPG key ID: 55EF5DA53DB36318

View file

@ -310,10 +310,12 @@ void ModFolderModel::onParseFinished()
}
for (auto mod : mods) {
auto id = mod->mod_id();
mod->setRequiredByCount(m_requiredBy[id].count());
mod->setRequiresCount(m_requires[id].count());
int row = m_resources_index[mod->internal_id()];
emit dataChanged(index(row), index(row, columnCount(QModelIndex()) - 1));
if (mod->requiredByCount() != m_requiredBy[id].count() || mod->requiresCount() != m_requires[id].count()) {
mod->setRequiredByCount(m_requiredBy[id].count());
mod->setRequiresCount(m_requires[id].count());
int row = m_resources_index[mod->internal_id()];
emit dataChanged(index(row), index(row, columnCount(QModelIndex()) - 1));
}
}
}
@ -506,10 +508,12 @@ bool ModFolderModel::deleteResources(const QModelIndexList& indexes)
auto id = mod->mod_id();
deleteInvalid(m_requiredBy[id]);
deleteInvalid(m_requires[id]);
mod->setRequiredByCount(m_requiredBy[id].count());
mod->setRequiresCount(m_requires[id].count());
int row = m_resources_index[mod->internal_id()];
emit dataChanged(index(row, RequiresColumn), index(row, RequiredByColumn));
if (mod->requiredByCount() != m_requiredBy[id].count() || mod->requiresCount() != m_requires[id].count()) {
mod->setRequiredByCount(m_requiredBy[id].count());
mod->setRequiresCount(m_requires[id].count());
int row = m_resources_index[mod->internal_id()];
emit dataChanged(index(row, RequiresColumn), index(row, RequiredByColumn));
}
}
return rsp;
}