From: Rafael Fernández López Date: Sat, 13 Oct 2007 03:12:38 +0000 (+0000) Subject: If the categorizing has been enabled/disabled we need to update the scrollbar in... X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/commitdiff_plain/961c3eef96a6370ca32488b9a9c5d63a7b166a90 If the categorizing has been enabled/disabled we need to update the scrollbar in certain conditions svn path=/trunk/KDE/kdebase/apps/; revision=724701 --- 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" diff --git a/src/kcategorizedview_p.h b/src/kcategorizedview_p.h index bd2233ace..255629073 100644 --- a/src/kcategorizedview_p.h +++ b/src/kcategorizedview_p.h @@ -151,6 +151,7 @@ public: QRect lastSelectionRect; int modelSortRole; int modelSortColumn; + bool modelCategorized; Qt::SortOrder modelSortOrder; // Attributes for speed reasons