aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickdialogs/quickdialogsquickimpl/qquickfontdialogimpl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/quickdialogs/quickdialogsquickimpl/qquickfontdialogimpl.cpp')
-rw-r--r--src/quickdialogs/quickdialogsquickimpl/qquickfontdialogimpl.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/quickdialogs/quickdialogsquickimpl/qquickfontdialogimpl.cpp b/src/quickdialogs/quickdialogsquickimpl/qquickfontdialogimpl.cpp
index 960f8785ea..6ec6382a2d 100644
--- a/src/quickdialogs/quickdialogsquickimpl/qquickfontdialogimpl.cpp
+++ b/src/quickdialogs/quickdialogsquickimpl/qquickfontdialogimpl.cpp
@@ -147,6 +147,18 @@ void QQuickFontDialogImpl::focusOutEvent(QFocusEvent *event)
attached->clearSearch();
}
+void QQuickFontDialogImpl::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data)
+{
+ Q_D(QQuickFontDialogImpl);
+ QQuickDialog::itemChange(change, data);
+
+ if (change != QQuickItem::ItemVisibleHasChanged || !isComponentComplete() || !data.boolValue)
+ return;
+
+ if (QQuickFontDialogImplAttached *attached = d->attachedOrWarn(); attached && attached->buttonBox())
+ attached->buttonBox()->forceActiveFocus(Qt::OtherFocusReason);
+}
+
QQuickFontDialogImplAttached::QQuickFontDialogImplAttached(QObject *parent)
: QObject(*(new QQuickFontDialogImplAttachedPrivate), parent),
m_writingSystem(QFontDatabase::Any),