diff options
author | Vitaly Fanaskov <vitaly.fanaskov@qt.io> | 2019-08-06 15:50:22 +0200 |
---|---|---|
committer | Vitaly Fanaskov <vitaly.fanaskov@qt.io> | 2020-03-18 17:29:24 +0100 |
commit | 31f5c21ddb571d744efd1885c0687816b3a12225 (patch) | |
tree | 1e7ccb81c2db278ed265638eb25a69c546430575 /src/quicktemplates2/qquickpopupitem.cpp | |
parent | fccd63d1296a611a282ae15d0c437eb4b09e6eb1 (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.cpp | 81 |
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 { |