diff options
author | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-03-24 16:07:50 +0100 |
---|---|---|
committer | Frederik Gladhorn <frederik.gladhorn@digia.com> | 2014-03-24 16:07:50 +0100 |
commit | ec7b40e87a2b129ccecf5bc46b5f84cf5563291c (patch) | |
tree | ff0d2d69c779801df482291772007a94d99fe7da | |
parent | 720431716a8af66d1be73a1c9462ef12af831c90 (diff) | |
parent | 6ac69be3148822a0dafce227eab19b97722b6cc2 (diff) |
Merge remote-tracking branch 'origin/stable' into dev
Change-Id: Ic5bcce627df03517c29597e6bb864f7b3fad2ebe
-rw-r--r-- | src/declarative/graphicsitems/qdeclarativetextedit.cpp | 2 | ||||
-rw-r--r-- | tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp | 24 |
2 files changed, 25 insertions, 1 deletions
diff --git a/src/declarative/graphicsitems/qdeclarativetextedit.cpp b/src/declarative/graphicsitems/qdeclarativetextedit.cpp index ce079288..f2b72599 100644 --- a/src/declarative/graphicsitems/qdeclarativetextedit.cpp +++ b/src/declarative/graphicsitems/qdeclarativetextedit.cpp @@ -673,7 +673,7 @@ QRectF QDeclarativeTextEdit::positionToRectangle(int pos) const Q_D(const QDeclarativeTextEdit); QTextCursor c(d->document); c.setPosition(pos); - return d->control->cursorRect(c); + return d->control->cursorRect(c).translated(0, d->yoff); } diff --git a/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp b/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp index 03283d93..31162421 100644 --- a/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp +++ b/tests/auto/declarative/qdeclarativetextedit/tst_qdeclarativetextedit.cpp @@ -639,6 +639,30 @@ void tst_qdeclarativetextedit::vAlign() } } + QDeclarativeComponent texteditComponent(&engine); + texteditComponent.setData("import QtQuick 1.0\n TextEdit { width: 200; height: 200; text: \"Hello World\" }", QUrl()); + QDeclarativeTextEdit *textEditObject = qobject_cast<QDeclarativeTextEdit*>(texteditComponent.create()); + + QVERIFY(textEditObject != 0); + + QCOMPARE(textEditObject->vAlign(), QDeclarativeTextEdit::AlignTop); + QVERIFY(textEditObject->cursorRectangle().bottom() < 50); + QVERIFY(textEditObject->positionToRectangle(0).bottom() < 50); + + // bottom aligned + textEditObject->setVAlign(QDeclarativeTextEdit::AlignBottom); + + QCOMPARE(textEditObject->vAlign(), QDeclarativeTextEdit::AlignBottom); + QVERIFY(textEditObject->cursorRectangle().top() > 100); + QVERIFY(textEditObject->positionToRectangle(0).top() > 100); + + // explicitly center aligned + textEditObject->setVAlign(QDeclarativeTextEdit::AlignVCenter); + QCOMPARE(textEditObject->vAlign(), QDeclarativeTextEdit::AlignVCenter); + QVERIFY(textEditObject->cursorRectangle().top() < 100); + QVERIFY(textEditObject->cursorRectangle().bottom() > 100); + QVERIFY(textEditObject->positionToRectangle(0).top() < 100); + QVERIFY(textEditObject->positionToRectangle(0).bottom() > 100); } void tst_qdeclarativetextedit::font() |