From c39b6e31884a2ef16aa71e7ed191c9dcff35eefe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Mill=C3=A1n=20Soto?= Date: Sun, 23 Sep 2012 11:46:21 +0200 Subject: Return correct accessible name when a label has rich text MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When a QLabel was displaying rich text, the raw html was being returned as accessible name. Now the plain text is returned. Task-number: QTBUG-27302 Change-Id: I169d5eff527a0aef810af11d7712a362148974a5 Reviewed-by: Jan Arve Sæther Reviewed-by: Marc Mutz --- src/plugins/accessible/widgets/simplewidgets.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/plugins/accessible/widgets/simplewidgets.cpp b/src/plugins/accessible/widgets/simplewidgets.cpp index 555289cf26..2015929010 100644 --- a/src/plugins/accessible/widgets/simplewidgets.cpp +++ b/src/plugins/accessible/widgets/simplewidgets.cpp @@ -55,6 +55,7 @@ #include #include #include +#include #include #ifdef Q_OS_MAC @@ -392,7 +393,14 @@ QString QAccessibleDisplay::text(QAccessible::Text t) const str = widget()->accessibleName(); if (str.isEmpty()) { if (qobject_cast(object())) { - str = qobject_cast(object())->text(); + QLabel *label = qobject_cast(object()); + str = label->text(); + if (label->textFormat() == Qt::RichText + || (label->textFormat() == Qt::AutoText && Qt::mightBeRichText(str))) { + QTextDocument doc; + doc.setHtml(str); + str = doc.toPlainText(); + } #ifndef QT_NO_LCDNUMBER } else if (qobject_cast(object())) { QLCDNumber *l = qobject_cast(object()); -- cgit v1.2.3