From f69abecfa2df927dfb6ff89a36cd3fcdb7a36ae5 Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Tue, 21 Apr 2026 01:48:03 +1000 Subject: [PATCH] fix: use fontStyle for MaterialIcon --- components/MaterialIcon.qml | 4 +++- plugin/src/Caelestia/Config/fontbuilder.cpp | 12 ++++++++++++ plugin/src/Caelestia/Config/fontbuilder.hpp | 5 +++++ 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/components/MaterialIcon.qml b/components/MaterialIcon.qml index c7009953..2909d23d 100644 --- a/components/MaterialIcon.qml +++ b/components/MaterialIcon.qml @@ -1,9 +1,11 @@ +import QtQuick import Caelestia.Config import qs.services StyledText { property real fill property int grade: Colours.light ? 0 : -25 + property font fontStyle - font: Tokens.font.icon.builders.large.vaxis("FILL", fill.toFixed(1)).vaxis("GRAD", grade).vaxis("opsz", fontInfo.pixelSize).vaxis("wght", fontInfo.weight).build() + font: Tokens.font.icon.builder.size(fontStyle.pointSize).weight(fontStyle.weight).fill(fill.toFixed(1)).grade(grade).build() } diff --git a/plugin/src/Caelestia/Config/fontbuilder.cpp b/plugin/src/Caelestia/Config/fontbuilder.cpp index cf6fff96..45ab4f84 100644 --- a/plugin/src/Caelestia/Config/fontbuilder.cpp +++ b/plugin/src/Caelestia/Config/fontbuilder.cpp @@ -51,4 +51,16 @@ QFont FontBuilder::build() const { return m_font; } +FontBuilder FontBuilder::fill(float value) { + return vaxis("FILL", value); +} + +FontBuilder FontBuilder::grade(float value) { + return vaxis("GRAD", value); +} + +FontBuilder FontBuilder::width(float value) { + return vaxis("wdth", value); +} + } // namespace caelestia::config diff --git a/plugin/src/Caelestia/Config/fontbuilder.hpp b/plugin/src/Caelestia/Config/fontbuilder.hpp index e0c31f86..5d78d199 100644 --- a/plugin/src/Caelestia/Config/fontbuilder.hpp +++ b/plugin/src/Caelestia/Config/fontbuilder.hpp @@ -23,6 +23,11 @@ public: [[nodiscard]] Q_INVOKABLE FontBuilder vaxis(QFont::Tag tag, float value); [[nodiscard]] Q_INVOKABLE QFont build() const; + // Common vaxes + [[nodiscard]] Q_INVOKABLE FontBuilder fill(float value); + [[nodiscard]] Q_INVOKABLE FontBuilder grade(float value); + [[nodiscard]] Q_INVOKABLE FontBuilder width(float value); + private: QFont m_font; };