aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJan Arve Saether <jan-arve.saether@digia.com>2014-02-10 14:38:52 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2014-02-12 09:06:29 +0100
commitf9bafac9ef22f3c6962c85de7dbc8c3d177de625 (patch)
treeac1603dbba005dbecfbbea577fe808aac3976cb9 /src
parent67ba88947f57ab2d1859bbeb96c6dcba020561b1 (diff)
Fixed wrong baseline alignment for TextInput
[ChangeLog][QtQuick][Fixed wrong baseline alignment for TextInput] Task-number: QTBUG-36749 Change-Id: I6920fb0681f30d9e9943d1bd01f76cc3ae204f30 Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Diffstat (limited to 'src')
-rw-r--r--src/quick/items/qquicktextinput.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/quick/items/qquicktextinput.cpp b/src/quick/items/qquicktextinput.cpp
index 9f155f9cf7..7ee1c937c6 100644
--- a/src/quick/items/qquicktextinput.cpp
+++ b/src/quick/items/qquicktextinput.cpp
@@ -2855,6 +2855,18 @@ void QQuickTextInputPrivate::updateLayout()
else
q->setImplicitHeight(height);
+
+ QFontMetricsF fm(font);
+ qreal yoff = 0;
+ if (q->heightValid()) {
+ const qreal itemHeight = q->height();
+ if (vAlign == QQuickTextInput::AlignBottom)
+ yoff = itemHeight - height;
+ else if (vAlign == QQuickTextInput::AlignVCenter)
+ yoff = (itemHeight - height)/2;
+ }
+ q->setBaselineOffset(fm.ascent() + yoff);
+
if (previousSize != contentSize)
emit q->contentSizeChanged();
}