From 198a6eecf2048c1e0ab61d3ace923029a0beeacd Mon Sep 17 00:00:00 2001 From: 2 * r + 2 * t <61896496+soramanew@users.noreply.github.com> Date: Tue, 21 Apr 2026 01:49:26 +1000 Subject: [PATCH] feat: add vaxes shorthand For setting multiple vaxes at the same time --- plugin/src/Caelestia/Config/fontbuilder.cpp | 8 ++++++++ plugin/src/Caelestia/Config/fontbuilder.hpp | 1 + 2 files changed, 9 insertions(+) diff --git a/plugin/src/Caelestia/Config/fontbuilder.cpp b/plugin/src/Caelestia/Config/fontbuilder.cpp index 45ab4f84..031ae97e 100644 --- a/plugin/src/Caelestia/Config/fontbuilder.cpp +++ b/plugin/src/Caelestia/Config/fontbuilder.cpp @@ -47,6 +47,14 @@ FontBuilder FontBuilder::vaxis(QFont::Tag tag, float value) { return *this; } +FontBuilder FontBuilder::vaxes(QVariantMap axes) { + for (auto it = axes.constBegin(); it != axes.constEnd(); ++it) { + if (auto tag = QFont::Tag::fromString(it.key())) + m_font.setVariableAxis(*tag, it.value().toFloat()); + } + return *this; +} + QFont FontBuilder::build() const { return m_font; } diff --git a/plugin/src/Caelestia/Config/fontbuilder.hpp b/plugin/src/Caelestia/Config/fontbuilder.hpp index 5d78d199..28b48b9c 100644 --- a/plugin/src/Caelestia/Config/fontbuilder.hpp +++ b/plugin/src/Caelestia/Config/fontbuilder.hpp @@ -21,6 +21,7 @@ public: [[nodiscard]] Q_INVOKABLE FontBuilder letterSpacing(qreal spacing, bool absolute = true); [[nodiscard]] Q_INVOKABLE FontBuilder capitalisation(QFont::Capitalization cap); [[nodiscard]] Q_INVOKABLE FontBuilder vaxis(QFont::Tag tag, float value); + [[nodiscard]] Q_INVOKABLE FontBuilder vaxes(QVariantMap axes); [[nodiscard]] Q_INVOKABLE QFont build() const; // Common vaxes