diff options
| author | Doris Verria <doris.verria@qt.io> | 2026-09-14 17:49:18 +0200 |
|---|---|---|
| committer | Doris Verria <doris.verria@qt.io> | 2026-09-29 09:22:27 +0000 |
| commit | 3c517dd02a1e669d450b363384121a7d262f41a2 (patch) | |
| tree | 3cc90f4dd7566b5cdbcc0705c743b5738e39615f | |
| parent | ae03070d2261a5aa81b29a2adf25328472830b4d (diff) | |
QStyleKitStyle: Size indicators and foregrounds independently
Follow what the Quick side already does and don't include foreground
sizing and margins when determining indicator size.
Pick-to: 6.12
Change-Id: I7a264ee297c89513674fa858834b69c65985d747
Reviewed-by: Richard Moe Gustavsen <richard.gustavsen@qt.io>
| -rw-r--r-- | src/labs/stylekit/widgets/qstylekitstyle.cpp | 38 | ||||
| -rw-r--r-- | src/labs/stylekit/widgets/qstylekitstyle_p.h | 2 |
2 files changed, 6 insertions, 34 deletions
diff --git a/src/labs/stylekit/widgets/qstylekitstyle.cpp b/src/labs/stylekit/widgets/qstylekitstyle.cpp index d962417048..316d7039e8 100644 --- a/src/labs/stylekit/widgets/qstylekitstyle.cpp +++ b/src/labs/stylekit/widgets/qstylekitstyle.cpp @@ -1570,8 +1570,6 @@ QStyleKitStylePrivate::metricsForReader(QQStyleKitReader *reader) const metrics.margins = QMargins(0, 0, 0, 0); metrics.indicatorImplicitSize = QSize(0, 0); metrics.indicatorMargins = QMargins(0, 0, 0, 0); - metrics.foregroundImplicitSize = QSize(0, 0); - metrics.foregroundMargins = QMargins(0, 0, 0, 0); const auto *background = props->background(); // Note: scale is deliberately absent here as it should not affect layout @@ -1595,22 +1593,6 @@ QStyleKitStylePrivate::metricsForReader(QQStyleKitReader *reader) const if (indicator) { metrics.indicatorMargins = elementMargins(indicator); metrics.indicatorImplicitSize = elementSize(indicator->width(), indicator->height()); - - const auto *foreground = indicator->foreground(); - if (foreground) { - metrics.foregroundMargins = elementMargins(foreground); - const auto foregroundW = resolvedWidth( - foreground, - std::max(.0, qreal(metrics.indicatorImplicitSize.width() - - metrics.foregroundMargins.left() - - metrics.foregroundMargins.right()))); - const auto foregroundH = resolvedHeight( - foreground, - std::max(.0, qreal(metrics.indicatorImplicitSize.height() - - metrics.foregroundMargins.top() - - metrics.foregroundMargins.bottom()))); - metrics.foregroundImplicitSize = elementSize(foregroundW, foregroundH); - } } const auto *handle = props->handle(); if (handle) { @@ -3879,20 +3861,12 @@ QSize QStyleKitStyle::sizeFromContents(ContentsType ct, const QStyleOption *opt, if (!resolved.isValid()) break; const auto &metrics = *resolved.metrics; - const auto indicatorW = std::max( - metrics.indicatorImplicitSize.width() - + metrics.indicatorMargins.left() - + metrics.indicatorMargins.right(), - metrics.foregroundImplicitSize.width() - + metrics.foregroundMargins.left() - + metrics.foregroundMargins.right()); - const auto indicatorH = std::max( - metrics.indicatorImplicitSize.height() - + metrics.indicatorMargins.top() - + metrics.indicatorMargins.bottom(), - metrics.foregroundImplicitSize.height() - + metrics.foregroundMargins.top() - + metrics.foregroundMargins.bottom()); + const auto indicatorW = metrics.indicatorImplicitSize.width() + + metrics.indicatorMargins.left() + + metrics.indicatorMargins.right(); + const auto indicatorH = metrics.indicatorImplicitSize.height() + + metrics.indicatorMargins.top() + + metrics.indicatorMargins.bottom(); const int bgW = metrics.bgImplicitSize.width() + metrics.margins.left() + metrics.margins.right(); const int bgH = metrics.bgImplicitSize.height() diff --git a/src/labs/stylekit/widgets/qstylekitstyle_p.h b/src/labs/stylekit/widgets/qstylekitstyle_p.h index fb80788b62..633fbf175e 100644 --- a/src/labs/stylekit/widgets/qstylekitstyle_p.h +++ b/src/labs/stylekit/widgets/qstylekitstyle_p.h @@ -52,8 +52,6 @@ class QStyleKitStylePrivate : public QCommonStylePrivate QSize bgImplicitSize; QSize indicatorImplicitSize; QMargins indicatorMargins; - QSize foregroundImplicitSize; - QMargins foregroundMargins; QSize handleImplicitSize; QMargins handleMargins; int spacing; |
