summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/gui/accessible/qaccessible.cpp73
-rw-r--r--src/gui/accessible/qaccessible.h12
-rw-r--r--src/gui/accessible/qaccessible2.cpp35
-rw-r--r--src/gui/accessible/qaccessible2_p.h18
-rw-r--r--src/platformsupport/linuxaccessibility/atspiadaptor.cpp14
-rw-r--r--src/platformsupport/linuxaccessibility/atspiadaptor_p.h2
-rw-r--r--src/plugins/accessible/widgets/qaccessiblewidgets.cpp94
-rw-r--r--src/plugins/accessible/widgets/qaccessiblewidgets.h8
-rw-r--r--src/plugins/accessible/widgets/simplewidgets.cpp7
-rw-r--r--src/plugins/accessible/widgets/simplewidgets.h6
-rw-r--r--src/plugins/platforms/windows/accessible/iaccessible2.cpp6
-rw-r--r--tests/auto/other/qaccessibility/tst_qaccessibility.cpp50
12 files changed, 162 insertions, 163 deletions
diff --git a/src/gui/accessible/qaccessible.cpp b/src/gui/accessible/qaccessible.cpp
index e007c9967e..7487aabde5 100644
--- a/src/gui/accessible/qaccessible.cpp
+++ b/src/gui/accessible/qaccessible.cpp
@@ -46,6 +46,8 @@
#include "qaccessibleplugin.h"
#include "qaccessibleobject.h"
#include "qaccessiblebridge.h"
+#include <QtCore/qtextboundaryfinder.h>
+#include <QtGui/qtextcursor.h>
#include <QtGui/QGuiApplication>
#include <private/qguiapplication_p.h>
#include <qpa/qplatformaccessibility.h>
@@ -790,6 +792,77 @@ void QAccessible::updateAccessibility(QAccessibleEvent *event)
#endif
/*!
+ \internal
+ \brief getBoundaries is a helper function to find the accessible text boundaries for QTextCursor based documents.
+ \param documentCursor a valid cursor bound to the document (not null). It needs to ba at the position to look for the boundary
+ \param boundaryType the type of boundary to find
+ \return the boundaries as pair
+*/
+QPair< int, int > QAccessible::qAccessibleTextBoundaryHelper(const QTextCursor &offsetCursor, TextBoundaryType boundaryType)
+{
+ Q_ASSERT(!offsetCursor.isNull());
+
+ QTextCursor endCursor = offsetCursor;
+ endCursor.movePosition(QTextCursor::End);
+ int characterCount = endCursor.position();
+
+ QPair<int, int> result;
+ QTextCursor cursor = offsetCursor;
+ switch (boundaryType) {
+ case CharBoundary:
+ result.first = cursor.position();
+ cursor.movePosition(QTextCursor::NextCharacter, QTextCursor::KeepAnchor);
+ result.second = cursor.position();
+ break;
+ case WordBoundary:
+ cursor.movePosition(QTextCursor::StartOfWord, QTextCursor::MoveAnchor);
+ result.first = cursor.position();
+ cursor.movePosition(QTextCursor::EndOfWord, QTextCursor::KeepAnchor);
+ result.second = cursor.position();
+ break;
+ case SentenceBoundary: {
+ // QCursor does not provide functionality to move to next sentence.
+ // We therefore find the current block, then go through the block using
+ // QTextBoundaryFinder and find the sentence the \offset represents
+ cursor.movePosition(QTextCursor::StartOfBlock, QTextCursor::MoveAnchor);
+ result.first = cursor.position();
+ cursor.movePosition(QTextCursor::EndOfBlock, QTextCursor::KeepAnchor);
+ result.second = cursor.position();
+ QString blockText = cursor.selectedText();
+ const int offsetWithinBlockText = offsetCursor.position() - result.first;
+ QTextBoundaryFinder sentenceFinder(QTextBoundaryFinder::Sentence, blockText);
+ sentenceFinder.setPosition(offsetWithinBlockText);
+ int prevBoundary = offsetWithinBlockText;
+ int nextBoundary = offsetWithinBlockText;
+ if (!(sentenceFinder.boundaryReasons() & QTextBoundaryFinder::StartOfItem))
+ prevBoundary = sentenceFinder.toPreviousBoundary();
+ nextBoundary = sentenceFinder.toNextBoundary();
+ if (nextBoundary != -1)
+ result.second = result.first + nextBoundary;
+ if (prevBoundary != -1)
+ result.first += prevBoundary;
+ break; }
+ case LineBoundary:
+ cursor.movePosition(QTextCursor::StartOfLine, QTextCursor::MoveAnchor);
+ result.first = cursor.position();
+ cursor.movePosition(QTextCursor::EndOfLine, QTextCursor::KeepAnchor);
+ result.second = cursor.position();
+ break;
+ case ParagraphBoundary:
+ cursor.movePosition(QTextCursor::StartOfBlock, QTextCursor::MoveAnchor);
+ result.first = cursor.position();
+ cursor.movePosition(QTextCursor::EndOfBlock, QTextCursor::KeepAnchor);
+ result.second = cursor.position();
+ break;
+ case NoBoundary:
+ result.first = 0;
+ result.second = characterCount;
+ break;
+ }
+ return result;
+}
+
+/*!
\class QAccessibleInterface
\brief The QAccessibleInterface class defines an interface that exposes information
about accessible objects.
diff --git a/src/gui/accessible/qaccessible.h b/src/gui/accessible/qaccessible.h
index 8447f34154..339e3fbcd6 100644
--- a/src/gui/accessible/qaccessible.h
+++ b/src/gui/accessible/qaccessible.h
@@ -62,6 +62,7 @@ QT_BEGIN_NAMESPACE
class QAccessibleInterface;
class QAccessibleEvent;
class QWindow;
+class QTextCursor;
// We need to inherit QObject to expose the enums to QML.
class Q_GUI_EXPORT QAccessible
@@ -331,6 +332,15 @@ public:
TableCellInterface
};
+ enum TextBoundaryType {
+ CharBoundary,
+ WordBoundary,
+ SentenceBoundary,
+ ParagraphBoundary,
+ LineBoundary,
+ NoBoundary
+ };
+
typedef QAccessibleInterface*(*InterfaceFactory)(const QString &key, QObject*);
typedef void(*UpdateHandler)(QAccessibleEvent *event);
typedef void(*RootObjectHandler)(QObject*);
@@ -359,6 +369,8 @@ public:
static void cleanup();
+ static QPair< int, int > qAccessibleTextBoundaryHelper(const QTextCursor &cursor, TextBoundaryType boundaryType);
+
private:
static UpdateHandler updateHandler;
static RootObjectHandler rootObjectHandler;
diff --git a/src/gui/accessible/qaccessible2.cpp b/src/gui/accessible/qaccessible2.cpp
index bd9ecde260..d790fac071 100644
--- a/src/gui/accessible/qaccessible2.cpp
+++ b/src/gui/accessible/qaccessible2.cpp
@@ -49,17 +49,6 @@
QT_BEGIN_NAMESPACE
/*!
- \namespace QAccessible2
- \ingroup accessibility
- \internal
-
- \brief The QAccessible2 namespace defines constants relating to
- IAccessible2-based interfaces
-
- \l{IAccessible2 Specification}
-*/
-
-/*!
\class QAccessibleTextInterface
\internal
\inmodule QtGui
@@ -139,7 +128,7 @@ QT_BEGIN_NAMESPACE
of that item; returns an empty string if there is no such an item.
Sets \a startOffset and \a endOffset values to -1 on error.
*/
-QString QAccessibleTextInterface::textBeforeOffset(int offset, QAccessible2::BoundaryType boundaryType,
+QString QAccessibleTextInterface::textBeforeOffset(int offset, QAccessible::TextBoundaryType boundaryType,
int *startOffset, int *endOffset) const
{
const QString txt = text(0, characterCount());
@@ -155,13 +144,13 @@ QString QAccessibleTextInterface::textBeforeOffset(int offset, QAccessible2::Bou
QTextBoundaryFinder::BoundaryType type;
switch (boundaryType) {
- case QAccessible2::CharBoundary:
+ case QAccessible::CharBoundary:
type = QTextBoundaryFinder::Grapheme;
break;
- case QAccessible2::WordBoundary:
+ case QAccessible::WordBoundary:
type = QTextBoundaryFinder::Word;
break;
- case QAccessible2::SentenceBoundary:
+ case QAccessible::SentenceBoundary:
type = QTextBoundaryFinder::Sentence;
break;
default:
@@ -199,7 +188,7 @@ QString QAccessibleTextInterface::textBeforeOffset(int offset, QAccessible2::Bou
of that item; returns an empty string if there is no such an item.
Sets \a startOffset and \a endOffset values to -1 on error.
*/
-QString QAccessibleTextInterface::textAfterOffset(int offset, QAccessible2::BoundaryType boundaryType,
+QString QAccessibleTextInterface::textAfterOffset(int offset, QAccessible::TextBoundaryType boundaryType,
int *startOffset, int *endOffset) const
{
const QString txt = text(0, characterCount());
@@ -215,13 +204,13 @@ QString QAccessibleTextInterface::textAfterOffset(int offset, QAccessible2::Boun
QTextBoundaryFinder::BoundaryType type;
switch (boundaryType) {
- case QAccessible2::CharBoundary:
+ case QAccessible::CharBoundary:
type = QTextBoundaryFinder::Grapheme;
break;
- case QAccessible2::WordBoundary:
+ case QAccessible::WordBoundary:
type = QTextBoundaryFinder::Word;
break;
- case QAccessible2::SentenceBoundary:
+ case QAccessible::SentenceBoundary:
type = QTextBoundaryFinder::Sentence;
break;
default:
@@ -259,7 +248,7 @@ QString QAccessibleTextInterface::textAfterOffset(int offset, QAccessible2::Boun
of that item; returns an empty string if there is no such an item.
Sets \a startOffset and \a endOffset values to -1 on error.
*/
-QString QAccessibleTextInterface::textAtOffset(int offset, QAccessible2::BoundaryType boundaryType,
+QString QAccessibleTextInterface::textAtOffset(int offset, QAccessible::TextBoundaryType boundaryType,
int *startOffset, int *endOffset) const
{
const QString txt = text(0, characterCount());
@@ -275,13 +264,13 @@ QString QAccessibleTextInterface::textAtOffset(int offset, QAccessible2::Boundar
QTextBoundaryFinder::BoundaryType type;
switch (boundaryType) {
- case QAccessible2::CharBoundary:
+ case QAccessible::CharBoundary:
type = QTextBoundaryFinder::Grapheme;
break;
- case QAccessible2::WordBoundary:
+ case QAccessible::WordBoundary:
type = QTextBoundaryFinder::Word;
break;
- case QAccessible2::SentenceBoundary:
+ case QAccessible::SentenceBoundary:
type = QTextBoundaryFinder::Sentence;
break;
default:
diff --git a/src/gui/accessible/qaccessible2_p.h b/src/gui/accessible/qaccessible2_p.h
index 1a1eeea4ba..95f93e2431 100644
--- a/src/gui/accessible/qaccessible2_p.h
+++ b/src/gui/accessible/qaccessible2_p.h
@@ -50,18 +50,6 @@ QT_BEGIN_NAMESPACE
#ifndef QT_NO_ACCESSIBILITY
-namespace QAccessible2
-{
- enum BoundaryType {
- CharBoundary,
- WordBoundary,
- SentenceBoundary,
- ParagraphBoundary,
- LineBoundary,
- NoBoundary
- };
-}
-
class Q_GUI_EXPORT QAccessibleTextInterface
{
public:
@@ -79,11 +67,11 @@ public:
// text
virtual QString text(int startOffset, int endOffset) const = 0;
- virtual QString textBeforeOffset(int offset, QAccessible2::BoundaryType boundaryType,
+ virtual QString textBeforeOffset(int offset, QAccessible::TextBoundaryType boundaryType,
int *startOffset, int *endOffset) const;
- virtual QString textAfterOffset(int offset, QAccessible2::BoundaryType boundaryType,
+ virtual QString textAfterOffset(int offset, QAccessible::TextBoundaryType boundaryType,
int *startOffset, int *endOffset) const;
- virtual QString textAtOffset(int offset, QAccessible2::BoundaryType boundaryType,
+ virtual QString textAtOffset(int offset, QAccessible::TextBoundaryType boundaryType,
int *startOffset, int *endOffset) const;
virtual int characterCount() const = 0;
diff --git a/src/platformsupport/linuxaccessibility/atspiadaptor.cpp b/src/platformsupport/linuxaccessibility/atspiadaptor.cpp
index e4702e8497..6efd5085ac 100644
--- a/src/platformsupport/linuxaccessibility/atspiadaptor.cpp
+++ b/src/platformsupport/linuxaccessibility/atspiadaptor.cpp
@@ -1791,7 +1791,7 @@ bool AtSpiAdaptor::textInterface(QAccessibleInterface *interface, const QString
int offset = message.arguments().at(0).toInt();
int start;
int end;
- QString result = interface->textInterface()->textAtOffset(offset, QAccessible2::CharBoundary, &start, &end);
+ QString result = interface->textInterface()->textAtOffset(offset, QAccessible::CharBoundary, &start, &end);
sendReply(connection, message, (int) *(qPrintable (result)));
} else if (function == QLatin1String("GetCharacterExtents")) {
int offset = message.arguments().at(0).toInt();
@@ -1879,23 +1879,23 @@ bool AtSpiAdaptor::textInterface(QAccessibleInterface *interface, const QString
return true;
}
-QAccessible2::BoundaryType AtSpiAdaptor::qAccessibleBoundaryType(int atspiTextBoundaryType) const
+QAccessible::TextBoundaryType AtSpiAdaptor::qAccessibleBoundaryType(int atspiTextBoundaryType) const
{
switch (atspiTextBoundaryType) {
case ATSPI_TEXT_BOUNDARY_CHAR:
- return QAccessible2::CharBoundary;
+ return QAccessible::CharBoundary;
case ATSPI_TEXT_BOUNDARY_WORD_START:
case ATSPI_TEXT_BOUNDARY_WORD_END:
- return QAccessible2::WordBoundary;
+ return QAccessible::WordBoundary;
case ATSPI_TEXT_BOUNDARY_SENTENCE_START:
case ATSPI_TEXT_BOUNDARY_SENTENCE_END:
- return QAccessible2::SentenceBoundary;
+ return QAccessible::SentenceBoundary;
case ATSPI_TEXT_BOUNDARY_LINE_START:
case ATSPI_TEXT_BOUNDARY_LINE_END:
- return QAccessible2::LineBoundary;
+ return QAccessible::LineBoundary;
}
Q_ASSERT_X(0, "", "Requested invalid boundary type.");
- return QAccessible2::CharBoundary;
+ return QAccessible::CharBoundary;
}
// FIXME all attribute methods below should share code
diff --git a/src/platformsupport/linuxaccessibility/atspiadaptor_p.h b/src/platformsupport/linuxaccessibility/atspiadaptor_p.h
index aafaecfeae..6f005c33ab 100644
--- a/src/platformsupport/linuxaccessibility/atspiadaptor_p.h
+++ b/src/platformsupport/linuxaccessibility/atspiadaptor_p.h
@@ -128,7 +128,7 @@ private:
QVariantList getAttributeValue(QAccessibleInterface *, int offset, const QString &attributeName) const;
QRect getCharacterExtents(QAccessibleInterface *, int offset, uint coordType) const;
QRect getRangeExtents(QAccessibleInterface *, int startOffset, int endOffset, uint coordType) const;
- QAccessible2::BoundaryType qAccessibleBoundaryType(int atspiTextBoundaryType) const;
+ QAccessible::TextBoundaryType qAccessibleBoundaryType(int atspiTextBoundaryType) const;
static bool inheritsQAction(QObject *object);
// private vars
diff --git a/src/plugins/accessible/widgets/qaccessiblewidgets.cpp b/src/plugins/accessible/widgets/qaccessiblewidgets.cpp
index 751a722bb8..f20823f25b 100644
--- a/src/plugins/accessible/widgets/qaccessiblewidgets.cpp
+++ b/src/plugins/accessible/widgets/qaccessiblewidgets.cpp
@@ -72,8 +72,6 @@
QT_BEGIN_NAMESPACE
-using namespace QAccessible2;
-
QString Q_GUI_EXPORT qt_accStripAmp(const QString &text);
QString Q_GUI_EXPORT qt_accHotKey(const QString &text);
@@ -997,83 +995,18 @@ QPoint QAccessibleTextWidget::scrollBarPosition() const
return QPoint(0, 0);
}
-QPair< int, int > QAccessibleTextWidget::getBoundaries(int offset, BoundaryType boundaryType) const
-{
- if (offset >= characterCount())
- return QPair<int, int>(characterCount(), characterCount());
- if (offset < 0)
- return QPair<int, int>(0, 0);
-
- QTextCursor cursor = textCursor();
- QPair<int, int> result;
-
- cursor.setPosition(offset);
- switch (boundaryType) {
- case CharBoundary:
- result.first = cursor.position();
- cursor.movePosition(QTextCursor::NextCharacter, QTextCursor::KeepAnchor);
- result.second = cursor.position();
- break;
- case WordBoundary:
- cursor.movePosition(QTextCursor::StartOfWord, QTextCursor::MoveAnchor);
- result.first = cursor.position();
- cursor.movePosition(QTextCursor::EndOfWord, QTextCursor::KeepAnchor);
- result.second = cursor.position();
- break;
- case SentenceBoundary: {
- // QCursor does not provide functionality to move to next sentence.
- // We therefore find the current block, then go through the block using
- // QTextBoundaryFinder and find the sentence the \offset represents
- cursor.movePosition(QTextCursor::StartOfBlock, QTextCursor::MoveAnchor);
- result.first = cursor.position();
- cursor.movePosition(QTextCursor::EndOfBlock, QTextCursor::KeepAnchor);
- result.second = cursor.position();
- QString blockText = cursor.selectedText();
- const int offsetWithinBlockText = offset - result.first;
- QTextBoundaryFinder sentenceFinder(QTextBoundaryFinder::Sentence, blockText);
- sentenceFinder.setPosition(offsetWithinBlockText);
- int prevBoundary = offsetWithinBlockText;
- int nextBoundary = offsetWithinBlockText;
- if (!(sentenceFinder.boundaryReasons() & QTextBoundaryFinder::StartOfItem))
- prevBoundary = sentenceFinder.toPreviousBoundary();
- nextBoundary = sentenceFinder.toNextBoundary();
- if (nextBoundary != -1)
- result.second = result.first + nextBoundary;
- if (prevBoundary != -1)
- result.first += prevBoundary;
- break; }
- case LineBoundary:
- cursor.movePosition(QTextCursor::StartOfLine, QTextCursor::MoveAnchor);
- result.first = cursor.position();
- cursor.movePosition(QTextCursor::EndOfLine, QTextCursor::KeepAnchor);
- result.second = cursor.position();
- break;
- case ParagraphBoundary:
- cursor.movePosition(QTextCursor::StartOfBlock, QTextCursor::MoveAnchor);
- result.first = cursor.position();
- cursor.movePosition(QTextCursor::EndOfBlock, QTextCursor::KeepAnchor);
- result.second = cursor.position();
- break;
- case NoBoundary:
- result.first = 0;
- result.second = characterCount();
- break;
- default:
- qWarning("QAccessibleTextWidget::getBoundaries: Unknown boundary type %d", boundaryType);
- result.first = -1;
- result.second = -1;
- }
- return result;
-}
-QString QAccessibleTextWidget::textBeforeOffset(int offset, BoundaryType boundaryType,
+QString QAccessibleTextWidget::textBeforeOffset(int offset, QAccessible::TextBoundaryType boundaryType,
int *startOffset, int *endOffset) const
{
Q_ASSERT(startOffset);
Q_ASSERT(endOffset);
- QPair<int, int> boundaries = getBoundaries(offset, boundaryType);
- boundaries = getBoundaries(boundaries.first - 1, boundaryType);
+ QTextCursor cursor = textCursor();
+ cursor.setPosition(offset);
+ QPair<int, int> boundaries = QAccessible::qAccessibleTextBoundaryHelper(cursor, boundaryType);
+ cursor.setPosition(boundaries.first - 1);
+ boundaries = QAccessible::qAccessibleTextBoundaryHelper(cursor, boundaryType);
*startOffset = boundaries.first;
*endOffset = boundaries.second;
@@ -1082,14 +1015,17 @@ QString QAccessibleTextWidget::textBeforeOffset(int offset, BoundaryType boundar
}
-QString QAccessibleTextWidget::textAfterOffset(int offset, BoundaryType boundaryType,
+QString QAccessibleTextWidget::textAfterOffset(int offset, QAccessible::TextBoundaryType boundaryType,
int *startOffset, int *endOffset) const
{
Q_ASSERT(startOffset);
Q_ASSERT(endOffset);
- QPair<int, int> boundaries = getBoundaries(offset, boundaryType);
- boundaries = getBoundaries(boundaries.second, boundaryType);
+ QTextCursor cursor = textCursor();
+ cursor.setPosition(offset);
+ QPair<int, int> boundaries = QAccessible::qAccessibleTextBoundaryHelper(cursor, boundaryType);
+ cursor.setPosition(boundaries.second);
+ boundaries = QAccessible::qAccessibleTextBoundaryHelper(cursor, boundaryType);
*startOffset = boundaries.first;
*endOffset = boundaries.second;
@@ -1097,13 +1033,15 @@ QString QAccessibleTextWidget::textAfterOffset(int offset, BoundaryType boundary
return text(boundaries.first, boundaries.second);
}
-QString QAccessibleTextWidget::textAtOffset(int offset, BoundaryType boundaryType,
+QString QAccessibleTextWidget::textAtOffset(int offset, QAccessible::TextBoundaryType boundaryType,
int *startOffset, int *endOffset) const
{
Q_ASSERT(startOffset);
Q_ASSERT(endOffset);
- QPair<int, int> boundaries = getBoundaries(offset, boundaryType);
+ QTextCursor cursor = textCursor();
+ cursor.setPosition(offset);
+ QPair<int, int> boundaries = QAccessible::qAccessibleTextBoundaryHelper(cursor, boundaryType);
*startOffset = boundaries.first;
*endOffset = boundaries.second;
diff --git a/src/plugins/accessible/widgets/qaccessiblewidgets.h b/src/plugins/accessible/widgets/qaccessiblewidgets.h
index 35ef3ce905..c60a1d893e 100644
--- a/src/plugins/accessible/widgets/qaccessiblewidgets.h
+++ b/src/plugins/accessible/widgets/qaccessiblewidgets.h
@@ -92,11 +92,11 @@ public:
// text
QString text(int startOffset, int endOffset) const;
- QString textBeforeOffset(int offset, QAccessible2::BoundaryType boundaryType,
+ QString textBeforeOffset(int offset, QAccessible::TextBoundaryType boundaryType,
int *startOffset, int *endOffset) const;
- QString textAfterOffset(int offset, QAccessible2::BoundaryType boundaryType,
+ QString textAfterOffset(int offset, QAccessible::TextBoundaryType boundaryType,
int *startOffset, int *endOffset) const;
- QString textAtOffset(int offset, QAccessible2::BoundaryType boundaryType,
+ QString textAtOffset(int offset, QAccessible::TextBoundaryType boundaryType,
int *startOffset, int *endOffset) const;
int characterCount() const;
@@ -115,8 +115,8 @@ public:
protected:
QTextCursor textCursorForRange(int startOffset, int endOffset) const;
- QPair<int, int> getBoundaries(int offset, QAccessible2::BoundaryType boundaryType) const;
virtual QPoint scrollBarPosition() const;
+ // return the current text cursor at the caret position including a potential selection
virtual QTextCursor textCursor() const = 0;
virtual void setTextCursor(const QTextCursor &) = 0;
virtual QTextDocument *textDocument() const = 0;
diff --git a/src/plugins/accessible/widgets/simplewidgets.cpp b/src/plugins/accessible/widgets/simplewidgets.cpp
index a9a43a7875..0112182a4b 100644
--- a/src/plugins/accessible/widgets/simplewidgets.cpp
+++ b/src/plugins/accessible/widgets/simplewidgets.cpp
@@ -67,7 +67,6 @@ QT_BEGIN_NAMESPACE
#ifndef QT_NO_ACCESSIBILITY
-using namespace QAccessible2;
extern QList<QWidget*> childWidgets(const QWidget *widget, bool includeTopLevel = false);
QString Q_GUI_EXPORT qt_accStripAmp(const QString &text);
@@ -724,7 +723,7 @@ QString QAccessibleLineEdit::text(int startOffset, int endOffset) const
return lineEdit()->text().mid(startOffset, endOffset - startOffset);
}
-QString QAccessibleLineEdit::textBeforeOffset(int offset, BoundaryType boundaryType,
+QString QAccessibleLineEdit::textBeforeOffset(int offset, QAccessible::TextBoundaryType boundaryType,
int *startOffset, int *endOffset) const
{
if (lineEdit()->echoMode() != QLineEdit::Normal) {
@@ -734,7 +733,7 @@ QString QAccessibleLineEdit::textBeforeOffset(int offset, BoundaryType boundaryT
return QAccessibleTextInterface::textBeforeOffset(offset, boundaryType, startOffset, endOffset);
}
-QString QAccessibleLineEdit::textAfterOffset(int offset, BoundaryType boundaryType,
+QString QAccessibleLineEdit::textAfterOffset(int offset, QAccessible::TextBoundaryType boundaryType,
int *startOffset, int *endOffset) const
{
if (lineEdit()->echoMode() != QLineEdit::Normal) {
@@ -744,7 +743,7 @@ QString QAccessibleLineEdit::textAfterOffset(int offset, BoundaryType boundaryTy
return QAccessibleTextInterface::textAfterOffset(offset, boundaryType, startOffset, endOffset);
}
-QString QAccessibleLineEdit::textAtOffset(int offset, BoundaryType boundaryType,
+QString QAccessibleLineEdit::textAtOffset(int offset, QAccessible::TextBoundaryType boundaryType,
int *startOffset, int *endOffset) const
{
if (lineEdit()->echoMode() != QLineEdit::Normal) {
diff --git a/src/plugins/accessible/widgets/simplewidgets.h b/src/plugins/accessible/widgets/simplewidgets.h
index 4701634ca0..f1426354f1 100644
--- a/src/plugins/accessible/widgets/simplewidgets.h
+++ b/src/plugins/accessible/widgets/simplewidgets.h
@@ -156,11 +156,11 @@ public:
int offsetAtPoint(const QPoint &point) const;
void selection(int selectionIndex, int *startOffset, int *endOffset) const;
QString text(int startOffset, int endOffset) const;
- QString textBeforeOffset (int offset, QAccessible2::BoundaryType boundaryType,
+ QString textBeforeOffset (int offset, QAccessible::TextBoundaryType boundaryType,
int *startOffset, int *endOffset) const;
- QString textAfterOffset(int offset, QAccessible2::BoundaryType boundaryType,
+ QString textAfterOffset(int offset, QAccessible::TextBoundaryType boundaryType,
int *startOffset, int *endOffset) const;
- QString textAtOffset(int offset, QAccessible2::BoundaryType boundaryType,
+ QString textAtOffset(int offset, QAccessible::TextBoundaryType boundaryType,
int *startOffset, int *endOffset) const;
void removeSelection(int selectionIndex);
void setCursorPosition(int position);
diff --git a/src/plugins/platforms/windows/accessible/iaccessible2.cpp b/src/plugins/platforms/windows/accessible/iaccessible2.cpp
index b1afd7aca3..7a28fd9074 100644
--- a/src/plugins/platforms/windows/accessible/iaccessible2.cpp
+++ b/src/plugins/platforms/windows/accessible/iaccessible2.cpp
@@ -1354,7 +1354,7 @@ HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_textBeforeOffset(long offse
QAccessibleInterface *accessible = accessibleInterface();
accessibleDebugClientCalls(accessible);
if (QAccessibleTextInterface *textIface = textInterface()) {
- const QString txt = textIface->textBeforeOffset(offset, (QAccessible2::BoundaryType)boundaryType, (int*)startOffset, (int*)endOffset);
+ const QString txt = textIface->textBeforeOffset(offset, (QAccessible::TextBoundaryType)boundaryType, (int*)startOffset, (int*)endOffset);
if (!txt.isEmpty()) {
*text = QStringToBSTR(txt);
return S_OK;
@@ -1374,7 +1374,7 @@ HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_textAfterOffset(
QAccessibleInterface *accessible = accessibleInterface();
accessibleDebugClientCalls(accessible);
if (QAccessibleTextInterface *textIface = textInterface()) {
- const QString txt = textIface->textAfterOffset(offset, (QAccessible2::BoundaryType)boundaryType, (int*)startOffset, (int*)endOffset);
+ const QString txt = textIface->textAfterOffset(offset, (QAccessible::TextBoundaryType)boundaryType, (int*)startOffset, (int*)endOffset);
if (!txt.isEmpty()) {
*text = QStringToBSTR(txt);
return S_OK;
@@ -1393,7 +1393,7 @@ HRESULT STDMETHODCALLTYPE QWindowsIA2Accessible::get_textAtOffset(long offset,
QAccessibleInterface *accessible = accessibleInterface();
accessibleDebugClientCalls(accessible);
if (QAccessibleTextInterface *textIface = textInterface()) {
- const QString txt = textIface->textAtOffset(offset, (QAccessible2::BoundaryType)boundaryType, (int*)startOffset, (int*)endOffset);
+ const QString txt = textIface->textAtOffset(offset, (QAccessible::TextBoundaryType)boundaryType, (int*)startOffset, (int*)endOffset);
if (!txt.isEmpty()) {
*text = QStringToBSTR(txt);
return S_OK;
diff --git a/tests/auto/other/qaccessibility/tst_qaccessibility.cpp b/tests/auto/other/qaccessibility/tst_qaccessibility.cpp
index 670beff40b..4e0b3298fc 100644
--- a/tests/auto/other/qaccessibility/tst_qaccessibility.cpp
+++ b/tests/auto/other/qaccessibility/tst_qaccessibility.cpp
@@ -1644,10 +1644,10 @@ void tst_QAccessibility::textEditTest()
QTest::qWaitForWindowShown(&edit);
QAccessibleInterface *iface = QAccessible::queryAccessibleInterface(&edit);
QCOMPARE(iface->text(QAccessible::Value), edit.toPlainText());
- QCOMPARE(iface->textInterface()->textAtOffset(8, QAccessible2::WordBoundary, &startOffset, &endOffset), QString("world"));
+ QCOMPARE(iface->textInterface()->textAtOffset(8, QAccessible::WordBoundary, &startOffset, &endOffset), QString("world"));
QCOMPARE(startOffset, 6);
QCOMPARE(endOffset, 11);
- QCOMPARE(iface->textInterface()->textAtOffset(15, QAccessible2::LineBoundary, &startOffset, &endOffset), QString("How are you today?"));
+ QCOMPARE(iface->textInterface()->textAtOffset(15, QAccessible::LineBoundary, &startOffset, &endOffset), QString("How are you today?"));
QCOMPARE(startOffset, 13);
QCOMPARE(endOffset, 31);
QCOMPARE(iface->textInterface()->characterCount(), 48);
@@ -1705,10 +1705,10 @@ void tst_QAccessibility::textBrowserTest()
QCOMPARE(iface->text(QAccessible::Value), text);
int startOffset;
int endOffset;
- QCOMPARE(iface->textInterface()->textAtOffset(8, QAccessible2::WordBoundary, &startOffset, &endOffset), QString("world"));
+ QCOMPARE(iface->textInterface()->textAtOffset(8, QAccessible::WordBoundary, &startOffset, &endOffset), QString("world"));
QCOMPARE(startOffset, 6);
QCOMPARE(endOffset, 11);
- QCOMPARE(iface->textInterface()->textAtOffset(14, QAccessible2::LineBoundary, &startOffset, &endOffset), QString("how are you today?"));
+ QCOMPARE(iface->textInterface()->textAtOffset(14, QAccessible::LineBoundary, &startOffset, &endOffset), QString("how are you today?"));
QCOMPARE(startOffset, 12);
QCOMPARE(endOffset, 30);
QCOMPARE(iface->textInterface()->characterCount(), 31);
@@ -1931,45 +1931,45 @@ void tst_QAccessibility::lineEditTest()
int start, end;
QCOMPARE(textIface->text(0, 8), QString::fromLatin1("I always"));
- QCOMPARE(textIface->textAtOffset(0, QAccessible2::CharBoundary,&start,&end), QString::fromLatin1("I"));
+ QCOMPARE(textIface->textAtOffset(0, QAccessible::CharBoundary,&start,&end), QString::fromLatin1("I"));
QCOMPARE(start, 0);
QCOMPARE(end, 1);
- QCOMPARE(textIface->textBeforeOffset(0, QAccessible2::CharBoundary,&start,&end), QString());
- QCOMPARE(textIface->textAfterOffset(0, QAccessible2::CharBoundary,&start,&end), QString::fromLatin1(" "));
+ QCOMPARE(textIface->textBeforeOffset(0, QAccessible::CharBoundary,&start,&end), QString());
+ QCOMPARE(textIface->textAfterOffset(0, QAccessible::CharBoundary,&start,&end), QString::fromLatin1(" "));
QCOMPARE(start, 1);
QCOMPARE(end, 2);
- QCOMPARE(textIface->textAtOffset(5, QAccessible2::CharBoundary,&start,&end), QString::fromLatin1("a"));
+ QCOMPARE(textIface->textAtOffset(5, QAccessible::CharBoundary,&start,&end), QString::fromLatin1("a"));
QCOMPARE(start, 5);
QCOMPARE(end, 6);
- QCOMPARE(textIface->textBeforeOffset(5, QAccessible2::CharBoundary,&start,&end), QString::fromLatin1("w"));
- QCOMPARE(textIface->textAfterOffset(5, QAccessible2::CharBoundary,&start,&end), QString::fromLatin1("y"));
+ QCOMPARE(textIface->textBeforeOffset(5, QAccessible::CharBoundary,&start,&end), QString::fromLatin1("w"));
+ QCOMPARE(textIface->textAfterOffset(5, QAccessible::CharBoundary,&start,&end), QString::fromLatin1("y"));
- QCOMPARE(textIface->textAtOffset(5, QAccessible2::WordBoundary,&start,&end), QString::fromLatin1("always"));
+ QCOMPARE(textIface->textAtOffset(5, QAccessible::WordBoundary,&start,&end), QString::fromLatin1("always"));
QCOMPARE(start, 2);
QCOMPARE(end, 8);
- QCOMPARE(textIface->textAtOffset(2, QAccessible2::WordBoundary,&start,&end), QString::fromLatin1("always"));
- QCOMPARE(textIface->textAtOffset(7, QAccessible2::WordBoundary,&start,&end), QString::fromLatin1("always"));
- QCOMPARE(textIface->textAtOffset(8, QAccessible2::WordBoundary,&start,&end), QString::fromLatin1(" "));
- QCOMPARE(textIface->textAtOffset(25, QAccessible2::WordBoundary,&start,&end), QString::fromLatin1("advice"));
- QCOMPARE(textIface->textAtOffset(92, QAccessible2::WordBoundary,&start,&end), QString::fromLatin1("oneself"));
- QCOMPARE(textIface->textAtOffset(101, QAccessible2::WordBoundary,&start,&end), QString::fromLatin1(". --"));
+ QCOMPARE(textIface->textAtOffset(2, QAccessible::WordBoundary,&start,&end), QString::fromLatin1("always"));
+ QCOMPARE(textIface->textAtOffset(7, QAccessible::WordBoundary,&start,&end), QString::fromLatin1("always"));
+ QCOMPARE(textIface->textAtOffset(8, QAccessible::WordBoundary,&start,&end), QString::fromLatin1(" "));
+ QCOMPARE(textIface->textAtOffset(25, QAccessible::WordBoundary,&start,&end), QString::fromLatin1("advice"));
+ QCOMPARE(textIface->textAtOffset(92, QAccessible::WordBoundary,&start,&end), QString::fromLatin1("oneself"));
+ QCOMPARE(textIface->textAtOffset(101, QAccessible::WordBoundary,&start,&end), QString::fromLatin1(". --"));
- QCOMPARE(textIface->textBeforeOffset(5, QAccessible2::WordBoundary,&start,&end), QString::fromLatin1(" "));
- QCOMPARE(textIface->textAfterOffset(5, QAccessible2::WordBoundary,&start,&end), QString::fromLatin1(" "));
- QCOMPARE(textIface->textAtOffset(5, QAccessible2::SentenceBoundary,&start,&end), QString::fromLatin1("I always pass on good advice. "));
+ QCOMPARE(textIface->textBeforeOffset(5, QAccessible::WordBoundary,&start,&end), QString::fromLatin1(" "));
+ QCOMPARE(textIface->textAfterOffset(5, QAccessible::WordBoundary,&start,&end), QString::fromLatin1(" "));
+ QCOMPARE(textIface->textAtOffset(5, QAccessible::SentenceBoundary,&start,&end), QString::fromLatin1("I always pass on good advice. "));
QCOMPARE(start, 0);
QCOMPARE(end, 30);
- QCOMPARE(textIface->textBeforeOffset(40, QAccessible2::SentenceBoundary,&start,&end), QString::fromLatin1("I always pass on good advice. "));
- QCOMPARE(textIface->textAfterOffset(5, QAccessible2::SentenceBoundary,&start,&end), QString::fromLatin1("It is the only thing to do with it. "));
+ QCOMPARE(textIface->textBeforeOffset(40, QAccessible::SentenceBoundary,&start,&end), QString::fromLatin1("I always pass on good advice. "));
+ QCOMPARE(textIface->textAfterOffset(5, QAccessible::SentenceBoundary,&start,&end), QString::fromLatin1("It is the only thing to do with it. "));
- QCOMPARE(textIface->textAtOffset(5, QAccessible2::ParagraphBoundary,&start,&end), cite);
+ QCOMPARE(textIface->textAtOffset(5, QAccessible::ParagraphBoundary,&start,&end), cite);
QCOMPARE(start, 0);
QCOMPARE(end, cite.length());
- QCOMPARE(textIface->textAtOffset(5, QAccessible2::LineBoundary,&start,&end), cite);
- QCOMPARE(textIface->textAtOffset(5, QAccessible2::NoBoundary,&start,&end), cite);
+ QCOMPARE(textIface->textAtOffset(5, QAccessible::LineBoundary,&start,&end), cite);
+ QCOMPARE(textIface->textAtOffset(5, QAccessible::NoBoundary,&start,&end), cite);
QTestAccessibility::clearEvents();
}