]> cloud.milkyroute.net Git - dolphin.git/commitdiff
If the categorizing has been enabled/disabled we need to update the scrollbar in...
authorRafael Fernández López <ereslibre@kde.org>
Sat, 13 Oct 2007 03:12:38 +0000 (03:12 +0000)
committerRafael Fernández López <ereslibre@kde.org>
Sat, 13 Oct 2007 03:12:38 +0000 (03:12 +0000)
svn path=/trunk/KDE/kdebase/apps/; revision=724701

src/kcategorizedview.cpp
src/kcategorizedview_p.h

index d88b170761e974b67646b44331f295c3bd4be18e..20f9675f6892bce38d6a0d6b1c64b58cc3fd6e6e 100644 (file)
@@ -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"
index bd2233acea7ee0e78e5555376fdddbc4e825177a..255629073484969c9eb561d5a60382b5eb33e537 100644 (file)
@@ -151,6 +151,7 @@ public:
     QRect lastSelectionRect;
     int modelSortRole;
     int modelSortColumn;
+    bool modelCategorized;
     Qt::SortOrder modelSortOrder;
 
     // Attributes for speed reasons