diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/quick/items/qquicktextinput.cpp | 12 |
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(); } |