aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquickitem.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quick/items/qquickitem.cpp')
-rw-r--r--src/quick/items/qquickitem.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/quick/items/qquickitem.cpp b/src/quick/items/qquickitem.cpp
index 90e565926f..691fea21e1 100644
--- a/src/quick/items/qquickitem.cpp
+++ b/src/quick/items/qquickitem.cpp
@@ -2132,8 +2132,6 @@ bool QQuickItemPrivate::qt_tab_all_widgets()
*/
bool QQuickItemPrivate::canAcceptTabFocus(QQuickItem *item)
{
- bool result = true;
-
if (!item->window())
return false;
@@ -2141,14 +2139,13 @@ bool QQuickItemPrivate::canAcceptTabFocus(QQuickItem *item)
return true;
#ifndef QT_NO_ACCESSIBILITY
- result = false;
if (QObject *acc = qmlAttachedPropertiesObject<QQuickAccessibleAttached>(item, false)) {
int role = acc->property("role").toInt();
if (role == QAccessible::EditableText
|| role == QAccessible::Table
|| role == QAccessible::List
|| role == QAccessible::SpinBox) {
- result = true;
+ return true;
} else if (role == QAccessible::ComboBox) {
QAccessibleInterface *iface = QAccessible::queryAccessibleInterface(item);
return iface->state().editable;
@@ -2156,7 +2153,11 @@ bool QQuickItemPrivate::canAcceptTabFocus(QQuickItem *item)
}
#endif
- return result;
+ QVariant readonly = item->property("readOnly");
+ if (readonly.isValid() && !readonly.toBool() && item->property("text").isValid())
+ return true;
+
+ return false;
}
/*!