diff options
Diffstat (limited to 'src/templates/qquicktextarea.cpp')
-rw-r--r-- | src/templates/qquicktextarea.cpp | 52 |
1 files changed, 14 insertions, 38 deletions
diff --git a/src/templates/qquicktextarea.cpp b/src/templates/qquicktextarea.cpp index e9b33399..4c23ba9b 100644 --- a/src/templates/qquicktextarea.cpp +++ b/src/templates/qquicktextarea.cpp @@ -58,12 +58,12 @@ QT_BEGIN_NAMESPACE \ingroup qtlabscontrols-input \brief A multi line text input control. - TextArea is a multi-line text editor. TextArea extends TextEdit - with a \l placeholder text functionality, and adds decoration. + TextArea is a multi-line text editor. TextArea extends TextEdit with + a \l {placeholderText}{placeholder text} functionality, and adds decoration. \code TextArea { - placeholder.text: qsTr("Enter description") + placeholderText: qsTr("Enter description") } \endcode @@ -71,7 +71,7 @@ QT_BEGIN_NAMESPACE */ QQuickTextAreaPrivate::QQuickTextAreaPrivate() - : background(Q_NULLPTR), placeholder(Q_NULLPTR), accessibleAttached(Q_NULLPTR) + : background(Q_NULLPTR), accessibleAttached(Q_NULLPTR) { #ifndef QT_NO_ACCESSIBILITY QAccessible::installActivationObserver(this); @@ -171,16 +171,6 @@ void QQuickTextAreaPrivate::_q_readOnlyChanged(bool isReadOnly) #endif } -void QQuickTextAreaPrivate::_q_placeholderTextChanged(const QString &text) -{ -#ifndef QT_NO_ACCESSIBILITY - if (accessibleAttached) - accessibleAttached->setDescription(text); -#else - Q_UNUSED(text) -#endif -} - #ifndef QT_NO_ACCESSIBILITY void QQuickTextAreaPrivate::accessibilityActiveChanged(bool active) { @@ -192,8 +182,7 @@ void QQuickTextAreaPrivate::accessibilityActiveChanged(bool active) if (accessibleAttached) { accessibleAttached->setRole(accessibleRole()); accessibleAttached->set_readOnly(q->isReadOnly()); - if (placeholder) - accessibleAttached->setDescription(placeholder->text()); + accessibleAttached->setDescription(placeholder); } else { qWarning() << "QQuickTextArea: " << q << " QQuickAccessibleAttached object creation failed!"; } @@ -265,39 +254,26 @@ void QQuickTextArea::setBackground(QQuickItem *background) } /*! - \qmlproperty Text Qt.labs.controls::TextArea::placeholder - - This property holds the placeholder text item. + \qmlproperty string Qt.labs.controls::TextArea::placeholderText - \sa {Customizing TextArea} + This property holds the placeholder text. */ -QQuickText *QQuickTextArea::placeholder() const +QString QQuickTextArea::placeholderText() const { Q_D(const QQuickTextArea); return d->placeholder; } -void QQuickTextArea::setPlaceholder(QQuickText *placeholder) +void QQuickTextArea::setPlaceholderText(const QString &text) { Q_D(QQuickTextArea); - if (d->placeholder != placeholder) { - if (d->placeholder) { - QObjectPrivate::disconnect(d->placeholder, &QQuickText::textChanged, - d, &QQuickTextAreaPrivate::_q_placeholderTextChanged); - delete d->placeholder; - } - d->placeholder = placeholder; - if (placeholder && !placeholder->parentItem()) { - placeholder->setParentItem(this); - QObjectPrivate::connect(d->placeholder, &QQuickText::textChanged, - d, &QQuickTextAreaPrivate::_q_placeholderTextChanged); - } else { + if (d->placeholder != text) { + d->placeholder = text; #ifndef QT_NO_ACCESSIBILITY - if (d->accessibleAttached) - d->accessibleAttached->setDescription(QLatin1Literal("")); + if (d->accessibleAttached) + d->accessibleAttached->setDescription(text); #endif - } - emit placeholderChanged(); + emit placeholderTextChanged(); } } |