From 2f4204238c7ec6f52b688268b6d3b4b937630074 Mon Sep 17 00:00:00 2001 From: Axel Spoerl Date: Thu, 21 Jul 2022 21:57:37 +0200 Subject: [PATCH] Sync and assert StandardPixmap enums in QPlatformTheme and QStyle Add missing enum values in QPlatformTheme::standardPixmap to sync with QStyle::standardPixmap changes from: 785d2b9d0728bbbc0d2a92b7d4186a3114d54128 aa5a595a98f1af4a514485268a18e6cb9cfec783 Add enum values NStandardPixmap at the bottom of both enums as well as an assertion in QStyle constructor that these values are identical. Add omitvalue for NStandardPixmap in QStyle (QPlatformTheme enum is not documented). Pick-to: 6.4 Change-Id: I9ee528d032c445bed5aeace716893b2af8367de2 Reviewed-by: Volker Hilsheimer --- src/gui/kernel/qplatformtheme.h | 10 ++++++++++ src/widgets/styles/qstyle.cpp | 4 ++++ src/widgets/styles/qstyle.h | 1 + 3 files changed, 15 insertions(+) diff --git a/src/gui/kernel/qplatformtheme.h b/src/gui/kernel/qplatformtheme.h index 50594bfdf0..d64f7633ba 100644 --- a/src/gui/kernel/qplatformtheme.h +++ b/src/gui/kernel/qplatformtheme.h @@ -230,6 +230,16 @@ public: MediaVolume, MediaVolumeMuted, LineEditClearButton, + DialogYesToAllButton, + DialogNoToAllButton, + DialogSaveAllButton, + DialogAbortButton, + DialogRetryButton, + DialogIgnoreButton, + RestoreDefaultsButton, + TabCloseButton, + NStandardPixmap, // assertion value for sync with QStyle::StandardPixmap + // do not add any values below/greater than this CustomBase = 0xf0000000 }; diff --git a/src/widgets/styles/qstyle.cpp b/src/widgets/styles/qstyle.cpp index a2469e6b9a..c04b4c1aeb 100644 --- a/src/widgets/styles/qstyle.cpp +++ b/src/widgets/styles/qstyle.cpp @@ -376,6 +376,9 @@ QStyle::QStyle(QStylePrivate &dd) { Q_D(QStyle); d->proxyStyle = this; + Q_STATIC_ASSERT_X(int(StandardPixmap::NStandardPixmap) == + int(QPlatformTheme::StandardPixmap::NStandardPixmap), + "StandardPixmap in QPlatformTheme and QStyle out of sync"); } /*! @@ -2084,6 +2087,7 @@ void QStyle::drawItemPixmap(QPainter *painter, const QRect &rect, int alignment, \value [since 5.14] SP_DialogIgnoreButton Icon for a standard Ignore button in a QDialogButtonBox. \value [since 5.14] SP_RestoreDefaultsButton Icon for a standard RestoreDefaults button in a QDialogButtonBox. \value [since 6.3] SP_TabCloseButton Icon for the close button in the tab of a QTabBar. + \omitvalue NStandardPixmap \value SP_CustomBase Base value for custom standard pixmaps; custom values must be greater than this value. diff --git a/src/widgets/styles/qstyle.h b/src/widgets/styles/qstyle.h index dc1d08a997..23a5bd5ac2 100644 --- a/src/widgets/styles/qstyle.h +++ b/src/widgets/styles/qstyle.h @@ -791,6 +791,7 @@ public: SP_DialogIgnoreButton, SP_RestoreDefaultsButton, SP_TabCloseButton, + NStandardPixmap, // assertion value for sync with QPlatformTheme::StandardPixmap // do not add any values below/greater than this SP_CustomBase = 0xf0000000 };