diff options
Diffstat (limited to 'src/widgets/accessible/qaccessiblewidgets.cpp')
-rw-r--r-- | src/widgets/accessible/qaccessiblewidgets.cpp | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/src/widgets/accessible/qaccessiblewidgets.cpp b/src/widgets/accessible/qaccessiblewidgets.cpp index 7ba42989c2..5c2a3bd02b 100644 --- a/src/widgets/accessible/qaccessiblewidgets.cpp +++ b/src/widgets/accessible/qaccessiblewidgets.cpp @@ -56,7 +56,7 @@ #include <QMenu> #endif -#ifndef QT_NO_ACCESSIBILITY +#if QT_CONFIG(accessibility) QT_BEGIN_NAMESPACE @@ -65,7 +65,7 @@ using namespace Qt::StringLiterals; QString qt_accStripAmp(const QString &text); QString qt_accHotKey(const QString &text); -QList<QWidget*> childWidgets(const QWidget *widget) +QWidgetList _q_ac_childWidgets(const QWidget *widget) { QList<QWidget*> widgets; if (!widget) @@ -80,8 +80,10 @@ QList<QWidget*> childWidgets(const QWidget *widget) #if QT_CONFIG(menu) && !qobject_cast<QMenu*>(w) #endif + // Exclude widgets used as implementation details && objectName != "qt_rubberband"_L1 - && objectName != "qt_qmainwindow_extended_splitter"_L1) { + && objectName != "qt_qmainwindow_extended_splitter"_L1 + && objectName != "qt_spinbox_lineedit"_L1) { widgets.append(w); } } @@ -93,7 +95,7 @@ QList<QWidget*> childWidgets(const QWidget *widget) QAccessiblePlainTextEdit::QAccessiblePlainTextEdit(QWidget* o) :QAccessibleTextWidget(o) { - Q_ASSERT(widget()->inherits("QPlainTextEdit")); + Q_ASSERT(qobject_cast<QPlainTextEdit *>(widget())); } QPlainTextEdit* QAccessiblePlainTextEdit::plainTextEdit() const @@ -190,7 +192,7 @@ void QAccessiblePlainTextEdit::scrollToSubstring(int startIndex, int endIndex) QAccessibleTextEdit::QAccessibleTextEdit(QWidget *o) : QAccessibleTextWidget(o, QAccessible::EditableText) { - Q_ASSERT(widget()->inherits("QTextEdit")); + Q_ASSERT(qobject_cast<QTextEdit *>(widget())); } /*! Returns the text edit. */ @@ -359,7 +361,7 @@ QAccessibleMdiArea::QAccessibleMdiArea(QWidget *widget) int QAccessibleMdiArea::childCount() const { - return mdiArea()->subWindowList().count(); + return mdiArea()->subWindowList().size(); } QAccessibleInterface *QAccessibleMdiArea::child(int index) const @@ -398,7 +400,7 @@ QString QAccessibleMdiSubWindow::text(QAccessible::Text textType) const { if (textType == QAccessible::Name) { QString title = mdiSubWindow()->windowTitle(); - title.replace("[*]"_L1, ""_L1); + title.remove("[*]"_L1); return title; } return QAccessibleWidget::text(textType); @@ -837,6 +839,8 @@ QString QAccessibleTextWidget::attributes(int offset, int *startOffset, int *end QFont::Style style = charFormatFont.style(); attrs["font-style"] = QString::fromLatin1((style == QFont::StyleItalic) ? "italic" : ((style == QFont::StyleOblique) ? "oblique": "normal")); + attrs["text-line-through-type"] = charFormatFont.strikeOut() ? "single"_L1 : "none"_L1; + QTextCharFormat::UnderlineStyle underlineStyle = charFormat.underlineStyle(); if (underlineStyle == QTextCharFormat::NoUnderline && charFormatFont.underline()) // underline could still be set in the default font underlineStyle = QTextCharFormat::SingleUnderline; @@ -866,7 +870,7 @@ QString QAccessibleTextWidget::attributes(int offset, int *startOffset, int *end underlineStyleValue = QStringLiteral("wave"); // this is not correct, but provides good approximation at least break; default: - qWarning() << "Unknown QTextCharFormat::​UnderlineStyle value " << underlineStyle << " could not be translated to IAccessible2 value"; + qWarning() << "Unknown QTextCharFormat::UnderlineStyle value " << underlineStyle << " could not be translated to IAccessible2 value"; break; } if (!underlineStyleValue.isNull()) { @@ -1071,8 +1075,8 @@ QAccessibleMainWindow::QAccessibleMainWindow(QWidget *widget) QAccessibleInterface *QAccessibleMainWindow::child(int index) const { - QList<QWidget*> kids = childWidgets(mainWindow()); - if (index >= 0 && index < kids.count()) { + QList<QWidget*> kids = _q_ac_childWidgets(mainWindow()); + if (index >= 0 && index < kids.size()) { return QAccessible::queryAccessibleInterface(kids.at(index)); } return nullptr; @@ -1080,13 +1084,13 @@ QAccessibleInterface *QAccessibleMainWindow::child(int index) const int QAccessibleMainWindow::childCount() const { - QList<QWidget*> kids = childWidgets(mainWindow()); - return kids.count(); + QList<QWidget*> kids = _q_ac_childWidgets(mainWindow()); + return kids.size(); } int QAccessibleMainWindow::indexOfChild(const QAccessibleInterface *iface) const { - QList<QWidget*> kids = childWidgets(mainWindow()); + QList<QWidget*> kids = _q_ac_childWidgets(mainWindow()); return kids.indexOf(static_cast<QWidget*>(iface->object())); } @@ -1099,7 +1103,7 @@ QAccessibleInterface *QAccessibleMainWindow::childAt(int x, int y) const if (!QRect(gp.x(), gp.y(), w->width(), w->height()).contains(x, y)) return nullptr; - const QWidgetList kids = childWidgets(mainWindow()); + const QWidgetList kids = _q_ac_childWidgets(mainWindow()); QPoint rp = mainWindow()->mapFromGlobal(QPoint(x, y)); for (QWidget *child : kids) { if (!child->isWindow() && !child->isHidden() && child->geometry().contains(rp)) { @@ -1118,4 +1122,4 @@ QMainWindow *QAccessibleMainWindow::mainWindow() const QT_END_NAMESPACE -#endif // QT_NO_ACCESSIBILITY +#endif // QT_CONFIG(accessibility) |