diff options
Diffstat (limited to 'src/kcategorizedview.cpp')
| -rw-r--r-- | src/kcategorizedview.cpp | 14 |
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" |
