diff options
Diffstat (limited to 'src/labs/stylekit/qqstylekitreader.cpp')
| -rw-r--r-- | src/labs/stylekit/qqstylekitreader.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/labs/stylekit/qqstylekitreader.cpp b/src/labs/stylekit/qqstylekitreader.cpp index f6a2b974fd..71ea689377 100644 --- a/src/labs/stylekit/qqstylekitreader.cpp +++ b/src/labs/stylekit/qqstylekitreader.cpp @@ -243,6 +243,8 @@ void QQStyleKitReader::updateControl() default: Q_UNREACHABLE(); } + + setFont(style->fontForReader(this)); } void QQStyleKitReader::resetAll() @@ -251,9 +253,19 @@ void QQStyleKitReader::resetAll() reader->m_effectiveVariationsDirty = true; reader->clearLocalStorage(); reader->emitChangedForAllStyleProperties(); + reader->updateFontFromTheme(); } } +void QQStyleKitReader::updateFontFromTheme() +{ + const QQStyleKitStyle *style = QQStyleKitStyle::current(); + if (!style || !style->loaded()) + return; + + setFont(style->fontForReader(this)); +} + void QQStyleKitReader::populateLocalStorage() { if (!m_storage.isEmpty()) @@ -485,6 +497,20 @@ void QQStyleKitReader::setPalette(QQuickPalette *palette) emitChangedForAllStyleProperties(); } +QFont QQStyleKitReader::font() const +{ + return m_font; +} + +void QQStyleKitReader::setFont(const QFont &font) +{ + if (m_font == font) + return; + + m_font = font; + emit fontChanged(); +} + QQStyleKitControlProperties *QQStyleKitReader::global() const { return &const_cast<QQStyleKitReader *>(this)->m_global; |
