diff options
Diffstat (limited to 'src/kitemviews/kfileitemlistview.cpp')
| -rw-r--r-- | src/kitemviews/kfileitemlistview.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/kitemviews/kfileitemlistview.cpp b/src/kitemviews/kfileitemlistview.cpp index 3a02d537d..585a972a6 100644 --- a/src/kitemviews/kfileitemlistview.cpp +++ b/src/kitemviews/kfileitemlistview.cpp @@ -354,6 +354,15 @@ void KFileItemListView::slotSortRoleChanged(const QByteArray ¤t, const QBy KStandardItemListView::slotSortRoleChanged(current, previous); } +void KFileItemListView::slotGroupRoleChanged(const QByteArray ¤t, const QByteArray &previous) +{ + if (!visibleRoles().contains(current)) { + applyRolesToModel(); + } + + KItemListView::slotGroupRoleChanged(current, previous); +} + void KFileItemListView::triggerVisibleIndexRangeUpdate() { if (!model()) { @@ -441,6 +450,11 @@ void KFileItemListView::applyRolesToModel() // Assure that the role that is used for sorting will be determined roles.insert(fileItemModel->sortRole()); + const QByteArray rawGroupRole = fileItemModel->rawGroupRole(); + if (!rawGroupRole.isEmpty()) { + roles.insert(rawGroupRole); + } + fileItemModel->setRoles(roles); m_modelRolesUpdater->setRoles(roles); } |
