aboutsummaryrefslogtreecommitdiffstats
path: root/src/labs/stylekit/qqstylekitreader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/labs/stylekit/qqstylekitreader.cpp')
-rw-r--r--src/labs/stylekit/qqstylekitreader.cpp26
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;