aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquickpopupitem.cpp
diff options
context:
space:
mode:
authorVitaly Fanaskov <vitaly.fanaskov@qt.io>2019-08-06 15:50:22 +0200
committerVitaly Fanaskov <vitaly.fanaskov@qt.io>2020-03-18 17:29:24 +0100
commit31f5c21ddb571d744efd1885c0687816b3a12225 (patch)
tree1e7ccb81c2db278ed265638eb25a69c546430575 /src/quicktemplates2/qquickpopupitem.cpp
parentfccd63d1296a611a282ae15d0c437eb4b09e6eb1 (diff)
Remove old QQuickPalette implementation
The existing implementation was removed in order to reduce massive code duplication and simplify color resolving process. Unit tests were fixed accordingly. See related changes in the qtdeclarative module for the further details. [ChangeLog][General] the palette API is a part of QQuickItem now. Change-Id: Ic94ab4632e626c11d9b26f035e2a8a119c9088ef Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquickpopupitem.cpp')
-rw-r--r--src/quicktemplates2/qquickpopupitem.cpp81
1 files changed, 33 insertions, 48 deletions
diff --git a/src/quicktemplates2/qquickpopupitem.cpp b/src/quicktemplates2/qquickpopupitem.cpp
index 8e169b0b..f300298a 100644
--- a/src/quicktemplates2/qquickpopupitem.cpp
+++ b/src/quicktemplates2/qquickpopupitem.cpp
@@ -53,32 +53,6 @@
QT_BEGIN_NAMESPACE
-class QQuickPopupItemPrivate : public QQuickPagePrivate
-{
- Q_DECLARE_PUBLIC(QQuickPopupItem)
-
-public:
- QQuickPopupItemPrivate(QQuickPopup *popup);
-
- void implicitWidthChanged() override;
- void implicitHeightChanged() override;
-
- void resolveFont() override;
- void resolvePalette() override;
-
- QQuickItem *getContentItem() override;
-
- void cancelContentItem() override;
- void executeContentItem(bool complete = false) override;
-
- void cancelBackground() override;
- void executeBackground(bool complete = false) override;
-
- int backId = 0;
- int escapeId = 0;
- QQuickPopup *popup = nullptr;
-};
-
QQuickPopupItemPrivate::QQuickPopupItemPrivate(QQuickPopup *popup)
: popup(popup)
{
@@ -105,14 +79,6 @@ void QQuickPopupItemPrivate::resolveFont()
inheritFont(QQuickTheme::font(QQuickTheme::System));
}
-void QQuickPopupItemPrivate::resolvePalette()
-{
- if (QQuickApplicationWindow *window = qobject_cast<QQuickApplicationWindow *>(popup->window()))
- inheritPalette(window->palette());
- else
- inheritPalette(QQuickTheme::palette(QQuickTheme::System));
-}
-
QQuickItem *QQuickPopupItemPrivate::getContentItem()
{
Q_Q(QQuickPopupItem);
@@ -168,6 +134,9 @@ QQuickPopupItem::QQuickPopupItem(QQuickPopup *popup)
setCursor(Qt::ArrowCursor);
#endif
+ connect(popup, &QQuickPopup::paletteChanged, this, &QQuickItem::paletteChanged);
+ connect(popup, &QQuickPopup::paletteCreated, this, &QQuickItem::paletteCreated);
+
#if QT_CONFIG(quicktemplates2_hover)
// TODO: switch to QStyleHints::useHoverEffects in Qt 5.8
setHoverEnabled(true);
@@ -204,6 +173,36 @@ void QQuickPopupItem::ungrabShortcut()
#endif
}
+QQuickPalette *QQuickPopupItemPrivate::palette() const
+{
+ return QQuickPopupPrivate::get(popup)->palette();
+}
+
+void QQuickPopupItemPrivate::setPalette(QQuickPalette *p)
+{
+ QQuickPopupPrivate::get(popup)->setPalette(p);
+}
+
+void QQuickPopupItemPrivate::resetPalette()
+{
+ QQuickPopupPrivate::get(popup)->resetPalette();
+}
+
+QPalette QQuickPopupItemPrivate::defaultPalette() const
+{
+ return QQuickPopupPrivate::get(popup)->defaultPalette();
+}
+
+bool QQuickPopupItemPrivate::providesPalette() const
+{
+ return QQuickPopupPrivate::get(popup)->providesPalette();
+}
+
+QPalette QQuickPopupItemPrivate::parentPalette() const
+{
+ return QQuickPopupPrivate::get(popup)->parentPalette();
+}
+
void QQuickPopupItem::updatePolish()
{
Q_D(QQuickPopupItem);
@@ -365,13 +364,6 @@ 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);
- QQuickPage::paletteChange(newPalette, oldPalette);
- d->popup->paletteChange(newPalette, oldPalette);
-}
-
void QQuickPopupItem::enabledChange()
{
Q_D(QQuickPopupItem);
@@ -382,7 +374,6 @@ void QQuickPopupItem::enabledChange()
// returns a different palette depending on whether or not the control is enabled.
// To save a connection, we also emit enabledChanged here.
emit d->popup->enabledChanged();
- emit d->popup->paletteChanged();
}
QFont QQuickPopupItem::defaultFont() const
@@ -391,12 +382,6 @@ QFont QQuickPopupItem::defaultFont() const
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
{