diff options
-rw-r--r-- | src/quicktemplates2/qquickdialogbuttonbox.cpp | 27 | ||||
-rw-r--r-- | src/quicktemplates2/qquickdialogbuttonbox_p.h | 1 | ||||
-rw-r--r-- | tests/auto/translation/tst_translation.cpp | 1 |
3 files changed, 8 insertions, 21 deletions
diff --git a/src/quicktemplates2/qquickdialogbuttonbox.cpp b/src/quicktemplates2/qquickdialogbuttonbox.cpp index f3dd2da1..e6db14eb 100644 --- a/src/quicktemplates2/qquickdialogbuttonbox.cpp +++ b/src/quicktemplates2/qquickdialogbuttonbox.cpp @@ -706,34 +706,19 @@ void QQuickDialogButtonBox::updatePolish() d->updateLayout(); } -class LanguageEventFilter : public QObject +bool QQuickDialogButtonBox::event(QEvent *e) { -public: - LanguageEventFilter(QQuickDialogButtonBoxPrivate *box) - : QObject(box->q_ptr) - , boxPrivate(box) - { - } - -protected: - bool eventFilter(QObject *, QEvent *event) - { - if (event->type() == QEvent::LanguageChange) - boxPrivate->updateLanguage(); - return false; - } - -private: - QQuickDialogButtonBoxPrivate *boxPrivate; -}; + Q_D(QQuickDialogButtonBox); + if (e->type() == QEvent::LanguageChange) + d->updateLanguage(); + return QQuickContainer::event(e); +} void QQuickDialogButtonBox::componentComplete() { Q_D(QQuickDialogButtonBox); QQuickContainer::componentComplete(); d->updateLayout(); - // TODO: use the solution in QTBUG-78141 instead, when it's implemented. - qApp->installEventFilter(new LanguageEventFilter(d)); } void QQuickDialogButtonBox::geometryChanged(const QRectF &newGeometry, const QRectF &oldGeometry) diff --git a/src/quicktemplates2/qquickdialogbuttonbox_p.h b/src/quicktemplates2/qquickdialogbuttonbox_p.h index 51ae473f..75c05afb 100644 --- a/src/quicktemplates2/qquickdialogbuttonbox_p.h +++ b/src/quicktemplates2/qquickdialogbuttonbox_p.h @@ -131,6 +131,7 @@ protected: #if QT_CONFIG(accessibility) QAccessible::Role accessibleRole() const override; #endif + bool event(QEvent *e) override; private: Q_DISABLE_COPY(QQuickDialogButtonBox) diff --git a/tests/auto/translation/tst_translation.cpp b/tests/auto/translation/tst_translation.cpp index ffb39f96..81eb0b77 100644 --- a/tests/auto/translation/tst_translation.cpp +++ b/tests/auto/translation/tst_translation.cpp @@ -88,6 +88,7 @@ void tst_translation::dialogButtonBox() QTranslator translator; QVERIFY(translator.load("qtbase_fr.qm", ":/")); QVERIFY(qApp->installTranslator(&translator)); + qApp->sendPostedEvents(); view.engine()->retranslate(); QString translatedSaveText = QGuiApplicationPrivate::platformTheme()->standardButtonText(QPlatformDialogHelper::Save); |