diff options
author | J-P Nurmi <jpnurmi@qt.io> | 2017-04-18 16:59:58 +0200 |
---|---|---|
committer | J-P Nurmi <jpnurmi@qt.io> | 2017-05-26 08:52:05 +0000 |
commit | 68aea0a4234e6f0faa108ea186643b7c27ab8ce7 (patch) | |
tree | 7d3f4cd51f5ad0e433d94ea4acdac05943550905 /src/quicktemplates2/qquickpopupitem.cpp | |
parent | bb49cde2decbee22f0d732d6e2f56a14c2970b24 (diff) |
Add support for propagating palettes
Change-Id: Icd965d8a79f022f4375e2134621cbc3897014015
Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquickpopupitem.cpp')
-rw-r--r-- | src/quicktemplates2/qquickpopupitem.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/quicktemplates2/qquickpopupitem.cpp b/src/quicktemplates2/qquickpopupitem.cpp index 3a770bf7..8251ad2f 100644 --- a/src/quicktemplates2/qquickpopupitem.cpp +++ b/src/quicktemplates2/qquickpopupitem.cpp @@ -56,6 +56,7 @@ public: void implicitHeightChanged() override; void resolveFont() override; + void resolvePalette() override; QQuickItem *getContentItem() override; @@ -90,6 +91,14 @@ void QQuickPopupItemPrivate::resolveFont() inheritFont(window->font()); } +void QQuickPopupItemPrivate::resolvePalette() +{ + if (QQuickApplicationWindow *window = qobject_cast<QQuickApplicationWindow *>(popup->window())) + inheritPalette(window->palette()); + else + inheritPalette(themePalette(QPlatformTheme::SystemPalette)); +} + QQuickItem *QQuickPopupItemPrivate::getContentItem() { Q_Q(QQuickPopupItem); @@ -290,12 +299,25 @@ void QQuickPopupItem::paddingChange(const QMarginsF &newPadding, const QMarginsF d->popup->paddingChange(newPadding, oldPadding); } +void QQuickPopupItem::paletteChange(const QPalette &newPalette, const QPalette &oldPalette) +{ + Q_D(QQuickPopupItem); + QQuickControl::paletteChange(newPalette, oldPalette); + d->popup->paletteChange(newPalette, oldPalette); +} + QFont QQuickPopupItem::defaultFont() const { Q_D(const QQuickPopupItem); return d->popup->defaultFont(); } +QPalette QQuickPopupItem::defaultPalette() const +{ + Q_D(const QQuickPopupItem); + return d->popup->defaultPalette(); +} + #if QT_CONFIG(accessibility) QAccessible::Role QQuickPopupItem::accessibleRole() const { |