diff options
author | J-P Nurmi <jpnurmi@theqtcompany.com> | 2016-03-17 12:12:36 +0100 |
---|---|---|
committer | J-P Nurmi <jpnurmi@theqtcompany.com> | 2016-03-18 16:09:57 +0000 |
commit | e1963859d6ade7a3341a48229f1bb64ef3c9ea68 (patch) | |
tree | fec6d8f0408faad8d8e9b7c021737d266de286ab /src/templates/qquickpopup.cpp | |
parent | 76dc0b49120b5352526595951ed1275f9001c8f2 (diff) |
Add Popup::locale
Change-Id: I1f07318f3e018debd74e41bc0a1443c45def7bf3
Task-number: QTBUG-50984
Reviewed-by: Mitch Curtis <mitch.curtis@theqtcompany.com>
Diffstat (limited to 'src/templates/qquickpopup.cpp')
-rw-r--r-- | src/templates/qquickpopup.cpp | 47 |
1 files changed, 45 insertions, 2 deletions
diff --git a/src/templates/qquickpopup.cpp b/src/templates/qquickpopup.cpp index e5ccb15b..25053967 100644 --- a/src/templates/qquickpopup.cpp +++ b/src/templates/qquickpopup.cpp @@ -409,6 +409,13 @@ void QQuickPopupItem::geometryChanged(const QRectF &newGeometry, const QRectF &o d->popup->geometryChanged(newGeometry, oldGeometry); } +void QQuickPopupItem::localeChange(const QLocale &newLocale, const QLocale &oldLocale) +{ + Q_D(QQuickPopupItem); + QQuickControl::localeChange(newLocale, oldLocale); + d->popup->localeChange(newLocale, oldLocale); +} + void QQuickPopupItem::itemChange(ItemChange change, const ItemChangeData &data) { Q_D(QQuickPopupItem); @@ -1199,6 +1206,31 @@ void QQuickPopup::resetBottomPadding() } /*! + \qmlproperty Locale Qt.labs.controls::Popup::locale + + This property holds the locale of the popup. + + \sa {LayoutMirroring}{LayoutMirroring} +*/ +QLocale QQuickPopup::locale() const +{ + Q_D(const QQuickPopup); + return d->popupItem->locale(); +} + +void QQuickPopup::setLocale(const QLocale &locale) +{ + Q_D(QQuickPopup); + d->popupItem->setLocale(locale); +} + +void QQuickPopup::resetLocale() +{ + Q_D(QQuickPopup); + d->popupItem->resetLocale(); +} + +/*! \qmlproperty font Qt.labs.controls::Popup::font This property holds the font currently set for the popup. @@ -1256,8 +1288,12 @@ void QQuickPopup::setParentItem(QQuickItem *parent) d->parentItem = parent; if (d->positioner.parentItem()) d->positioner.setParentItem(parent); - if (parent) - QQuickControlPrivate::get(d->popupItem)->resolveFont(); + if (parent) { + QQuickControlPrivate *p = QQuickControlPrivate::get(d->popupItem); + p->resolveFont(); + if (QQuickApplicationWindow *window = qobject_cast<QQuickApplicationWindow *>(parent->window())) + p->updateLocale(window->locale(), false); // explicit=false + } emit parentChanged(); } @@ -1742,6 +1778,13 @@ void QQuickPopup::itemChange(QQuickItem::ItemChange change, const QQuickItem::It } } +void QQuickPopup::localeChange(const QLocale &newLocale, const QLocale &oldLocale) +{ + Q_UNUSED(newLocale); + Q_UNUSED(oldLocale); + emit localeChanged(); +} + void QQuickPopup::marginsChange(const QMarginsF &newMargins, const QMarginsF &oldMargins) { Q_D(QQuickPopup); |