diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2016-04-22 00:18:25 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2016-04-26 13:31:06 +0000 |
commit | 67f3da65d7d11af025a9bdd54d08ca0bf764c3ce (patch) | |
tree | 9fc5e79e31a82d39d25f8a00835a1115b55b08a7 /src/quicktemplates2/qquicktextarea_p_p.h | |
parent | 1780a817fce77f4875f001c2b95b41cd2cd06f2b (diff) |
Allow attaching TextArea to a Flickable
It is not always possible to let TextArea grow infinitely, but in
some cases it should be scrollable on its own. Even though it is not
a built-in feature of TextArea like in Qt Quick Controls 1, this change
makes it straight-forward to attach TextArea to a Flickable. This makes
TextArea behave like a standalone scrollable editor.
Change-Id: I8181e8ebe0edbcdfef2c30c9e102db7cbe4ff705
Task-number: QTBUG-51677
Task-number: QTBUG-52169
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Diffstat (limited to 'src/quicktemplates2/qquicktextarea_p_p.h')
-rw-r--r-- | src/quicktemplates2/qquicktextarea_p_p.h | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/quicktemplates2/qquicktextarea_p_p.h b/src/quicktemplates2/qquicktextarea_p_p.h index 99ee7cdb..8af5d0d7 100644 --- a/src/quicktemplates2/qquicktextarea_p_p.h +++ b/src/quicktemplates2/qquicktextarea_p_p.h @@ -49,6 +49,7 @@ // #include <QtQuick/private/qquicktextedit_p_p.h> +#include <QtQuick/private/qquickitemchangelistener_p.h> #include <QtQuickTemplates2/private/qquickpresshandler_p_p.h> #include "qquicktextarea_p.h" @@ -59,9 +60,10 @@ QT_BEGIN_NAMESPACE +class QQuickFlickable; class QQuickAccessibleAttached; -class QQuickTextAreaPrivate : public QQuickTextEditPrivate +class QQuickTextAreaPrivate : public QQuickTextEditPrivate, public QQuickItemChangeListener #ifndef QT_NO_ACCESSIBILITY , public QAccessible::ActivationObserver #endif @@ -79,6 +81,14 @@ public: void resolveFont(); void inheritFont(const QFont &f); + void attachFlickable(QQuickFlickable *flickable); + void detachFlickable(); + void ensureCursorVisible(); + void resizeFlickableControl(); + void resizeFlickableContent(); + + void itemGeometryChanged(QQuickItem *item, const QRectF &newGeometry, const QRectF &oldGeometry) override; + qreal getImplicitWidth() const override; qreal getImplicitHeight() const override; @@ -98,6 +108,7 @@ public: Qt::FocusReason focusReason; QQuickPressHandler pressHandler; QQuickAccessibleAttached *accessibleAttached; + QQuickFlickable *flickable; }; QT_END_NAMESPACE |