aboutsummaryrefslogtreecommitdiffstats
path: root/src/templates/qquickpopup.cpp
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@theqtcompany.com>2016-02-11 13:09:48 +0100
committerLiang Qi <liang.qi@theqtcompany.com>2016-02-18 12:53:28 +0000
commita40591931dd372829982055d4000c5caf3df9d07 (patch)
tree9a60890e99b1017433ae433049005953935dca98 /src/templates/qquickpopup.cpp
parent3cba8b19c4e67cbcd6977bf141d7ddf2e54aae85 (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.cpp9
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();
}
}