aboutsummaryrefslogtreecommitdiffstats
path: root/src/quicktemplates2/qquicktheme.cpp
diff options
context:
space:
mode:
authorJ-P Nurmi <jpnurmi@qt.io>2018-03-14 13:24:10 +0100
committerJ-P Nurmi <jpnurmi@qt.io>2018-03-15 07:50:40 +0000
commit6d879ab06a95d6b49e5ca4ad0af12024d5d2a988 (patch)
tree9b10d4c7a7350ee9cc3c82f4847cbcaedbbca4b9 /src/quicktemplates2/qquicktheme.cpp
parent63773fd5363e8954e298e775bba7478d612134ef (diff)
QQuickTheme: cleanup the API
Task-number: QTBUG-67062 Change-Id: Id2f821bd41b72f7bce9885295e89c322eb3332f4 Reviewed-by: Mitch Curtis <mitch.curtis@qt.io>
Diffstat (limited to 'src/quicktemplates2/qquicktheme.cpp')
-rw-r--r--src/quicktemplates2/qquicktheme.cpp41
1 files changed, 25 insertions, 16 deletions
diff --git a/src/quicktemplates2/qquicktheme.cpp b/src/quicktemplates2/qquicktheme.cpp
index 777480b2..41d15014 100644
--- a/src/quicktemplates2/qquicktheme.cpp
+++ b/src/quicktemplates2/qquicktheme.cpp
@@ -72,9 +72,32 @@ static QPlatformTheme::Palette platformPalette(QQuickTheme::Palette type)
}
}
+const QFont *QQuickThemePrivate::resolveThemeFont(QQuickTheme::Font type)
+{
+ Q_Q(QQuickTheme);
+ if (!hasResolvedFonts) {
+ q->resolveFonts(defaultFont ? *defaultFont : QFont());
+ hasResolvedFonts = true;
+ defaultFont.reset();
+ }
+ return q->font(type);
+}
+
+const QPalette *QQuickThemePrivate::resolveThemePalette(QQuickTheme::Palette type)
+{
+ Q_Q(QQuickTheme);
+ if (!hasResolvedPalettes) {
+ q->resolvePalettes(defaultPalette ? *defaultPalette : QPalette());
+ hasResolvedPalettes = true;
+ defaultPalette.reset();
+ }
+ return q->palette(type);
+}
+
QQuickTheme::QQuickTheme()
: d_ptr(new QQuickThemePrivate)
{
+ d_ptr->q_ptr = this;
}
QQuickTheme::~QQuickTheme()
@@ -95,7 +118,7 @@ QFont QQuickTheme::themeFont(Font type)
{
const QFont *font = nullptr;
if (QQuickTheme *theme = current())
- font = theme->font(type);
+ font = QQuickThemePrivate::get(theme)->resolveThemeFont(type);
else if (QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme())
font = theme->font(platformFont(type));
@@ -113,7 +136,7 @@ QPalette QQuickTheme::themePalette(Palette type)
{
const QPalette *palette = nullptr;
if (QQuickTheme *theme = current())
- palette = theme->palette(type);
+ palette = QQuickThemePrivate::get(theme)->resolveThemePalette(type);
else if (QPlatformTheme *theme = QGuiApplicationPrivate::platformTheme())
palette = theme->palette(platformPalette(type));
@@ -141,20 +164,6 @@ const QPalette *QQuickTheme::palette(Palette type) const
return d->defaultPalette.data();
}
-void QQuickTheme::setDefaultFont(const QFont *defaultFont)
-{
- Q_D(QQuickTheme);
- d->defaultFont.reset(defaultFont);
- resolveFonts(defaultFont ? *defaultFont : QFont());
-}
-
-void QQuickTheme::setDefaultPalette(const QPalette *defaultPalette)
-{
- Q_D(QQuickTheme);
- d->defaultPalette.reset(defaultPalette);
- resolvePalettes(defaultPalette ? *defaultPalette : QPalette());
-}
-
void QQuickTheme::resolveFonts(const QFont &defaultFont)
{
Q_UNUSED(defaultFont)