From f9bafac9ef22f3c6962c85de7dbc8c3d177de625 Mon Sep 17 00:00:00 2001 From: Jan Arve Saether Date: Mon, 10 Feb 2014 14:38:52 +0100 Subject: 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 --- src/quick/items/qquicktextinput.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'src') 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(); } -- cgit v1.2.3