aboutsummaryrefslogtreecommitdiffstats
path: root/src/quick/items/qquicktextedit.cpp
diff options
context:
space:
mode:
authorAndrew den Exter <andrew.den-exter@nokia.com>2012-04-18 17:20:24 +1000
committerQt by Nokia <qt-info@nokia.com>2012-04-19 06:16:28 +0200
commit7bd68f6447c79aa58a9854bb6c44db00ea36a06a (patch)
treefd5145dda805cd19a2aa2541567a280a5d1fb915 /src/quick/items/qquicktextedit.cpp
parent458eb3cce93162dced2649e44c59f27bb088f07c (diff)
Ensure the cursor delegate position is correct when wrapping.
When inserting text into a TextEdit with implicit width and wrapping the cursor delegate position has to be updated after the width is expanded to the implicit width otherwise it will be positioned in a wrapped location. Change-Id: Ibcb709ec1b4f6827ea8ae919f2e0c932c7372869 Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'src/quick/items/qquicktextedit.cpp')
-rw-r--r--src/quick/items/qquicktextedit.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/quick/items/qquicktextedit.cpp b/src/quick/items/qquicktextedit.cpp
index f727c54322..6fefab4166 100644
--- a/src/quick/items/qquicktextedit.cpp
+++ b/src/quick/items/qquicktextedit.cpp
@@ -897,6 +897,7 @@ void QQuickTextEdit::setCursorPosition(int pos)
return;
cursor.setPosition(pos);
d->control->setTextCursor(cursor);
+ d->control->updateCursorRectangle(true);
}
/*!
@@ -1143,9 +1144,12 @@ void QQuickTextEdit::geometryChanged(const QRectF &newGeometry,
const QRectF &oldGeometry)
{
Q_D(QQuickTextEdit);
- if (newGeometry.width() != oldGeometry.width() && d->wrapMode != NoWrap && !d->inLayout)
+ if (newGeometry.width() != oldGeometry.width() && d->wrapMode != NoWrap && !d->inLayout) {
updateSize();
+ moveCursorDelegate();
+ }
QQuickImplicitSizeItem::geometryChanged(newGeometry, oldGeometry);
+
}
/*!
@@ -2169,6 +2173,7 @@ void QQuickTextEdit::insert(int position, const QString &text)
} else {
cursor.insertText(text);
}
+ d->control->updateCursorRectangle(false);
}
/*!
@@ -2186,6 +2191,7 @@ void QQuickTextEdit::remove(int start, int end)
cursor.setPosition(start, QTextCursor::MoveAnchor);
cursor.setPosition(end, QTextCursor::KeepAnchor);
cursor.removeSelectedText();
+ d->control->updateCursorRectangle(false);
}
QT_END_NAMESPACE