]> cloud.milkyroute.net Git - dolphin.git/commitdiff
KItemListView: Fix inconsistencies in requiredWidth calculation
authorAmol Godbole <amolagodbole@gmail.com>
Sun, 3 Sep 2023 17:15:31 +0000 (12:15 -0500)
committerAmol Godbole <amolagodbole@gmail.com>
Tue, 5 Sep 2023 04:58:05 +0000 (04:58 +0000)
Commits d3839617 and 3bf471e0 introduced a few changes to requiredWidth calculation.
This commit makes the calculation of requiredWidth consistent across KItemListView.

src/kitemviews/kitemlistview.cpp

index 5363fa253e9e74d186676a9c3d4030412c1235bc..38d21ff5e73b23df49c732027680a9b5cc4e83af 100644 (file)
@@ -361,7 +361,7 @@ void KItemListView::setGeometry(const QRectF &rect)
         if (m_headerWidget->automaticColumnResizing()) {
             applyAutomaticColumnWidths();
         } else {
-            const qreal requiredWidth = columnWidthsSum();
+            const qreal requiredWidth = columnWidthsSum() + 2 * m_headerWidget->sidePadding();
             const QSizeF dynamicItemSize(qMax(newSize.width(), requiredWidth), m_itemSize.height());
             m_layouter->setItemSize(dynamicItemSize);
         }
@@ -2280,7 +2280,7 @@ QHash<QByteArray, qreal> KItemListView::preferredColumnWidths(const KItemRangeLi
 void KItemListView::applyColumnWidthsFromHeader()
 {
     // Apply the new size to the layouter
-    const qreal requiredWidth = columnWidthsSum() + m_headerWidget->sidePadding();
+    const qreal requiredWidth = columnWidthsSum() + 2 * m_headerWidget->sidePadding();
     const QSizeF dynamicItemSize(qMax(size().width(), requiredWidth), m_itemSize.height());
     m_layouter->setItemSize(dynamicItemSize);
 
@@ -2375,9 +2375,9 @@ void KItemListView::applyAutomaticColumnWidths()
     qreal firstColumnWidth = m_headerWidget->columnWidth(firstRole);
     QSizeF dynamicItemSize = m_itemSize;
 
-    qreal requiredWidth = columnWidthsSum() + m_headerWidget->sidePadding()
-        + m_headerWidget->sidePadding(); // Adding the padding a second time so we have the same padding symmetrically on both sides of the view.
-    // This improves UX, looks better and increases the chances of users figuring out that the padding area can be used for deselecting and dropping files.
+    qreal requiredWidth = columnWidthsSum() + 2 * m_headerWidget->sidePadding(); // Adding the padding a second time so we have the same padding
+    // symmetrically on both sides of the view. This improves UX, looks better and increases the chances of users figuring out that the padding
+    // area can be used for deselecting and dropping files.
     const qreal availableWidth = size().width();
     if (requiredWidth < availableWidth) {
         // Stretch the first column to use the whole remaining width