1
0
mirror of https://invent.kde.org/system/dolphin synced 2024-07-07 10:51:45 +00:00

KItemListView: Fix inconsistencies in requiredWidth calculation

Commits d3839617 and 3bf471e0 introduced a few changes to requiredWidth calculation.
This commit makes the calculation of requiredWidth consistent across KItemListView.
This commit is contained in:
Amol Godbole 2023-09-03 12:15:31 -05:00
parent 6820273db0
commit 385146a1e8

View 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