diff --git a/src/corelib/global/qnamespace.h b/src/corelib/global/qnamespace.h index f5bb2ad921f..4c3176e75d0 100644 --- a/src/corelib/global/qnamespace.h +++ b/src/corelib/global/qnamespace.h @@ -1925,6 +1925,7 @@ private: Q_DECLARE_TYPEINFO(QKeyCombination, Q_RELOCATABLE_TYPE); +namespace Qt { constexpr QKeyCombination operator|(Qt::Modifier modifier, Qt::Key key) noexcept { return QKeyCombination(modifier, key); @@ -2014,6 +2015,7 @@ constexpr QKeyCombination operator+(Qt::Key key, Qt::KeyboardModifiers modifiers return QKeyCombination(modifiers, key); } #endif +} QT_END_NAMESPACE diff --git a/src/corelib/global/qnamespace.qdoc b/src/corelib/global/qnamespace.qdoc index 64da69c0ac1..231087350e7 100644 --- a/src/corelib/global/qnamespace.qdoc +++ b/src/corelib/global/qnamespace.qdoc @@ -3512,10 +3512,10 @@ */ /*! - \fn QKeyCombination operator|(Qt::Modifier modifier, Qt::Key key) noexcept - \fn QKeyCombination operator|(Qt::KeyboardModifier modifier, Qt::Key key) noexcept - \fn QKeyCombination operator|(Qt::Key key, Qt::Modifier modifier) noexcept - \fn QKeyCombination operator|(Qt::Key key, Qt::KeyboardModifier modifier) noexcept + \fn QKeyCombination Qt::operator|(Qt::Modifier modifier, Qt::Key key) noexcept + \fn QKeyCombination Qt::operator|(Qt::KeyboardModifier modifier, Qt::Key key) noexcept + \fn QKeyCombination Qt::operator|(Qt::Key key, Qt::Modifier modifier) noexcept + \fn QKeyCombination Qt::operator|(Qt::Key key, Qt::KeyboardModifier modifier) noexcept \relates QKeyCombination @@ -3524,10 +3524,10 @@ */ /*! - \fn QKeyCombination operator|(Qt::Modifiers modifiers, Qt::Key key) noexcept - \fn QKeyCombination operator|(Qt::KeyboardModifiers modifiers, Qt::Key key) noexcept - \fn QKeyCombination operator|(Qt::Key key, Qt::Modifiers modifiers) noexcept - \fn QKeyCombination operator|(Qt::Key key, Qt::KeyboardModifiers modifiers) noexcept + \fn QKeyCombination Qt::operator|(Qt::Modifiers modifiers, Qt::Key key) noexcept + \fn QKeyCombination Qt::operator|(Qt::KeyboardModifiers modifiers, Qt::Key key) noexcept + \fn QKeyCombination Qt::operator|(Qt::Key key, Qt::Modifiers modifiers) noexcept + \fn QKeyCombination Qt::operator|(Qt::Key key, Qt::KeyboardModifiers modifiers) noexcept \relates QKeyCombination @@ -3536,10 +3536,10 @@ */ /*! - \fn QKeyCombination operator+(Qt::Modifier modifier, Qt::Key key) noexcept - \fn QKeyCombination operator+(Qt::KeyboardModifier modifier, Qt::Key key) noexcept - \fn QKeyCombination operator+(Qt::Key key, Qt::Modifier modifier) noexcept - \fn QKeyCombination operator+(Qt::Key key, Qt::KeyboardModifier modifier) noexcept + \fn QKeyCombination Qt::operator+(Qt::Modifier modifier, Qt::Key key) noexcept + \fn QKeyCombination Qt::operator+(Qt::KeyboardModifier modifier, Qt::Key key) noexcept + \fn QKeyCombination Qt::operator+(Qt::Key key, Qt::Modifier modifier) noexcept + \fn QKeyCombination Qt::operator+(Qt::Key key, Qt::KeyboardModifier modifier) noexcept \relates QKeyCombination \deprecated @@ -3551,10 +3551,10 @@ */ /*! - \fn QKeyCombination operator+(Qt::Modifiers modifiers, Qt::Key key) noexcept - \fn QKeyCombination operator+(Qt::KeyboardModifiers modifiers, Qt::Key key) noexcept - \fn QKeyCombination operator+(Qt::Key key, Qt::Modifiers modifiers) noexcept - \fn QKeyCombination operator+(Qt::Key key, Qt::KeyboardModifiers modifiers) noexcept + \fn QKeyCombination Qt::operator+(Qt::Modifiers modifiers, Qt::Key key) noexcept + \fn QKeyCombination Qt::operator+(Qt::KeyboardModifiers modifiers, Qt::Key key) noexcept + \fn QKeyCombination Qt::operator+(Qt::Key key, Qt::Modifiers modifiers) noexcept + \fn QKeyCombination Qt::operator+(Qt::Key key, Qt::KeyboardModifiers modifiers) noexcept \relates QKeyCombination \deprecated diff --git a/tests/auto/corelib/global/qkeycombination/tst_qkeycombination.cpp b/tests/auto/corelib/global/qkeycombination/tst_qkeycombination.cpp index 9941f8e1545..926f919ac9a 100644 --- a/tests/auto/corelib/global/qkeycombination/tst_qkeycombination.cpp +++ b/tests/auto/corelib/global/qkeycombination/tst_qkeycombination.cpp @@ -274,6 +274,17 @@ void tst_QKeyCombination::operator_or() QCOMPARE(Qt::ControlModifier | Qt::Key_Escape, QKeyCombination(Qt::ControlModifier, Qt::Key_Escape)); } +namespace QTBUG_126820 { +struct S {}; +S operator|(S, S); +S operator+(S, S); + +[[maybe_unused]] constexpr QKeyCombination kc1 = Qt::SHIFT | Qt::Key_A; +#if QT_DEPRECATED_SINCE(6, 0) +[[maybe_unused]] constexpr QKeyCombination kc2 = Qt::SHIFT + Qt::Key_A; +#endif +} + QTEST_APPLESS_MAIN(tst_QKeyCombination) #include "tst_qkeycombination.moc"