mirror of
https://invent.kde.org/system/dolphin
synced 2024-07-15 18:01:11 +00:00
KItemListView: Fix inconsistencies in requiredWidth calculation
Commitsd3839617
and3bf471e0
introduced a few changes to requiredWidth calculation. This commit makes the calculation of requiredWidth consistent across KItemListView.
This commit is contained in:
parent
6820273db0
commit
385146a1e8
|
@ -361,7 +361,7 @@ void KItemListView::setGeometry(const QRectF &rect)
|
||||||
if (m_headerWidget->automaticColumnResizing()) {
|
if (m_headerWidget->automaticColumnResizing()) {
|
||||||
applyAutomaticColumnWidths();
|
applyAutomaticColumnWidths();
|
||||||
} else {
|
} else {
|
||||||
const qreal requiredWidth = columnWidthsSum();
|
const qreal requiredWidth = columnWidthsSum() + 2 * m_headerWidget->sidePadding();
|
||||||
const QSizeF dynamicItemSize(qMax(newSize.width(), requiredWidth), m_itemSize.height());
|
const QSizeF dynamicItemSize(qMax(newSize.width(), requiredWidth), m_itemSize.height());
|
||||||
m_layouter->setItemSize(dynamicItemSize);
|
m_layouter->setItemSize(dynamicItemSize);
|
||||||
}
|
}
|
||||||
|
@ -2280,7 +2280,7 @@ QHash<QByteArray, qreal> KItemListView::preferredColumnWidths(const KItemRangeLi
|
||||||
void KItemListView::applyColumnWidthsFromHeader()
|
void KItemListView::applyColumnWidthsFromHeader()
|
||||||
{
|
{
|
||||||
// Apply the new size to the layouter
|
// 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());
|
const QSizeF dynamicItemSize(qMax(size().width(), requiredWidth), m_itemSize.height());
|
||||||
m_layouter->setItemSize(dynamicItemSize);
|
m_layouter->setItemSize(dynamicItemSize);
|
||||||
|
|
||||||
|
@ -2375,9 +2375,9 @@ void KItemListView::applyAutomaticColumnWidths()
|
||||||
qreal firstColumnWidth = m_headerWidget->columnWidth(firstRole);
|
qreal firstColumnWidth = m_headerWidget->columnWidth(firstRole);
|
||||||
QSizeF dynamicItemSize = m_itemSize;
|
QSizeF dynamicItemSize = m_itemSize;
|
||||||
|
|
||||||
qreal requiredWidth = columnWidthsSum() + m_headerWidget->sidePadding()
|
qreal requiredWidth = columnWidthsSum() + 2 * m_headerWidget->sidePadding(); // Adding the padding a second time so we have the same padding
|
||||||
+ m_headerWidget->sidePadding(); // Adding the padding a second time so we have the same padding symmetrically on both sides of the view.
|
// symmetrically on both sides of the view. This improves UX, looks better and increases the chances of users figuring out that the padding
|
||||||
// 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.
|
// area can be used for deselecting and dropping files.
|
||||||
const qreal availableWidth = size().width();
|
const qreal availableWidth = size().width();
|
||||||
if (requiredWidth < availableWidth) {
|
if (requiredWidth < availableWidth) {
|
||||||
// Stretch the first column to use the whole remaining width
|
// Stretch the first column to use the whole remaining width
|
||||||
|
|
Loading…
Reference in a new issue