]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Instead of increasing the grid spacing, increase the item size, so that there is...
authorPeter Penz <peter.penz19@gmail.com>
Fri, 2 Jan 2009 09:04:16 +0000 (09:04 +0000)
committerPeter Penz <peter.penz19@gmail.com>
Fri, 2 Jan 2009 09:04:16 +0000 (09:04 +0000)
svn path=/trunk/KDE/kdebase/apps/; revision=904408

src/dolphiniconsview.cpp

index 6af32da9b1d30961fc14196d52ab435fdf469eda..4b886f2222b540f277f8545344b69ca91815fb2e 100644 (file)
@@ -402,41 +402,38 @@ void DolphinIconsView::updateGridSize(bool showPreview, int additionalInfoCount)
     Q_ASSERT(additionalInfoCount >= 0);
     itemHeight += additionalInfoCount * m_font.pointSize() * 2;
 
-    const bool rowArrangement = (settings->arrangement() == QListView::TopToBottom);
-    if (rowArrangement) {
-        // The decoration width indirectly defines the maximum
-        // width for the text wrapping. To use the maximum item width
-        // for text wrapping, it is used as decoration width.
-        m_decorationSize = QSize(itemWidth, size);
-        setIconSize(QSize(itemWidth, size));
-    } else {
-        m_decorationSize = QSize(size, size);
-        setIconSize(QSize(size, size));
-    }
-
-    m_itemSize = QSize(itemWidth, itemHeight);
-
-    // optimize the spacing of the grid in a way to prevent large gaps on the
+    // optimize the item size of the grid in a way to prevent large gaps on the
     // right border (= row arrangement) or the bottom border (= column arrangement)
     const int spacing = settings->gridSpacing();
-    int gridWidth = itemWidth + spacing * 2;
-    int gridHeight = itemHeight + spacing;
-    if (rowArrangement) {
+    if (settings->arrangement() == QListView::TopToBottom) {
         const int contentWidth = viewport()->width() - 1 -
                                  style()->pixelMetric(QStyle::PM_ScrollBarExtent, 0, horizontalScrollBar());
+        const int gridWidth = itemWidth + spacing * 2;
         const int horizItemCount = contentWidth / gridWidth;
         if (horizItemCount > 0) {
-            gridWidth += (contentWidth - horizItemCount * gridWidth) / horizItemCount;
+            itemWidth += (contentWidth - horizItemCount * gridWidth) / horizItemCount;
         }
+
+        // The decoration width indirectly defines the maximum
+        // width for the text wrapping. To use the maximum item width
+        // for text wrapping, it is used as decoration width.
+        m_decorationSize = QSize(itemWidth, size);
+        setIconSize(QSize(itemWidth, size));
     } else {
         const int contentHeight = viewport()->height() - 1 -
                                   style()->pixelMetric(QStyle::PM_ScrollBarExtent, 0, verticalScrollBar());
+        const int gridHeight = itemHeight + spacing;
         const int vertItemCount = contentHeight / gridHeight;
         if (vertItemCount > 0) {
-            gridHeight += (contentHeight - vertItemCount * gridHeight) / vertItemCount;
+            itemHeight += (contentHeight - vertItemCount * gridHeight) / vertItemCount;
         }
+
+        m_decorationSize = QSize(size, size);
+        setIconSize(QSize(size, size));
     }
-    setGridSize(QSize(gridWidth, gridHeight));
+
+    m_itemSize = QSize(itemWidth, itemHeight);
+    setGridSize(QSize(itemWidth + spacing * 2, itemHeight + spacing));
 
     KFileItemDelegate* delegate = dynamic_cast<KFileItemDelegate*>(itemDelegate());
     if (delegate != 0) {