┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/kcategorizedview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/kcategorizedview.cpp')
-rw-r--r--src/kcategorizedview.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/kcategorizedview.cpp b/src/kcategorizedview.cpp
index d88b17076..20f9675f6 100644
--- a/src/kcategorizedview.cpp
+++ b/src/kcategorizedview.cpp
@@ -497,6 +497,7 @@ void KCategorizedView::setModel(QAbstractItemModel *model)
{
d->modelSortRole = d->proxyModel->sortRole();
d->modelSortColumn = d->proxyModel->sortColumn();
+ d->modelCategorized = true;
d->modelSortOrder = d->proxyModel->sortOrder();
QObject::connect(d->proxyModel,
@@ -516,6 +517,10 @@ void KCategorizedView::setModel(QAbstractItemModel *model)
rowsInsertedArtifficial(QModelIndex(), 0, d->proxyModel->rowCount() - 1);
}
}
+ else
+ {
+ d->modelCategorized = false;
+ }
}
QRect KCategorizedView::visualRect(const QModelIndex &index) const
@@ -1334,15 +1339,22 @@ void KCategorizedView::slotLayoutChanged()
d->categoryDrawer && d->proxyModel->isCategorizedModel() &&
((d->modelSortRole != d->proxyModel->sortRole()) ||
(d->modelSortColumn != d->proxyModel->sortColumn()) ||
- (d->modelSortOrder != d->proxyModel->sortOrder())))
+ (d->modelSortOrder != d->proxyModel->sortOrder()) ||
+ (d->modelCategorized != d->proxyModel->isCategorizedModel())))
{
// Force the view to update all elements
rowsInsertedArtifficial(QModelIndex(), 0, d->proxyModel->rowCount() - 1);
d->modelSortRole = d->proxyModel->sortRole();
d->modelSortColumn = d->proxyModel->sortColumn();
+ d->modelCategorized = d->proxyModel->isCategorizedModel();
d->modelSortOrder = d->proxyModel->sortOrder();
}
+ else if ((viewMode() == KCategorizedView::IconMode) && d->proxyModel &&
+ d->categoryDrawer && d->proxyModel->isCategorizedModel())
+ {
+ d->updateScrollbars();
+ }
}
#include "kcategorizedview.moc"