diff options
| author | Volker Hilsheimer <volker.hilsheimer@qt.io> | 2025-08-20 10:22:45 +0200 |
|---|---|---|
| committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2025-09-06 15:57:23 +0000 |
| commit | e80408a5dcac5016bcc5b21b450b1c704f3e8338 (patch) | |
| tree | 512c5052c7b3b2d39a9c8b77ff0e133af65cd2c8 | |
| parent | 49d6be5b993b6ddfdd2cf11058197ea54fd63a1b (diff) | |
Refactor QAccessibleQuickItem::interface_cast
Use a switch statement on the type rather than a chain of (nested) if-
statements. The type can only have a single value, after all, and switch
statements are easily optimized.
Change-Id: I48c4fc0880c5615898b2456dc79830b8e2b0bdc4
Reviewed-by: Julian Greilich <j.greilich@gmx.de>
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
(cherry picked from commit 9a805bdc397ecaf4f9579c0d9b8acce680094140)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
(cherry picked from commit 68873053ee849e6753acfcbea41b6d8590e48607)
| -rw-r--r-- | src/quick/accessible/qaccessiblequickitem.cpp | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/src/quick/accessible/qaccessiblequickitem.cpp b/src/quick/accessible/qaccessiblequickitem.cpp index e43dca04dd..ec1f3886f6 100644 --- a/src/quick/accessible/qaccessiblequickitem.cpp +++ b/src/quick/accessible/qaccessiblequickitem.cpp @@ -681,22 +681,28 @@ void QAccessibleQuickItem::setText(QAccessible::Text textType, const QString &te void *QAccessibleQuickItem::interface_cast(QAccessible::InterfaceType t) { - QAccessible::Role r = role(); - if (t == QAccessible::ActionInterface) + const QAccessible::Role r = role(); + switch (t) { + case QAccessible::ActionInterface: return static_cast<QAccessibleActionInterface*>(this); - if (t == QAccessible::ValueInterface && - (r == QAccessible::Slider || - r == QAccessible::SpinBox || - r == QAccessible::Dial || - r == QAccessible::ScrollBar || - r == QAccessible::ProgressBar)) - return static_cast<QAccessibleValueInterface*>(this); - - if (t == QAccessible::TextInterface) { - if (r == QAccessible::EditableText || - r == QAccessible::StaticText || - r == QAccessible::Heading) - return static_cast<QAccessibleTextInterface*>(this); + case QAccessible::ValueInterface: + if (r == QAccessible::Slider + || r == QAccessible::SpinBox + || r == QAccessible::Dial + || r == QAccessible::ScrollBar + || r == QAccessible::ProgressBar) { + return static_cast<QAccessibleValueInterface*>(this); + } + break; + case QAccessible::TextInterface: + if (r == QAccessible::EditableText + || r == QAccessible::StaticText + || r == QAccessible::Heading) { + return static_cast<QAccessibleTextInterface*>(this); + } + break; + default: + break; } return QAccessibleObject::interface_cast(t); |
