aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVolker Hilsheimer <volker.hilsheimer@qt.io>2025-08-20 10:22:45 +0200
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2025-09-06 15:57:23 +0000
commite80408a5dcac5016bcc5b21b450b1c704f3e8338 (patch)
tree512c5052c7b3b2d39a9c8b77ff0e133af65cd2c8
parent49d6be5b993b6ddfdd2cf11058197ea54fd63a1b (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.cpp36
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);