aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquickcombobox.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quicktemplates2/qquickcombobox.cpp')
-rw-r--r--src/quicktemplates2/qquickcombobox.cpp21
1 files changed, 15 insertions, 6 deletions
diff --git a/src/quicktemplates2/qquickcombobox.cpp b/src/quicktemplates2/qquickcombobox.cpp
index 136b32f4..c01d6394 100644
--- a/src/quicktemplates2/qquickcombobox.cpp
+++ b/src/quicktemplates2/qquickcombobox.cpp
@@ -269,6 +269,8 @@ public:
void itemImplicitWidthChanged(QQuickItem *item) override;
void itemImplicitHeightChanged(QQuickItem *item) override;
+ void setInputMethodHints(Qt::InputMethodHints hints, bool force = false);
+
virtual qreal getContentWidth() const override;
qreal calculateWidestTextWidth() const;
void maybeUpdateImplicitContentWidth();
@@ -791,6 +793,16 @@ void QQuickComboBoxPrivate::itemImplicitWidthChanged(QQuickItem *item)
emit q->implicitIndicatorWidthChanged();
}
+void QQuickComboBoxPrivate::setInputMethodHints(Qt::InputMethodHints hints, bool force)
+{
+ Q_Q(QQuickComboBox);
+ if (!force && hints == q->inputMethodHints())
+ return;
+
+ extra.value().inputMethodHints = hints;
+ emit q->inputMethodHintsChanged();
+}
+
void QQuickComboBoxPrivate::itemImplicitHeightChanged(QQuickItem *item)
{
Q_Q(QQuickComboBox);
@@ -893,7 +905,8 @@ QQuickComboBox::QQuickComboBox(QQuickItem *parent)
#if QT_CONFIG(cursor)
setCursor(Qt::ArrowCursor);
#endif
- setInputMethodHints(Qt::ImhNoPredictiveText);
+ Q_D(QQuickComboBox);
+ d->setInputMethodHints(Qt::ImhNoPredictiveText, true);
}
QQuickComboBox::~QQuickComboBox()
@@ -1529,11 +1542,7 @@ Qt::InputMethodHints QQuickComboBox::inputMethodHints() const
void QQuickComboBox::setInputMethodHints(Qt::InputMethodHints hints)
{
Q_D(QQuickComboBox);
- if (hints == inputMethodHints())
- return;
-
- d->extra.value().inputMethodHints = hints;
- emit inputMethodHintsChanged();
+ d->setInputMethodHints(hints);
}
/*!