#include <QGraphicsScene>
#include <QGraphicsSceneResizeEvent>
#include <QGraphicsView>
-#include <QGuiApplication>
#include <QPixmapCache>
#include <QStyleOption>
QRectF adjustedIconRect = iconRect().adjusted(-padding, -padding, padding, padding);
QRectF result = adjustedIconRect | m_textRect;
if (m_highlightEntireRow) {
- result.setRight(m_columnWidthSum + leadingPadding());
+ result.setRight(m_columnWidthSum + sidePadding());
}
return result;
}
m_dirtyLayout = true;
}
-void KStandardItemListWidget::leadingPaddingChanged(qreal padding) {
+void KStandardItemListWidget::sidePaddingChanged(qreal padding) {
Q_UNUSED(padding)
m_dirtyLayout = true;
}
const qreal inc = (widgetHeight - widgetIconSize) / 2;
const qreal x = expandedParentsCount * widgetHeight + inc;
const qreal y = inc;
- const qreal xPadding = m_highlightEntireRow ? leadingPadding() : 0;
+ const qreal xPadding = m_highlightEntireRow ? sidePadding() : 0;
m_expansionArea = QRectF(xPadding + x, y, widgetIconSize, widgetIconSize);
return;
}
}
- m_iconRect = QRectF(m_pixmapPos, QSizeF(m_scaledPixmapSize));
+ if (m_layout == IconsLayout) {
+ m_iconRect = QRectF(m_pixmapPos, QSizeF(m_scaledPixmapSize));
+ } else {
+ const qreal widthOffset = widgetIconSize - m_scaledPixmapSize.width();
+ const qreal heightOffset = widgetIconSize - m_scaledPixmapSize.height();
+ const QPointF squareIconPos(m_pixmapPos.x() - 0.5 * widthOffset,
+ m_pixmapPos.y() - 0.5 * heightOffset);
+ const QSizeF squareIconSize(widgetIconSize, widgetIconSize);
+ m_iconRect = QRectF(squareIconPos, squareIconSize);
+ }
// Prepare the pixmap that is used when the item gets hovered
if (isHovered()) {
if (m_supportsItemExpanding) {
firstColumnInc += (m_expansionArea.left() + m_expansionArea.right() + widgetHeight) / 2;
} else {
- firstColumnInc += option.padding + leadingPadding();
+ firstColumnInc += option.padding + sidePadding();
}
qreal x = firstColumnInc;
const bool isTextRole = (role == "text");
if (isTextRole) {
- availableTextWidth -= firstColumnInc - leadingPadding();
+ availableTextWidth -= firstColumnInc - sidePadding();
}
if (requiredWidth > availableTextWidth) {
// The column after the name should always be aligned on the same x-position independent
// from the expansion-level shown in the name column
- x -= firstColumnInc - leadingPadding();
+ x -= firstColumnInc - sidePadding();
} else if (isRoleRightAligned(role)) {
textInfo->pos.rx() += roleWidth - requiredWidth - columnWidthInc;
}