Move QQuickControlPrivate::themeFont|Palette() to QQuickTheme
QPlatformTheme is too limited for our theming purposes. We need support for separate palettes (and later, icon colors) in dark and light themes. Also, the fact that Qt Quick Controls 2 injects a platform proxy theme does have undesired side effects in Qt Widgets and Qt Quick Controls 1. Therefore, we start separating QPlatformTheme and QQuickTheme. The first step is to eliminate some direct QPlatformTheme access in QQuickControl and route it via QQuickTheme instead. Task-number: QTBUG-51921 Change-Id: I055471a75ed6f26968796496efd1892975447c98 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
This commit is contained in:
parent
f6fec74d42
commit
5b711c320c
|
@ -272,7 +272,7 @@ void QQuickApplicationWindowPrivate::updateFont(const QFont &f)
|
||||||
|
|
||||||
void QQuickApplicationWindowPrivate::resolveFont()
|
void QQuickApplicationWindowPrivate::resolveFont()
|
||||||
{
|
{
|
||||||
QFont resolvedFont = font.resolve(QQuickControlPrivate::themeFont(QPlatformTheme::SystemFont));
|
QFont resolvedFont = font.resolve(QQuickTheme::themeFont(QQuickTheme::SystemFont));
|
||||||
setFont_helper(resolvedFont);
|
setFont_helper(resolvedFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -294,7 +294,7 @@ void QQuickApplicationWindowPrivate::updatePalette(const QPalette &p)
|
||||||
|
|
||||||
void QQuickApplicationWindowPrivate::resolvePalette()
|
void QQuickApplicationWindowPrivate::resolvePalette()
|
||||||
{
|
{
|
||||||
QPalette resolvedPalette = palette.resolve(QQuickControlPrivate::themePalette(QPlatformTheme::SystemPalette));
|
QPalette resolvedPalette = palette.resolve(QQuickTheme::themePalette(QQuickTheme::SystemPalette));
|
||||||
setPalette_helper(resolvedPalette);
|
setPalette_helper(resolvedPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -689,7 +689,7 @@ void QQuickApplicationWindow::setFont(const QFont &font)
|
||||||
if (d->font.resolve() == font.resolve() && d->font == font)
|
if (d->font.resolve() == font.resolve() && d->font == font)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
QFont resolvedFont = font.resolve(QQuickControlPrivate::themeFont(QPlatformTheme::SystemFont));
|
QFont resolvedFont = font.resolve(QQuickTheme::themeFont(QQuickTheme::SystemFont));
|
||||||
d->setFont_helper(resolvedFont);
|
d->setFont_helper(resolvedFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -768,7 +768,7 @@ void QQuickApplicationWindow::setPalette(const QPalette &palette)
|
||||||
if (d->palette.resolve() == palette.resolve() && d->palette == palette)
|
if (d->palette.resolve() == palette.resolve() && d->palette == palette)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
QPalette resolvedPalette = palette.resolve(QQuickControlPrivate::themePalette(QPlatformTheme::SystemPalette));
|
QPalette resolvedPalette = palette.resolve(QQuickTheme::themePalette(QQuickTheme::SystemPalette));
|
||||||
d->setPalette_helper(resolvedPalette);
|
d->setPalette_helper(resolvedPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -102,12 +102,12 @@ QQuickButton::QQuickButton(QQuickButtonPrivate &dd, QQuickItem *parent)
|
||||||
|
|
||||||
QFont QQuickButton::defaultFont() const
|
QFont QQuickButton::defaultFont() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themeFont(QPlatformTheme::PushButtonFont);
|
return QQuickTheme::themeFont(QQuickTheme::PushButtonFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPalette QQuickButton::defaultPalette() const
|
QPalette QQuickButton::defaultPalette() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::ButtonPalette);
|
return QQuickTheme::themePalette(QQuickTheme::ButtonPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
|
|
@ -189,12 +189,12 @@ void QQuickCheckBox::setCheckState(Qt::CheckState state)
|
||||||
|
|
||||||
QFont QQuickCheckBox::defaultFont() const
|
QFont QQuickCheckBox::defaultFont() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themeFont(QPlatformTheme::CheckBoxFont);
|
return QQuickTheme::themeFont(QQuickTheme::CheckBoxFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPalette QQuickCheckBox::defaultPalette() const
|
QPalette QQuickCheckBox::defaultPalette() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::CheckBoxPalette);
|
return QQuickTheme::themePalette(QQuickTheme::CheckBoxPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
void QQuickCheckBox::buttonChange(ButtonChange change)
|
void QQuickCheckBox::buttonChange(ButtonChange change)
|
||||||
|
|
|
@ -176,7 +176,7 @@ void QQuickCheckDelegate::setCheckState(Qt::CheckState state)
|
||||||
|
|
||||||
QFont QQuickCheckDelegate::defaultFont() const
|
QFont QQuickCheckDelegate::defaultFont() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themeFont(QPlatformTheme::ListViewFont);
|
return QQuickTheme::themeFont(QQuickTheme::ListViewFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
void QQuickCheckDelegate::buttonChange(ButtonChange change)
|
void QQuickCheckDelegate::buttonChange(ButtonChange change)
|
||||||
|
|
|
@ -1699,12 +1699,12 @@ void QQuickComboBox::localeChange(const QLocale &newLocale, const QLocale &oldLo
|
||||||
|
|
||||||
QFont QQuickComboBox::defaultFont() const
|
QFont QQuickComboBox::defaultFont() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themeFont(QPlatformTheme::ComboMenuItemFont);
|
return QQuickTheme::themeFont(QQuickTheme::ComboMenuItemFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPalette QQuickComboBox::defaultPalette() const
|
QPalette QQuickComboBox::defaultPalette() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::ComboBoxPalette);
|
return QQuickTheme::themePalette(QQuickTheme::ComboBoxPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_CONFIG(accessibility)
|
#if QT_CONFIG(accessibility)
|
||||||
|
|
|
@ -50,9 +50,6 @@
|
||||||
#include "qquickapplicationwindow_p.h"
|
#include "qquickapplicationwindow_p.h"
|
||||||
#include "qquickdeferredexecute_p_p.h"
|
#include "qquickdeferredexecute_p_p.h"
|
||||||
|
|
||||||
#include <QtGui/private/qguiapplication_p.h>
|
|
||||||
#include <QtGui/qpa/qplatformtheme.h>
|
|
||||||
|
|
||||||
#if QT_CONFIG(accessibility)
|
#if QT_CONFIG(accessibility)
|
||||||
#include <QtQuick/private/qquickaccessibleattached_p.h>
|
#include <QtQuick/private/qquickaccessibleattached_p.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -400,21 +397,7 @@ QFont QQuickControlPrivate::parentFont(const QQuickItem *item)
|
||||||
if (QQuickApplicationWindow *window = qobject_cast<QQuickApplicationWindow *>(item->window()))
|
if (QQuickApplicationWindow *window = qobject_cast<QQuickApplicationWindow *>(item->window()))
|
||||||
return window->font();
|
return window->font();
|
||||||
|
|
||||||
return themeFont(QPlatformTheme::SystemFont);
|
return QQuickTheme::themeFont(QQuickTheme::SystemFont);
|
||||||
}
|
|
||||||
|
|
||||||
QFont QQuickControlPrivate::themeFont(QPlatformTheme::Font type)
|
|
||||||
{
|
|
||||||
if (QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme()) {
|
|
||||||
if (const QFont *font = theme->font(type)) {
|
|
||||||
QFont f = *font;
|
|
||||||
if (type == QPlatformTheme::SystemFont)
|
|
||||||
f.resolve(0);
|
|
||||||
return f;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return QFont();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -505,21 +488,7 @@ QPalette QQuickControlPrivate::parentPalette(const QQuickItem *item)
|
||||||
if (QQuickApplicationWindow *window = qobject_cast<QQuickApplicationWindow *>(item->window()))
|
if (QQuickApplicationWindow *window = qobject_cast<QQuickApplicationWindow *>(item->window()))
|
||||||
return window->palette();
|
return window->palette();
|
||||||
|
|
||||||
return themePalette(QPlatformTheme::SystemPalette);
|
return QQuickTheme::themePalette(QQuickTheme::SystemPalette);
|
||||||
}
|
|
||||||
|
|
||||||
QPalette QQuickControlPrivate::themePalette(QPlatformTheme::Palette type)
|
|
||||||
{
|
|
||||||
if (QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme()) {
|
|
||||||
if (const QPalette *palette = theme->palette(type)) {
|
|
||||||
QPalette p = *palette;
|
|
||||||
if (type == QPlatformTheme::SystemPalette)
|
|
||||||
p.resolve(0);
|
|
||||||
return p;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return QPalette();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
|
@ -1571,12 +1540,12 @@ void QQuickControl::componentComplete()
|
||||||
|
|
||||||
QFont QQuickControl::defaultFont() const
|
QFont QQuickControl::defaultFont() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themeFont(QPlatformTheme::SystemFont);
|
return QQuickTheme::themeFont(QQuickTheme::SystemFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPalette QQuickControl::defaultPalette() const
|
QPalette QQuickControl::defaultPalette() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::SystemPalette);
|
return QQuickTheme::themePalette(QQuickTheme::SystemPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
void QQuickControl::focusInEvent(QFocusEvent *event)
|
void QQuickControl::focusInEvent(QFocusEvent *event)
|
||||||
|
|
|
@ -50,10 +50,10 @@
|
||||||
|
|
||||||
#include <QtQuickTemplates2/private/qquickcontrol_p.h>
|
#include <QtQuickTemplates2/private/qquickcontrol_p.h>
|
||||||
#include <QtQuickTemplates2/private/qquickdeferredpointer_p_p.h>
|
#include <QtQuickTemplates2/private/qquickdeferredpointer_p_p.h>
|
||||||
|
#include <QtQuickTemplates2/private/qquicktheme_p.h>
|
||||||
|
|
||||||
#include <QtQuick/private/qquickitem_p.h>
|
#include <QtQuick/private/qquickitem_p.h>
|
||||||
#include <QtQml/private/qlazilyallocated_p.h>
|
#include <QtQml/private/qlazilyallocated_p.h>
|
||||||
#include <qpa/qplatformtheme.h>
|
|
||||||
|
|
||||||
#if QT_CONFIG(accessibility)
|
#if QT_CONFIG(accessibility)
|
||||||
#include <QtGui/qaccessible.h>
|
#include <QtGui/qaccessible.h>
|
||||||
|
@ -126,7 +126,6 @@ public:
|
||||||
updateFont(font);
|
updateFont(font);
|
||||||
}
|
}
|
||||||
static QFont parentFont(const QQuickItem *item);
|
static QFont parentFont(const QQuickItem *item);
|
||||||
static QFont themeFont(QPlatformTheme::Font type);
|
|
||||||
|
|
||||||
virtual void resolvePalette();
|
virtual void resolvePalette();
|
||||||
void inheritPalette(const QPalette &palette);
|
void inheritPalette(const QPalette &palette);
|
||||||
|
@ -138,7 +137,6 @@ public:
|
||||||
updatePalette(palette);
|
updatePalette(palette);
|
||||||
}
|
}
|
||||||
static QPalette parentPalette(const QQuickItem *item);
|
static QPalette parentPalette(const QQuickItem *item);
|
||||||
static QPalette themePalette(QPlatformTheme::Palette type);
|
|
||||||
|
|
||||||
void updateLocale(const QLocale &l, bool e);
|
void updateLocale(const QLocale &l, bool e);
|
||||||
static void updateLocaleRecur(QQuickItem *item, const QLocale &l);
|
static void updateLocaleRecur(QQuickItem *item, const QLocale &l);
|
||||||
|
|
|
@ -265,12 +265,12 @@ void QQuickDelayButton::nextCheckState()
|
||||||
|
|
||||||
QFont QQuickDelayButton::defaultFont() const
|
QFont QQuickDelayButton::defaultFont() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themeFont(QPlatformTheme::PushButtonFont);
|
return QQuickTheme::themeFont(QQuickTheme::PushButtonFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPalette QQuickDelayButton::defaultPalette() const
|
QPalette QQuickDelayButton::defaultPalette() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::ButtonPalette);
|
return QQuickTheme::themePalette(QQuickTheme::ButtonPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
|
@ -189,12 +189,12 @@ void QQuickGroupBox::componentComplete()
|
||||||
|
|
||||||
QFont QQuickGroupBox::defaultFont() const
|
QFont QQuickGroupBox::defaultFont() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themeFont(QPlatformTheme::GroupBoxTitleFont);
|
return QQuickTheme::themeFont(QQuickTheme::GroupBoxTitleFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPalette QQuickGroupBox::defaultPalette() const
|
QPalette QQuickGroupBox::defaultPalette() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::GroupBoxPalette);
|
return QQuickTheme::themePalette(QQuickTheme::GroupBoxPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_CONFIG(accessibility)
|
#if QT_CONFIG(accessibility)
|
||||||
|
|
|
@ -122,12 +122,12 @@ void QQuickItemDelegate::setHighlighted(bool highlighted)
|
||||||
|
|
||||||
QFont QQuickItemDelegate::defaultFont() const
|
QFont QQuickItemDelegate::defaultFont() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themeFont(QPlatformTheme::ItemViewFont);
|
return QQuickTheme::themeFont(QQuickTheme::ItemViewFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPalette QQuickItemDelegate::defaultPalette() const
|
QPalette QQuickItemDelegate::defaultPalette() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::ItemViewPalette);
|
return QQuickTheme::themePalette(QQuickTheme::ItemViewPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_CONFIG(accessibility)
|
#if QT_CONFIG(accessibility)
|
||||||
|
|
|
@ -113,7 +113,7 @@ void QQuickLabelPrivate::inheritFont(const QFont &font)
|
||||||
QFont parentFont = extra.isAllocated() ? extra->requestedFont.resolve(font) : font;
|
QFont parentFont = extra.isAllocated() ? extra->requestedFont.resolve(font) : font;
|
||||||
parentFont.resolve(extra.isAllocated() ? extra->requestedFont.resolve() | font.resolve() : font.resolve());
|
parentFont.resolve(extra.isAllocated() ? extra->requestedFont.resolve() | font.resolve() : font.resolve());
|
||||||
|
|
||||||
const QFont defaultFont = QQuickControlPrivate::themeFont(QPlatformTheme::LabelFont);
|
const QFont defaultFont = QQuickTheme::themeFont(QQuickTheme::LabelFont);
|
||||||
const QFont resolvedFont = parentFont.resolve(defaultFont);
|
const QFont resolvedFont = parentFont.resolve(defaultFont);
|
||||||
|
|
||||||
setFont_helper(resolvedFont);
|
setFont_helper(resolvedFont);
|
||||||
|
@ -155,7 +155,7 @@ void QQuickLabelPrivate::inheritPalette(const QPalette &palette)
|
||||||
QPalette parentPalette = extra.isAllocated() ? extra->requestedPalette.resolve(palette) : palette;
|
QPalette parentPalette = extra.isAllocated() ? extra->requestedPalette.resolve(palette) : palette;
|
||||||
parentPalette.resolve(extra.isAllocated() ? extra->requestedPalette.resolve() | palette.resolve() : palette.resolve());
|
parentPalette.resolve(extra.isAllocated() ? extra->requestedPalette.resolve() | palette.resolve() : palette.resolve());
|
||||||
|
|
||||||
const QPalette defaultPalette = QQuickControlPrivate::themePalette(QPlatformTheme::LabelPalette);
|
const QPalette defaultPalette = QQuickTheme::themePalette(QQuickTheme::LabelPalette);
|
||||||
const QPalette resolvedPalette = parentPalette.resolve(defaultPalette);
|
const QPalette resolvedPalette = parentPalette.resolve(defaultPalette);
|
||||||
|
|
||||||
setPalette_helper(resolvedPalette);
|
setPalette_helper(resolvedPalette);
|
||||||
|
|
|
@ -1432,12 +1432,12 @@ void QQuickMenu::timerEvent(QTimerEvent *event)
|
||||||
|
|
||||||
QFont QQuickMenu::defaultFont() const
|
QFont QQuickMenu::defaultFont() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themeFont(QPlatformTheme::MenuFont);
|
return QQuickTheme::themeFont(QQuickTheme::MenuFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPalette QQuickMenu::defaultPalette() const
|
QPalette QQuickMenu::defaultPalette() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::MenuPalette);
|
return QQuickTheme::themePalette(QQuickTheme::MenuPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_CONFIG(accessibility)
|
#if QT_CONFIG(accessibility)
|
||||||
|
|
|
@ -641,12 +641,12 @@ void QQuickMenuBar::itemRemoved(int index, QQuickItem *item)
|
||||||
|
|
||||||
QFont QQuickMenuBar::defaultFont() const
|
QFont QQuickMenuBar::defaultFont() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themeFont(QPlatformTheme::MenuBarFont);
|
return QQuickTheme::themeFont(QQuickTheme::MenuBarFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPalette QQuickMenuBar::defaultPalette() const
|
QPalette QQuickMenuBar::defaultPalette() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::MenuBarPalette);
|
return QQuickTheme::themePalette(QQuickTheme::MenuBarPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_CONFIG(accessibility)
|
#if QT_CONFIG(accessibility)
|
||||||
|
|
|
@ -167,12 +167,12 @@ void QQuickMenuBarItem::geometryChanged(const QRectF &newGeometry, const QRectF
|
||||||
|
|
||||||
QFont QQuickMenuBarItem::defaultFont() const
|
QFont QQuickMenuBarItem::defaultFont() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themeFont(QPlatformTheme::MenuBarFont);
|
return QQuickTheme::themeFont(QQuickTheme::MenuBarFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPalette QQuickMenuBarItem::defaultPalette() const
|
QPalette QQuickMenuBarItem::defaultPalette() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::MenuBarPalette);
|
return QQuickTheme::themePalette(QQuickTheme::MenuBarPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_CONFIG(accessibility)
|
#if QT_CONFIG(accessibility)
|
||||||
|
|
|
@ -264,12 +264,12 @@ void QQuickMenuItem::componentComplete()
|
||||||
|
|
||||||
QFont QQuickMenuItem::defaultFont() const
|
QFont QQuickMenuItem::defaultFont() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themeFont(QPlatformTheme::MenuItemFont);
|
return QQuickTheme::themeFont(QQuickTheme::MenuItemFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPalette QQuickMenuItem::defaultPalette() const
|
QPalette QQuickMenuItem::defaultPalette() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::MenuPalette);
|
return QQuickTheme::themePalette(QQuickTheme::MenuPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_CONFIG(accessibility)
|
#if QT_CONFIG(accessibility)
|
||||||
|
|
|
@ -73,7 +73,7 @@ QQuickMenuSeparator::QQuickMenuSeparator(QQuickItem *parent)
|
||||||
|
|
||||||
QPalette QQuickMenuSeparator::defaultPalette() const
|
QPalette QQuickMenuSeparator::defaultPalette() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::MenuPalette);
|
return QQuickTheme::themePalette(QQuickTheme::MenuPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_CONFIG(accessibility)
|
#if QT_CONFIG(accessibility)
|
||||||
|
|
|
@ -2415,12 +2415,12 @@ void QQuickPopup::spacingChange(qreal newSpacing, qreal oldSpacing)
|
||||||
|
|
||||||
QFont QQuickPopup::defaultFont() const
|
QFont QQuickPopup::defaultFont() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themeFont(QPlatformTheme::SystemFont);
|
return QQuickTheme::themeFont(QQuickTheme::SystemFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPalette QQuickPopup::defaultPalette() const
|
QPalette QQuickPopup::defaultPalette() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::SystemPalette);
|
return QQuickTheme::themePalette(QQuickTheme::SystemPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_CONFIG(accessibility)
|
#if QT_CONFIG(accessibility)
|
||||||
|
|
|
@ -97,7 +97,7 @@ void QQuickPopupItemPrivate::resolveFont()
|
||||||
if (QQuickApplicationWindow *window = qobject_cast<QQuickApplicationWindow *>(popup->window()))
|
if (QQuickApplicationWindow *window = qobject_cast<QQuickApplicationWindow *>(popup->window()))
|
||||||
inheritFont(window->font());
|
inheritFont(window->font());
|
||||||
else
|
else
|
||||||
inheritFont(themeFont(QPlatformTheme::SystemFont));
|
inheritFont(QQuickTheme::themeFont(QQuickTheme::SystemFont));
|
||||||
}
|
}
|
||||||
|
|
||||||
void QQuickPopupItemPrivate::resolvePalette()
|
void QQuickPopupItemPrivate::resolvePalette()
|
||||||
|
@ -105,7 +105,7 @@ void QQuickPopupItemPrivate::resolvePalette()
|
||||||
if (QQuickApplicationWindow *window = qobject_cast<QQuickApplicationWindow *>(popup->window()))
|
if (QQuickApplicationWindow *window = qobject_cast<QQuickApplicationWindow *>(popup->window()))
|
||||||
inheritPalette(window->palette());
|
inheritPalette(window->palette());
|
||||||
else
|
else
|
||||||
inheritPalette(themePalette(QPlatformTheme::SystemPalette));
|
inheritPalette(QQuickTheme::themePalette(QQuickTheme::SystemPalette));
|
||||||
}
|
}
|
||||||
|
|
||||||
QQuickItem *QQuickPopupItemPrivate::getContentItem()
|
QQuickItem *QQuickPopupItemPrivate::getContentItem()
|
||||||
|
|
|
@ -99,12 +99,12 @@ QQuickRadioButton::QQuickRadioButton(QQuickItem *parent)
|
||||||
|
|
||||||
QFont QQuickRadioButton::defaultFont() const
|
QFont QQuickRadioButton::defaultFont() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themeFont(QPlatformTheme::RadioButtonFont);
|
return QQuickTheme::themeFont(QQuickTheme::RadioButtonFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPalette QQuickRadioButton::defaultPalette() const
|
QPalette QQuickRadioButton::defaultPalette() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::RadioButtonPalette);
|
return QQuickTheme::themePalette(QQuickTheme::RadioButtonPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_CONFIG(accessibility)
|
#if QT_CONFIG(accessibility)
|
||||||
|
|
|
@ -100,7 +100,7 @@ QQuickRadioDelegate::QQuickRadioDelegate(QQuickItem *parent)
|
||||||
|
|
||||||
QFont QQuickRadioDelegate::defaultFont() const
|
QFont QQuickRadioDelegate::defaultFont() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themeFont(QPlatformTheme::ListViewFont);
|
return QQuickTheme::themeFont(QQuickTheme::ListViewFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_CONFIG(accessibility)
|
#if QT_CONFIG(accessibility)
|
||||||
|
|
|
@ -1023,12 +1023,12 @@ void QQuickSpinBox::localeChange(const QLocale &newLocale, const QLocale &oldLoc
|
||||||
|
|
||||||
QFont QQuickSpinBox::defaultFont() const
|
QFont QQuickSpinBox::defaultFont() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themeFont(QPlatformTheme::EditorFont);
|
return QQuickTheme::themeFont(QQuickTheme::EditorFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPalette QQuickSpinBox::defaultPalette() const
|
QPalette QQuickSpinBox::defaultPalette() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::TextLineEditPalette);
|
return QQuickTheme::themePalette(QQuickTheme::TextLineEditPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_CONFIG(accessibility)
|
#if QT_CONFIG(accessibility)
|
||||||
|
|
|
@ -1230,7 +1230,7 @@ void QQuickSwipeDelegate::geometryChanged(const QRectF &newGeometry, const QRect
|
||||||
|
|
||||||
QFont QQuickSwipeDelegate::defaultFont() const
|
QFont QQuickSwipeDelegate::defaultFont() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themeFont(QPlatformTheme::ListViewFont);
|
return QQuickTheme::themeFont(QQuickTheme::ListViewFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_CONFIG(accessibility)
|
#if QT_CONFIG(accessibility)
|
||||||
|
|
|
@ -234,7 +234,7 @@ void QQuickSwitch::buttonChange(ButtonChange change)
|
||||||
QPalette QQuickSwitch::defaultPalette() const
|
QPalette QQuickSwitch::defaultPalette() const
|
||||||
{
|
{
|
||||||
// ### TODO: add QPlatformTheme::SwitchPalette
|
// ### TODO: add QPlatformTheme::SwitchPalette
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::CheckBoxPalette);
|
return QQuickTheme::themePalette(QQuickTheme::CheckBoxPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
|
@ -202,7 +202,7 @@ void QQuickSwitchDelegate::touchEvent(QTouchEvent *event)
|
||||||
|
|
||||||
QFont QQuickSwitchDelegate::defaultFont() const
|
QFont QQuickSwitchDelegate::defaultFont() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themeFont(QPlatformTheme::ListViewFont);
|
return QQuickTheme::themeFont(QQuickTheme::ListViewFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
void QQuickSwitchDelegate::mirrorChange()
|
void QQuickSwitchDelegate::mirrorChange()
|
||||||
|
|
|
@ -441,7 +441,7 @@ void QQuickTabBar::itemRemoved(int index, QQuickItem *item)
|
||||||
|
|
||||||
QPalette QQuickTabBar::defaultPalette() const
|
QPalette QQuickTabBar::defaultPalette() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::TabBarPalette);
|
return QQuickTheme::themePalette(QQuickTheme::TabBarPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_CONFIG(accessibility)
|
#if QT_CONFIG(accessibility)
|
||||||
|
|
|
@ -72,12 +72,12 @@ QQuickTabButton::QQuickTabButton(QQuickItem *parent)
|
||||||
|
|
||||||
QFont QQuickTabButton::defaultFont() const
|
QFont QQuickTabButton::defaultFont() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themeFont(QPlatformTheme::TabButtonFont);
|
return QQuickTheme::themeFont(QQuickTheme::TabButtonFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPalette QQuickTabButton::defaultPalette() const
|
QPalette QQuickTabButton::defaultPalette() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::TabBarPalette);
|
return QQuickTheme::themePalette(QQuickTheme::TabBarPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_CONFIG(accessibility)
|
#if QT_CONFIG(accessibility)
|
||||||
|
|
|
@ -194,7 +194,7 @@ void QQuickTextAreaPrivate::inheritFont(const QFont &font)
|
||||||
QFont parentFont = extra.isAllocated() ? extra->requestedFont.resolve(font) : font;
|
QFont parentFont = extra.isAllocated() ? extra->requestedFont.resolve(font) : font;
|
||||||
parentFont.resolve(extra.isAllocated() ? extra->requestedFont.resolve() | font.resolve() : font.resolve());
|
parentFont.resolve(extra.isAllocated() ? extra->requestedFont.resolve() | font.resolve() : font.resolve());
|
||||||
|
|
||||||
const QFont defaultFont = QQuickControlPrivate::themeFont(QPlatformTheme::EditorFont);
|
const QFont defaultFont = QQuickTheme::themeFont(QQuickTheme::EditorFont);
|
||||||
const QFont resolvedFont = parentFont.resolve(defaultFont);
|
const QFont resolvedFont = parentFont.resolve(defaultFont);
|
||||||
|
|
||||||
setFont_helper(resolvedFont);
|
setFont_helper(resolvedFont);
|
||||||
|
@ -236,7 +236,7 @@ void QQuickTextAreaPrivate::inheritPalette(const QPalette &palette)
|
||||||
QPalette parentPalette = extra.isAllocated() ? extra->requestedPalette.resolve(palette) : palette;
|
QPalette parentPalette = extra.isAllocated() ? extra->requestedPalette.resolve(palette) : palette;
|
||||||
parentPalette.resolve(extra.isAllocated() ? extra->requestedPalette.resolve() | palette.resolve() : palette.resolve());
|
parentPalette.resolve(extra.isAllocated() ? extra->requestedPalette.resolve() | palette.resolve() : palette.resolve());
|
||||||
|
|
||||||
const QPalette defaultPalette = QQuickControlPrivate::themePalette(QPlatformTheme::TextEditPalette);
|
const QPalette defaultPalette = QQuickTheme::themePalette(QQuickTheme::TextEditPalette);
|
||||||
const QPalette resolvedPalette = parentPalette.resolve(defaultPalette);
|
const QPalette resolvedPalette = parentPalette.resolve(defaultPalette);
|
||||||
|
|
||||||
setPalette_helper(resolvedPalette);
|
setPalette_helper(resolvedPalette);
|
||||||
|
|
|
@ -168,7 +168,7 @@ void QQuickTextFieldPrivate::inheritFont(const QFont &font)
|
||||||
QFont parentFont = extra.isAllocated() ? extra->requestedFont.resolve(font) : font;
|
QFont parentFont = extra.isAllocated() ? extra->requestedFont.resolve(font) : font;
|
||||||
parentFont.resolve(extra.isAllocated() ? extra->requestedFont.resolve() | font.resolve() : font.resolve());
|
parentFont.resolve(extra.isAllocated() ? extra->requestedFont.resolve() | font.resolve() : font.resolve());
|
||||||
|
|
||||||
const QFont defaultFont = QQuickControlPrivate::themeFont(QPlatformTheme::EditorFont);
|
const QFont defaultFont = QQuickTheme::themeFont(QQuickTheme::EditorFont);
|
||||||
const QFont resolvedFont = parentFont.resolve(defaultFont);
|
const QFont resolvedFont = parentFont.resolve(defaultFont);
|
||||||
|
|
||||||
setFont_helper(resolvedFont);
|
setFont_helper(resolvedFont);
|
||||||
|
@ -210,7 +210,7 @@ void QQuickTextFieldPrivate::inheritPalette(const QPalette &palette)
|
||||||
QPalette parentPalette = extra.isAllocated() ? extra->requestedPalette.resolve(palette) : palette;
|
QPalette parentPalette = extra.isAllocated() ? extra->requestedPalette.resolve(palette) : palette;
|
||||||
parentPalette.resolve(extra.isAllocated() ? extra->requestedPalette.resolve() | palette.resolve() : palette.resolve());
|
parentPalette.resolve(extra.isAllocated() ? extra->requestedPalette.resolve() | palette.resolve() : palette.resolve());
|
||||||
|
|
||||||
const QPalette defaultPalette = QQuickControlPrivate::themePalette(QPlatformTheme::TextLineEditPalette);
|
const QPalette defaultPalette = QQuickTheme::themePalette(QQuickTheme::TextLineEditPalette);
|
||||||
const QPalette resolvedPalette = parentPalette.resolve(defaultPalette);
|
const QPalette resolvedPalette = parentPalette.resolve(defaultPalette);
|
||||||
|
|
||||||
setPalette_helper(resolvedPalette);
|
setPalette_helper(resolvedPalette);
|
||||||
|
|
|
@ -37,6 +37,8 @@
|
||||||
#include "qquicktheme_p.h"
|
#include "qquicktheme_p.h"
|
||||||
#include "qquicktheme_p_p.h"
|
#include "qquicktheme_p_p.h"
|
||||||
|
|
||||||
|
#include <QtGui/private/qguiapplication_p.h>
|
||||||
|
|
||||||
QT_BEGIN_NAMESPACE
|
QT_BEGIN_NAMESPACE
|
||||||
|
|
||||||
QQuickTheme::QQuickTheme()
|
QQuickTheme::QQuickTheme()
|
||||||
|
@ -48,6 +50,38 @@ QQuickTheme::~QQuickTheme()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QFont QQuickTheme::themeFont(Font type)
|
||||||
|
{
|
||||||
|
const QFont *font = nullptr;
|
||||||
|
if (QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme())
|
||||||
|
font = theme->font(type);
|
||||||
|
|
||||||
|
if (font) {
|
||||||
|
QFont f = *font;
|
||||||
|
if (type == QPlatformTheme::SystemFont)
|
||||||
|
f.resolve(0);
|
||||||
|
return f;
|
||||||
|
}
|
||||||
|
|
||||||
|
return QFont();
|
||||||
|
}
|
||||||
|
|
||||||
|
QPalette QQuickTheme::themePalette(Palette type)
|
||||||
|
{
|
||||||
|
const QPalette *palette = nullptr;
|
||||||
|
if (QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme())
|
||||||
|
palette = theme->palette(type);
|
||||||
|
|
||||||
|
if (palette) {
|
||||||
|
QPalette f = *palette;
|
||||||
|
if (type == QPlatformTheme::SystemPalette)
|
||||||
|
f.resolve(0);
|
||||||
|
return f;
|
||||||
|
}
|
||||||
|
|
||||||
|
return QPalette();
|
||||||
|
}
|
||||||
|
|
||||||
const QFont *QQuickTheme::font(Font type) const
|
const QFont *QQuickTheme::font(Font type) const
|
||||||
{
|
{
|
||||||
Q_D(const QQuickTheme);
|
Q_D(const QQuickTheme);
|
||||||
|
|
|
@ -63,6 +63,9 @@ public:
|
||||||
QQuickTheme();
|
QQuickTheme();
|
||||||
~QQuickTheme();
|
~QQuickTheme();
|
||||||
|
|
||||||
|
static QFont themeFont(Font type);
|
||||||
|
static QPalette themePalette(Palette type);
|
||||||
|
|
||||||
const QFont *font(Font type = SystemFont) const override;
|
const QFont *font(Font type = SystemFont) const override;
|
||||||
const QPalette *palette(Palette type = SystemPalette) const override;
|
const QPalette *palette(Palette type = SystemPalette) const override;
|
||||||
|
|
||||||
|
|
|
@ -143,7 +143,7 @@ void QQuickToolBar::setPosition(Position position)
|
||||||
|
|
||||||
QPalette QQuickToolBar::defaultPalette() const
|
QPalette QQuickToolBar::defaultPalette() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::ToolButtonPalette);
|
return QQuickTheme::themePalette(QQuickTheme::ToolButtonPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_CONFIG(accessibility)
|
#if QT_CONFIG(accessibility)
|
||||||
|
|
|
@ -71,12 +71,12 @@ QQuickToolButton::QQuickToolButton(QQuickItem *parent)
|
||||||
|
|
||||||
QFont QQuickToolButton::defaultFont() const
|
QFont QQuickToolButton::defaultFont() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themeFont(QPlatformTheme::ToolButtonFont);
|
return QQuickTheme::themeFont(QQuickTheme::ToolButtonFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPalette QQuickToolButton::defaultPalette() const
|
QPalette QQuickToolButton::defaultPalette() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::ToolButtonPalette);
|
return QQuickTheme::themePalette(QQuickTheme::ToolButtonPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
QT_END_NAMESPACE
|
QT_END_NAMESPACE
|
||||||
|
|
|
@ -135,7 +135,7 @@ bool QQuickToolSeparator::isVertical() const
|
||||||
|
|
||||||
QPalette QQuickToolSeparator::defaultPalette() const
|
QPalette QQuickToolSeparator::defaultPalette() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::ToolButtonPalette);
|
return QQuickTheme::themePalette(QQuickTheme::ToolButtonPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if QT_CONFIG(accessibility)
|
#if QT_CONFIG(accessibility)
|
||||||
|
|
|
@ -303,12 +303,12 @@ void QQuickToolTip::hide()
|
||||||
|
|
||||||
QFont QQuickToolTip::defaultFont() const
|
QFont QQuickToolTip::defaultFont() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themeFont(QPlatformTheme::TipLabelFont);
|
return QQuickTheme::themeFont(QQuickTheme::TipLabelFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPalette QQuickToolTip::defaultPalette() const
|
QPalette QQuickToolTip::defaultPalette() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::ToolTipPalette);
|
return QQuickTheme::themePalette(QQuickTheme::ToolTipPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
void QQuickToolTip::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data)
|
void QQuickToolTip::itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data)
|
||||||
|
|
|
@ -784,12 +784,12 @@ void QQuickTumbler::updatePolish()
|
||||||
|
|
||||||
QFont QQuickTumbler::defaultFont() const
|
QFont QQuickTumbler::defaultFont() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themeFont(QPlatformTheme::ItemViewFont);
|
return QQuickTheme::themeFont(QQuickTheme::ItemViewFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
QPalette QQuickTumbler::defaultPalette() const
|
QPalette QQuickTumbler::defaultPalette() const
|
||||||
{
|
{
|
||||||
return QQuickControlPrivate::themePalette(QPlatformTheme::ItemViewPalette);
|
return QQuickTheme::themePalette(QQuickTheme::ItemViewPalette);
|
||||||
}
|
}
|
||||||
|
|
||||||
QQuickTumblerAttachedPrivate::QQuickTumblerAttachedPrivate()
|
QQuickTumblerAttachedPrivate::QQuickTumblerAttachedPrivate()
|
||||||
|
|
|
@ -46,7 +46,7 @@
|
||||||
#include <QtQuickTemplates2/private/qquickcontrol_p.h>
|
#include <QtQuickTemplates2/private/qquickcontrol_p.h>
|
||||||
#include <QtQuickTemplates2/private/qquickcontrol_p_p.h>
|
#include <QtQuickTemplates2/private/qquickcontrol_p_p.h>
|
||||||
#include <QtQuickTemplates2/private/qquickpopup_p.h>
|
#include <QtQuickTemplates2/private/qquickpopup_p.h>
|
||||||
#include <QtQuickTemplates2/private/qquickproxytheme_p.h>
|
#include <QtQuickTemplates2/private/qquicktheme_p.h>
|
||||||
|
|
||||||
using namespace QQuickVisualTestUtil;
|
using namespace QQuickVisualTestUtil;
|
||||||
|
|
||||||
|
@ -88,7 +88,7 @@ void tst_palette::palette_data()
|
||||||
QTest::addColumn<QString>("testFile");
|
QTest::addColumn<QString>("testFile");
|
||||||
QTest::addColumn<QPalette>("expectedPalette");
|
QTest::addColumn<QPalette>("expectedPalette");
|
||||||
|
|
||||||
QPalette defaultPalette = QQuickControlPrivate::themePalette(QPlatformTheme::SystemPalette);
|
QPalette defaultPalette = QQuickTheme::themePalette(QQuickTheme::SystemPalette);
|
||||||
defaultPalette.setColor(QPalette::Base, QColor("#efefef"));
|
defaultPalette.setColor(QPalette::Base, QColor("#efefef"));
|
||||||
defaultPalette.setColor(QPalette::Text, QColor("#101010"));
|
defaultPalette.setColor(QPalette::Text, QColor("#101010"));
|
||||||
|
|
||||||
|
@ -172,7 +172,7 @@ void tst_palette::inheritance()
|
||||||
QObject *grandChild = window->property("grandChild").value<QObject *>();
|
QObject *grandChild = window->property("grandChild").value<QObject *>();
|
||||||
QVERIFY(control && child && grandChild);
|
QVERIFY(control && child && grandChild);
|
||||||
|
|
||||||
QPalette defaultPalette = QQuickControlPrivate::themePalette(QPlatformTheme::SystemPalette);
|
QPalette defaultPalette = QQuickTheme::themePalette(QQuickTheme::SystemPalette);
|
||||||
defaultPalette.setColor(QPalette::Base, QColor("#efefef"));
|
defaultPalette.setColor(QPalette::Base, QColor("#efefef"));
|
||||||
defaultPalette.setColor(QPalette::Text, QColor("#101010"));
|
defaultPalette.setColor(QPalette::Text, QColor("#101010"));
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue