aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates/qquicktextfield.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quicktemplates/qquicktextfield.cpp')
-rw-r--r--src/quicktemplates/qquicktextfield.cpp37
1 files changed, 22 insertions, 15 deletions
diff --git a/src/quicktemplates/qquicktextfield.cpp b/src/quicktemplates/qquicktextfield.cpp
index bb62c15ed1..9513be3f3b 100644
--- a/src/quicktemplates/qquicktextfield.cpp
+++ b/src/quicktemplates/qquicktextfield.cpp
@@ -288,7 +288,7 @@ void QQuickTextFieldPrivate::accessibilityActiveChanged(bool active)
Q_Q(QQuickTextField);
QQuickAccessibleAttached *accessibleAttached = qobject_cast<QQuickAccessibleAttached *>(qmlAttachedPropertiesObject<QQuickAccessibleAttached>(q, true));
Q_ASSERT(accessibleAttached);
- accessibleAttached->setRole(accessibleRole());
+ accessibleAttached->setRole(effectiveAccessibleRole());
accessibleAttached->set_readOnly(m_readOnly);
accessibleAttached->set_passwordEdit((m_echoMode == QQuickTextField::Password || m_echoMode == QQuickTextField::PasswordEchoOnEdit) ? true : false);
accessibleAttached->setDescription(placeholder);
@@ -300,8 +300,6 @@ QAccessible::Role QQuickTextFieldPrivate::accessibleRole() const
}
#endif
-static inline QString backgroundName() { return QStringLiteral("background"); }
-
void QQuickTextFieldPrivate::cancelBackground()
{
Q_Q(QQuickTextField);
@@ -525,21 +523,32 @@ void QQuickTextField::setPlaceholderTextColor(const QColor &color)
/*!
\qmlproperty enumeration QtQuick.Controls::TextField::focusReason
- \include qquickcontrol-focusreason.qdocinc
+ This property holds the reason of the last focus change.
+
+ \note This property does not indicate whether the item has \l {Item::activeFocus}
+ {active focus}, but the reason why the item either gained or lost focus.
+
+ \value Qt.MouseFocusReason A mouse action occurred.
+ \value Qt.TabFocusReason The Tab key was pressed.
+ \value Qt.BacktabFocusReason A Backtab occurred. The input for this may include the Shift or Control keys; e.g. Shift+Tab.
+ \value Qt.ActiveWindowFocusReason The window system made this window either active or inactive.
+ \value Qt.PopupFocusReason The application opened/closed a pop-up that grabbed/released the keyboard focus.
+ \value Qt.ShortcutFocusReason The user typed a label's buddy shortcut
+ \value Qt.MenuBarFocusReason The menu bar took focus.
+ \value Qt.OtherFocusReason Another reason, usually application-specific.
+
+ \note Prefer \l {Item::focusReason} to this property.
*/
Qt::FocusReason QQuickTextField::focusReason() const
{
Q_D(const QQuickTextField);
- return d->focusReason;
+ return d->lastFocusChangeReason();
}
void QQuickTextField::setFocusReason(Qt::FocusReason reason)
{
Q_D(QQuickTextField);
- if (d->focusReason == reason)
- return;
-
- d->focusReason = reason;
+ d->setLastFocusChangeReason(reason);
emit focusReasonChanged();
}
@@ -839,13 +848,11 @@ QSGNode *QQuickTextField::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData
void QQuickTextField::focusInEvent(QFocusEvent *event)
{
QQuickTextInput::focusInEvent(event);
- setFocusReason(event->reason());
}
void QQuickTextField::focusOutEvent(QFocusEvent *event)
{
QQuickTextInput::focusOutEvent(event);
- setFocusReason(event->reason());
}
#if QT_CONFIG(quicktemplates2_hover)
@@ -871,7 +878,7 @@ void QQuickTextField::mousePressEvent(QMouseEvent *event)
d->pressHandler.mousePressEvent(event);
if (d->pressHandler.isActive()) {
if (d->pressHandler.delayedMousePressEvent) {
- QQuickTextInput::mousePressEvent(d->pressHandler.delayedMousePressEvent);
+ QQuickTextInput::mousePressEvent(d->pressHandler.delayedMousePressEvent.get());
d->pressHandler.clearDelayedMouseEvent();
}
if (event->buttons() != Qt::RightButton)
@@ -885,7 +892,7 @@ void QQuickTextField::mouseMoveEvent(QMouseEvent *event)
d->pressHandler.mouseMoveEvent(event);
if (d->pressHandler.isActive()) {
if (d->pressHandler.delayedMousePressEvent) {
- QQuickTextInput::mousePressEvent(d->pressHandler.delayedMousePressEvent);
+ QQuickTextInput::mousePressEvent(d->pressHandler.delayedMousePressEvent.get());
d->pressHandler.clearDelayedMouseEvent();
}
const bool isMouse = QQuickDeliveryAgentPrivate::isEventFromMouseOrTouchpad(event)
@@ -904,7 +911,7 @@ void QQuickTextField::mouseReleaseEvent(QMouseEvent *event)
d->pressHandler.mouseReleaseEvent(event);
if (d->pressHandler.isActive()) {
if (d->pressHandler.delayedMousePressEvent) {
- QQuickTextInput::mousePressEvent(d->pressHandler.delayedMousePressEvent);
+ QQuickTextInput::mousePressEvent(d->pressHandler.delayedMousePressEvent.get());
d->pressHandler.clearDelayedMouseEvent();
}
if (event->buttons() != Qt::RightButton)
@@ -916,7 +923,7 @@ void QQuickTextField::mouseDoubleClickEvent(QMouseEvent *event)
{
Q_D(QQuickTextField);
if (d->pressHandler.delayedMousePressEvent) {
- QQuickTextInput::mousePressEvent(d->pressHandler.delayedMousePressEvent);
+ QQuickTextInput::mousePressEvent(d->pressHandler.delayedMousePressEvent.get());
d->pressHandler.clearDelayedMouseEvent();
}
if (event->buttons() != Qt::RightButton)