diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2017-01-19 21:42:20 +0100 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2017-01-27 14:42:11 +0000 |
commit | 9351df782b513a5e4dbdd2780ef376a0a08e9800 (patch) | |
tree | 949fb02e7abfe2b081b81e796e00741eb4c74ecc /src/quicktemplates2 | |
parent | a9aa500a680058d7f2a75f02ad8d72c4b1e49f7c (diff) |
Make TextArea work out of the box inside ScrollView
[ChangeLog][Controls][TextArea] TextArea has been made to work inside
ScrollView, providing necessary scroll bars out of the box.
Change-Id: I212ee4c60912c961cbb9683540848141dcba29a5
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quicktemplates2')
-rw-r--r-- | src/quicktemplates2/qquicktextarea.cpp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/quicktemplates2/qquicktextarea.cpp b/src/quicktemplates2/qquicktextarea.cpp index fb006c1b..573521cf 100644 --- a/src/quicktemplates2/qquicktextarea.cpp +++ b/src/quicktemplates2/qquicktextarea.cpp @@ -38,6 +38,7 @@ #include "qquicktextarea_p_p.h" #include "qquickcontrol_p.h" #include "qquickcontrol_p_p.h" +#include "qquickscrollview_p.h" #include <QtQml/qqmlinfo.h> #include <QtQuick/private/qquickitem_p.h> @@ -80,14 +81,13 @@ QT_BEGIN_NAMESPACE \section2 Scrollable TextArea If you want to make a TextArea scrollable, for example, when it covers - an entire application page, attach it to a \l Flickable and combine with a - \l ScrollBar or \l ScrollIndicator. + an entire application page, it can be placed inside a \l ScrollView. - \image qtquickcontrols2-textarea-flickable.png + \image qtquickcontrols2-textarea-scrollable.png - \snippet qtquickcontrols2-textarea-flickable.qml 1 + \snippet qtquickcontrols2-textarea-scrollable.qml 1 - A TextArea that is attached to a \l Flickable does the following: + A TextArea that is placed inside a \l ScrollView does the following: \list \li Sets the content size automatically @@ -603,6 +603,13 @@ void QQuickTextArea::itemChange(QQuickItem::ItemChange change, const QQuickItem: d->resolveFont(); if (!d->explicitHoverEnabled) d->updateHoverEnabled(QQuickControlPrivate::calcHoverEnabled(d->parentItem), false); // explicit=false + + QQuickFlickable *flickable = qobject_cast<QQuickFlickable *>(value.item->parentItem()); + if (flickable) { + QQuickScrollView *scrollView = qobject_cast<QQuickScrollView *>(flickable->parentItem()); + if (scrollView) + d->attachFlickable(flickable); + } } } |