diff options
| author | Akseli Lahtinen <[email protected]> | 2025-08-25 16:10:17 +0300 |
|---|---|---|
| committer | Felix Ernst <[email protected]> | 2025-08-26 14:42:26 +0200 |
| commit | 8d511bff97c844ef2eeef2656dcd42eb1b647e03 (patch) | |
| tree | b4f5d0e1d6d003482ebb2fd2589bfb4f783b9fe6 | |
| parent | 2ff301735ed4707a303186e5db4971a51400335b (diff) | |
KStandardItemListWidget: Use styleOption().iconSize
We should use styleOption().iconSize instead of iconSize(), since
the styleOption returns always the correct size depending on
if we are showing previews or not.
In DolphinItemListView we set the iconSize based on the
previewSize or iconSize, and the styleOption().iconSize is
whichever value it is here.
KItemListWidget::iconSize always returns the settings.iconSize
BUG: 508352
| -rw-r--r-- | src/kitemviews/kstandarditemlistwidget.cpp | 16 | ||||
| -rw-r--r-- | src/views/dolphinfileitemlistwidget.cpp | 1 |
2 files changed, 9 insertions, 8 deletions
diff --git a/src/kitemviews/kstandarditemlistwidget.cpp b/src/kitemviews/kstandarditemlistwidget.cpp index 2538cddcf..a068e976a 100644 --- a/src/kitemviews/kstandarditemlistwidget.cpp +++ b/src/kitemviews/kstandarditemlistwidget.cpp @@ -353,7 +353,7 @@ void KStandardItemListWidget::paint(QPainter *painter, const QStyleOptionGraphic const KItemListStyleOption &option = styleOption(); const qreal padding = option.padding; - const int widgetIconSize = iconSize(); + const int widgetIconSize = styleOption().iconSize; const int maxIconWidth = iconOnTop ? size().width() - 2 * padding : widgetIconSize; const int maxIconHeight = widgetIconSize; @@ -572,7 +572,7 @@ QRectF KStandardItemListWidget::selectionToggleRect() const { const_cast<KStandardItemListWidget *>(this)->triggerCacheRefreshing(); - const int widgetIconSize = iconSize(); + const int widgetIconSize = styleOption().iconSize; int toggleSize = KIconLoader::SizeSmall; if (widgetIconSize >= KIconLoader::SizeEnormous) { toggleSize = KIconLoader::SizeMedium; @@ -1022,7 +1022,7 @@ void KStandardItemListWidget::updateExpansionArea() const QHash<QByteArray, QVariant> values = data(); const int expandedParentsCount = values.value("expandedParentsCount", 0).toInt(); if (expandedParentsCount >= 0) { - const int widgetIconSize = iconSize(); + const int widgetIconSize = styleOption().iconSize; const qreal widgetHeight = size().height(); const qreal inc = (widgetHeight - widgetIconSize) / 2; const qreal x = expandedParentsCount * widgetHeight + inc; @@ -1052,7 +1052,7 @@ void KStandardItemListWidget::updatePixmapCache() const qreal padding = option.padding; const qreal dpr = KItemViewsUtils::devicePixelRatio(this); - const int widgetIconSize = iconSize(); + const int widgetIconSize = option.iconSize; const int maxIconWidth = iconOnTop ? widgetSize.width() - 2 * padding : widgetIconSize; const int maxIconHeight = widgetIconSize; @@ -1351,7 +1351,7 @@ void KStandardItemListWidget::updateIconsLayoutTextCache() // Use one line for each additional information nameTextInfo->staticText.setTextWidth(maxWidth); - nameTextInfo->pos = QPointF(padding, iconSize() + 2 * padding); + nameTextInfo->pos = QPointF(padding, styleOption().iconSize + 2 * padding); m_textRect = QRectF(padding + (maxWidth - nameWidth) / 2, nameTextInfo->pos.y(), nameWidth, nameHeight); // Calculate the position for each additional information @@ -1419,9 +1419,9 @@ void KStandardItemListWidget::updateCompactLayoutTextCache() const qreal textLinesHeight = qMax(visibleRoles().count(), 1) * lineSpacing; qreal maximumRequiredTextWidth = 0; - const qreal x = QApplication::isRightToLeft() ? option.padding : option.padding * 3 + iconSize(); + const qreal x = QApplication::isRightToLeft() ? option.padding : option.padding * 3 + styleOption().iconSize; qreal y = qRound((widgetHeight - textLinesHeight) / 2); - const qreal maxWidth = size().width() - iconSize() - 4 * option.padding; + const qreal maxWidth = size().width() - styleOption().iconSize - 4 * option.padding; for (const QByteArray &role : std::as_const(m_sortedVisibleRoles)) { const QString text = escapeString(roleText(role, values)); TextInfo *textInfo = m_textInfo.value(role); @@ -1469,7 +1469,7 @@ void KStandardItemListWidget::updateDetailsLayoutTextCache() const int fontHeight = m_customizedFontMetrics.height(); const qreal columnWidthInc = columnPadding(option); - qreal firstColumnInc = iconSize(); + qreal firstColumnInc = styleOption().iconSize; if (m_supportsItemExpanding) { firstColumnInc += isLeftToRight ? (m_expansionArea.left() + m_expansionArea.right() + widgetHeight) / 2 : ((size().width() - m_expansionArea.left()) + (size().width() - m_expansionArea.right()) + widgetHeight) / 2; diff --git a/src/views/dolphinfileitemlistwidget.cpp b/src/views/dolphinfileitemlistwidget.cpp index 7ad242f3f..6e8813981 100644 --- a/src/views/dolphinfileitemlistwidget.cpp +++ b/src/views/dolphinfileitemlistwidget.cpp @@ -89,6 +89,7 @@ void DolphinFileItemListWidget::refreshCache() setOverlays(overlays); setTextColor(color); + setProperty(QByteArrayLiteral("iconSize"), styleOption().iconSize); } QString DolphinFileItemListWidget::overlayForState(KVersionControlPlugin::ItemVersion version) const |
