aboutsummaryrefslogtreecommitdiffstats
path: root/src/templates/qquickpopup.cpp
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@theqtcompany.com>2016-03-17 12:12:36 +0100
committerJ-P Nurmi <jpnurmi@theqtcompany.com>2016-03-18 16:09:57 +0000
commite1963859d6ade7a3341a48229f1bb64ef3c9ea68 (patch)
treefec6d8f0408faad8d8e9b7c021737d266de286ab /src/templates/qquickpopup.cpp
parent76dc0b49120b5352526595951ed1275f9001c8f2 (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.cpp47
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);