]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Respect grid sizes.
authorRafael Fernández López <ereslibre@kde.org>
Sat, 14 Jul 2007 03:04:24 +0000 (03:04 +0000)
committerRafael Fernández López <ereslibre@kde.org>
Sat, 14 Jul 2007 03:04:24 +0000 (03:04 +0000)
CCMAIL: peter.penz@gmx.at

svn path=/trunk/KDE/kdebase/apps/; revision=687616

src/kcategorizedview.cpp

index 622fe7b604dabdd4f44c6610999ed4c2d59d0809..5a395b767d4d1bd6b3869300c27e2f0caa783914 100644 (file)
@@ -151,8 +151,20 @@ QRect KCategorizedView::Private::visualRectInViewport(const QModelIndex &index)
 
     int viewportWidth = listView->viewport()->width() - listView->spacing();
 
-    int itemHeight = biggestItemSize.height();
-    int itemWidth = biggestItemSize.width();
+    int itemHeight;
+    int itemWidth;
+
+    if (listView->gridSize().isEmpty())
+    {
+        itemHeight = biggestItemSize.height();
+        itemWidth = biggestItemSize.width();
+    }
+    else
+    {
+        itemHeight = listView->gridSize().height();
+        itemWidth = listView->gridSize().width();
+    }
+
     int itemWidthPlusSeparation = listView->spacing() + itemWidth;
     int elementsPerRow = viewportWidth / itemWidthPlusSeparation;
     if (!elementsPerRow)
@@ -206,8 +218,20 @@ QRect KCategorizedView::Private::visualCategoryRectInViewport(const QString &cat
 
     int viewportWidth = listView->viewport()->width() - listView->spacing();
 
-    int itemHeight = biggestItemSize.height();
-    int itemWidth = biggestItemSize.width();
+    int itemHeight;
+    int itemWidth;
+
+    if (listView->gridSize().isEmpty())
+    {
+        itemHeight = biggestItemSize.height();
+        itemWidth = biggestItemSize.width();
+    }
+    else
+    {
+        itemHeight = listView->gridSize().height();
+        itemWidth = listView->gridSize().width();
+    }
+
     int itemWidthPlusSeparation = listView->spacing() + itemWidth;
     int elementsPerRow = viewportWidth / itemWidthPlusSeparation;
 
@@ -937,7 +961,17 @@ QModelIndex KCategorizedView::moveCursor(CursorAction cursorAction,
     const QModelIndex current = selectionModel()->currentIndex();
 
     int viewportWidth = viewport()->width() - spacing();
-    int itemWidth = d->biggestItemSize.width();
+    int itemWidth;
+
+    if (gridSize().isEmpty())
+    {
+        itemWidth = d->biggestItemSize.width();
+    }
+    else
+    {
+        itemWidth = gridSize().width();
+    }
+
     int itemWidthPlusSeparation = spacing() + itemWidth;
     int elementsPerRow = viewportWidth / itemWidthPlusSeparation;