diff options
author | Liang Qi <liang.qi@theqtcompany.com> | 2016-02-11 13:09:48 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@theqtcompany.com> | 2016-02-18 12:53:28 +0000 |
commit | a40591931dd372829982055d4000c5caf3df9d07 (patch) | |
tree | 9a60890e99b1017433ae433049005953935dca98 /src/templates/qquickpopup.cpp | |
parent | 3cba8b19c4e67cbcd6977bf141d7ddf2e54aae85 (diff) |
Controls: fix font inheritance for popups
QQuickPopup is a QObject, not a QQuickControl. Then need to make
QQuickPopup::popupItem() inherit its font from QQuickPopup::parentItem().
Task-number: QTBUG-50984
Change-Id: I7f417474172b533b744eb668a0476cdcbabba868
Reviewed-by: J-P Nurmi <jpnurmi@theqtcompany.com>
Diffstat (limited to 'src/templates/qquickpopup.cpp')
-rw-r--r-- | src/templates/qquickpopup.cpp | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/templates/qquickpopup.cpp b/src/templates/qquickpopup.cpp index 3f9fa2c9..7bd5baf9 100644 --- a/src/templates/qquickpopup.cpp +++ b/src/templates/qquickpopup.cpp @@ -38,6 +38,7 @@ #include "qquickpopup_p_p.h" #include "qquickapplicationwindow_p.h" #include "qquickoverlay_p.h" +#include "qquickcontrol_p_p.h" #include <QtQml/qqmlinfo.h> #include <QtQuick/qquickitem.h> @@ -285,7 +286,7 @@ void QQuickPopupPrivate::setBottomPadding(qreal value, bool reset) } } -class QQuickPopupItemPrivate : public QQuickItemPrivate +class QQuickPopupItemPrivate : public QQuickControlPrivate { Q_DECLARE_PUBLIC(QQuickPopupItem) @@ -314,7 +315,7 @@ void QQuickPopupItemPrivate::implicitHeightChanged() } QQuickPopupItem::QQuickPopupItem(QQuickPopup *popup) : - QQuickItem(*(new QQuickPopupItemPrivate(popup))) + QQuickControl(*(new QQuickPopupItemPrivate(popup)), Q_NULLPTR) { setParent(popup); setVisible(false); @@ -391,7 +392,7 @@ void QQuickPopupItem::geometryChanged(const QRectF &newGeometry, const QRectF &o void QQuickPopupItem::itemChange(ItemChange change, const ItemChangeData &data) { Q_D(QQuickPopupItem); - QQuickItem::itemChange(change, data); + QQuickControl::itemChange(change, data); switch (change) { case ItemVisibleHasChanged: emit d->popup->visibleChanged(); @@ -1227,6 +1228,8 @@ void QQuickPopup::setParentItem(QQuickItem *parent) d->parentItem = parent; if (d->positioner.parentItem()) d->positioner.setParentItem(parent); + if (d->popupItem) + QQuickControlPrivate::updateFontRecur(d->popupItem, QQuickControlPrivate::naturalControlFont(parent)); emit parentChanged(); } } |