From 8f043b2958477d3fe2ef094b7e42f792f4cf0b02 Mon Sep 17 00:00:00 2001 From: Akseli Lahtinen Date: Fri, 15 Dec 2023 13:07:12 +0000 Subject: Resort directory size count after refreshing After refreshing the view when size count is selected as the sortRole, count is 0 at first. When the actual count is loaded, the sorting is done according to the count being 0. This can break the sort order and cause view and model to be out of sync. Making sure we always resort all items when the directory size/item count is changed fixes this BUG:473999 --- src/kitemviews/kfileitemmodelrolesupdater.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/kitemviews/kfileitemmodelrolesupdater.cpp') diff --git a/src/kitemviews/kfileitemmodelrolesupdater.cpp b/src/kitemviews/kfileitemmodelrolesupdater.cpp index e2d32265e..070b95865 100644 --- a/src/kitemviews/kfileitemmodelrolesupdater.cpp +++ b/src/kitemviews/kfileitemmodelrolesupdater.cpp @@ -1346,6 +1346,9 @@ void KFileItemModelRolesUpdater::startDirectorySizeCounting(const KFileItem &ite disconnect(m_model, &KFileItemModel::itemsChanged, this, &KFileItemModelRolesUpdater::slotItemsChanged); m_model->setData(index, data); connect(m_model, &KFileItemModel::itemsChanged, this, &KFileItemModelRolesUpdater::slotItemsChanged); + if (m_model->sortRole() == "size") { + m_model->scheduleResortAllItems(); + } } }); return; -- cgit v1.3