diff options
-rw-r--r-- | src/widgets/dialogs/qmessagebox.cpp | 14 | ||||
-rw-r--r-- | src/widgets/dialogs/qmessagebox.h | 7 |
2 files changed, 14 insertions, 7 deletions
diff --git a/src/widgets/dialogs/qmessagebox.cpp b/src/widgets/dialogs/qmessagebox.cpp index 46a6e871b14..08cf212af4c 100644 --- a/src/widgets/dialogs/qmessagebox.cpp +++ b/src/widgets/dialogs/qmessagebox.cpp @@ -49,6 +49,20 @@ HMENU qt_getWindowsSystemMenu(const QWidget *w) } #endif +static_assert(qToUnderlying(QMessageBox::ButtonRole::NRoles) == + qToUnderlying(QDialogButtonBox::ButtonRole::NRoles), + "QMessageBox::ButtonRole and QDialogButtonBox::ButtonRole out of sync!"); + +static_assert(std::is_same_v<std::underlying_type_t<QMessageBox::ButtonRole>, + std::underlying_type_t<QDialogButtonBox::ButtonRole>>); + +// StandardButton enums have different underlying types +// => qToUnderlying and std::is_same_v won't work +// ### Qt 7: make them have the same underlying type +static_assert(static_cast<int>(QMessageBox::StandardButton::LastButton) == + static_cast<int>(QDialogButtonBox::StandardButton::LastButton), + "QMessageBox::StandardButton and QDialogButtonBox::StandardButton out of sync!"); + enum Button { Old_Ok = 1, Old_Cancel = 2, Old_Yes = 3, Old_No = 4, Old_Abort = 5, Old_Retry = 6, Old_Ignore = 7, Old_YesAll = 8, Old_NoAll = 9, Old_ButtonMask = 0xFF, NewButtonMask = 0xFFFFFC00 }; diff --git a/src/widgets/dialogs/qmessagebox.h b/src/widgets/dialogs/qmessagebox.h index 419fd23af8a..c2e31abc64e 100644 --- a/src/widgets/dialogs/qmessagebox.h +++ b/src/widgets/dialogs/qmessagebox.h @@ -60,9 +60,6 @@ public: NRoles }; Q_ENUM(ButtonRole) - static_assert(static_cast<int>(ButtonRole::NRoles) == - static_cast<int>(QDialogButtonBox::ButtonRole::NRoles), - "QMessageBox::ButtonRole and QDialogButtonBox::ButtonRole out of sync!"); enum StandardButton { // keep this in sync with QDialogButtonBox::StandardButton and QPlatformDialogHelper::StandardButton @@ -98,10 +95,6 @@ public: ButtonMask = ~FlagMask // obsolete }; Q_ENUM(StandardButton); - static_assert(static_cast<int>(StandardButton::LastButton) == - static_cast<int>(QDialogButtonBox::StandardButton::LastButton), - "QMessageBox::StandardButton and QDialogButtonBox::StandardButton out of sync!"); - #if QT_VERSION < QT_VERSION_CHECK(7, 0, 0) typedef StandardButton Button; |