diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2012-10-18 16:59:08 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-11-03 19:24:00 +0100 |
commit | 5bd55890facc4e684669c7eec6970c8895e4fffa (patch) | |
tree | 5c899ac16271891cf01df237b0c4f987c131db1e /src/plugins/accessible/widgets/simplewidgets.cpp | |
parent | 9764907240b7834abd4647e4a856d08aa414b578 (diff) |
Implement editable text interface for QLineEdit.
This was uncovered by the linux accessibility test which
tried to call non-existing functions.
Change-Id: Iaa9640c23ee77d7c5b2321d7f8cfa6d12d61c0e9
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
Diffstat (limited to 'src/plugins/accessible/widgets/simplewidgets.cpp')
-rw-r--r-- | src/plugins/accessible/widgets/simplewidgets.cpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/plugins/accessible/widgets/simplewidgets.cpp b/src/plugins/accessible/widgets/simplewidgets.cpp index 9bdb1decde..a45c199419 100644 --- a/src/plugins/accessible/widgets/simplewidgets.cpp +++ b/src/plugins/accessible/widgets/simplewidgets.cpp @@ -653,6 +653,8 @@ void *QAccessibleLineEdit::interface_cast(QAccessible::InterfaceType t) { if (t == QAccessible::TextInterface) return static_cast<QAccessibleTextInterface*>(this); + if (t == QAccessible::EditableTextInterface) + return static_cast<QAccessibleEditableTextInterface*>(this); return QAccessibleWidget::interface_cast(t); } @@ -784,6 +786,21 @@ void QAccessibleLineEdit::scrollToSubstring(int startIndex, int endIndex) lineEdit()->setCursorPosition(startIndex); } +void QAccessibleLineEdit::deleteText(int startOffset, int endOffset) +{ + lineEdit()->setText(lineEdit()->text().remove(startOffset, endOffset - startOffset)); +} + +void QAccessibleLineEdit::insertText(int offset, const QString &text) +{ + lineEdit()->setText(lineEdit()->text().insert(offset, text)); +} + +void QAccessibleLineEdit::replaceText(int startOffset, int endOffset, const QString &text) +{ + lineEdit()->setText(lineEdit()->text().replace(startOffset, endOffset - startOffset, text)); +} + #endif // QT_NO_LINEEDIT #ifndef QT_NO_PROGRESSBAR |