C++ / fmt (pull_request) Successful in 4s
JS/TS / fmt (pull_request) Successful in 22s
JS/TS / lint (pull_request) Successful in 27s
Python / fmt (pull_request) Successful in 33s
Python / lint (pull_request) Successful in 32s
Python / test (pull_request) Successful in 1m3s
Python / typecheck (pull_request) Failing after 1m4s
Rust / fmt (pull_request) Successful in 41s
Rust / build (pull_request) Successful in 1m39s
C++ / build (pull_request) Successful in 2m33s
Rust / clippy (pull_request) Successful in 1m18s
Python / buildcheck (pull_request) Successful in 2m23s
C++ / clang-tidy (pull_request) Successful in 3m56s
236 lines
5.4 KiB
C++
236 lines
5.4 KiB
C++
#pragma once
|
|
|
|
#include "configobject.hpp"
|
|
|
|
#include <QVariantList>
|
|
#include <qobject.h>
|
|
#include <qqmlengine.h>
|
|
#include <qqmlintegration.h>
|
|
#include <qqmlregistration.h>
|
|
|
|
namespace ZShell::config {
|
|
|
|
class AppearanceRounding : public ConfigObject {
|
|
Q_OBJECT
|
|
QML_ANONYMOUS
|
|
|
|
CFG_PROPERTY(qreal, extraSmall, 4)
|
|
CFG_PROPERTY(qreal, full, 1000)
|
|
CFG_PROPERTY(qreal, large, 24)
|
|
CFG_PROPERTY(qreal, medium, 16)
|
|
CFG_PROPERTY(qreal, normal, 18)
|
|
CFG_PROPERTY(qreal, scale, 1)
|
|
CFG_PROPERTY(qreal, small, 12)
|
|
CFG_PROPERTY(qreal, smallest, 8)
|
|
|
|
public:
|
|
explicit AppearanceRounding(QObject* parent = nullptr)
|
|
: ConfigObject(parent) {}
|
|
};
|
|
|
|
class AppearancePadding : public ConfigObject {
|
|
Q_OBJECT
|
|
QML_ANONYMOUS
|
|
|
|
CFG_PROPERTY(qreal, extraLarge, 28)
|
|
CFG_PROPERTY(qreal, extraLargeIncreased, 32)
|
|
CFG_PROPERTY(qreal, extraSmall, 4)
|
|
CFG_PROPERTY(qreal, large, 16)
|
|
CFG_PROPERTY(qreal, largeIncreased, 20)
|
|
CFG_PROPERTY(qreal, larger, 12)
|
|
CFG_PROPERTY(qreal, normal, 8)
|
|
CFG_PROPERTY(qreal, scale, 1)
|
|
CFG_PROPERTY(qreal, small, 5)
|
|
CFG_PROPERTY(qreal, smaller, 7)
|
|
CFG_PROPERTY(qreal, smallest, 2)
|
|
|
|
public:
|
|
explicit AppearancePadding(QObject* parent = nullptr)
|
|
: ConfigObject(parent) {}
|
|
};
|
|
|
|
class AppearanceSpacing : public ConfigObject {
|
|
Q_OBJECT
|
|
QML_ANONYMOUS
|
|
|
|
CFG_PROPERTY(qreal, extraSmall, 4)
|
|
CFG_PROPERTY(qreal, large, 20)
|
|
CFG_PROPERTY(qreal, larger, 16)
|
|
CFG_PROPERTY(qreal, normal, 12)
|
|
CFG_PROPERTY(qreal, scale, 1)
|
|
CFG_PROPERTY(qreal, small, 8)
|
|
CFG_PROPERTY(qreal, smaller, 10)
|
|
|
|
public:
|
|
explicit AppearanceSpacing(QObject* parent = nullptr)
|
|
: ConfigObject(parent) {}
|
|
};
|
|
|
|
class FontSizeTokens : public ConfigObject {
|
|
Q_OBJECT
|
|
QML_ANONYMOUS
|
|
|
|
CFG_PROPERTY(qreal, extraLarge, 28)
|
|
CFG_PROPERTY(qreal, large, 18)
|
|
CFG_PROPERTY(qreal, larger, 16)
|
|
CFG_PROPERTY(qreal, medium, 14)
|
|
CFG_PROPERTY(qreal, normal, 13)
|
|
CFG_PROPERTY(qreal, scale, 1)
|
|
CFG_PROPERTY(qreal, small, 11)
|
|
CFG_PROPERTY(qreal, smaller, 12)
|
|
|
|
public:
|
|
explicit FontSizeTokens(QObject* parent = nullptr) : ConfigObject(parent) {}
|
|
};
|
|
|
|
class FontTokens : public ConfigObject {
|
|
Q_OBJECT
|
|
QML_ANONYMOUS
|
|
|
|
CONFIG_SUBOBJECT(FontSizeTokens, size)
|
|
|
|
public:
|
|
explicit FontTokens(QObject* parent = nullptr)
|
|
: ConfigObject(parent), m_size(new FontSizeTokens(this)) {}
|
|
};
|
|
|
|
class AnimCurves : public ConfigObject {
|
|
Q_OBJECT
|
|
QML_ANONYMOUS
|
|
|
|
CFG_PROPERTY(
|
|
QVariantList,
|
|
emphasized,
|
|
QVariantList{
|
|
0.05,
|
|
0,
|
|
2.0 / 15.0,
|
|
0.06,
|
|
1.0 / 6.0,
|
|
0.4,
|
|
5.0 / 24.0,
|
|
0.82,
|
|
0.25,
|
|
1,
|
|
1,
|
|
1})
|
|
|
|
CFG_PROPERTY(
|
|
QVariantList, emphasizedAccel, QVariantList{0.3, 0, 0.8, 0.15, 1, 1})
|
|
|
|
CFG_PROPERTY(
|
|
QVariantList, emphasizedDecel, QVariantList{0.05, 0.7, 0.1, 1, 1, 1})
|
|
|
|
CFG_PROPERTY(
|
|
QVariantList,
|
|
expressiveDefaultEffects,
|
|
QVariantList{0.34, 0.8, 0.34, 1, 1, 1})
|
|
|
|
CFG_PROPERTY(
|
|
QVariantList,
|
|
expressiveDefaultSpatial,
|
|
QVariantList{0.38, 1.21, 0.22, 1, 1, 1})
|
|
|
|
CFG_PROPERTY(
|
|
QVariantList, expressiveEffects, QVariantList{0.34, 0.8, 0.34, 1, 1, 1})
|
|
|
|
CFG_PROPERTY(
|
|
QVariantList,
|
|
expressiveFastEffects,
|
|
QVariantList{0.31, 0.94, 0.34, 1, 1, 1})
|
|
|
|
CFG_PROPERTY(
|
|
QVariantList,
|
|
expressiveFastSpatial,
|
|
QVariantList{0.42, 1.67, 0.21, 0.9, 1, 1})
|
|
|
|
CFG_PROPERTY(
|
|
QVariantList,
|
|
expressiveSlowEffects,
|
|
QVariantList{0.34, 0.88, 0.34, 1, 1, 1})
|
|
|
|
CFG_PROPERTY(
|
|
QVariantList,
|
|
expressiveSlowSpatial,
|
|
QVariantList{0.39, 1.29, 0.35, 0.98, 1, 1})
|
|
|
|
CFG_PROPERTY(QVariantList, standard, QVariantList{0.2, 0, 0, 1, 1, 1})
|
|
|
|
CFG_PROPERTY(QVariantList, standardAccel, QVariantList{0.3, 0, 1, 1, 1, 1})
|
|
|
|
CFG_PROPERTY(QVariantList, standardDecel, QVariantList{0, 0, 0, 1, 1, 1})
|
|
|
|
public:
|
|
explicit AnimCurves(QObject* parent = nullptr) : ConfigObject(parent) {}
|
|
};
|
|
|
|
class AnimDurations : public ConfigObject {
|
|
Q_OBJECT
|
|
QML_ANONYMOUS
|
|
|
|
CFG_PROPERTY(int, expressiveDefaultSpatial, 500)
|
|
CFG_PROPERTY(int, expressiveEffects, 200)
|
|
CFG_PROPERTY(int, expressiveFastEffects, 150)
|
|
CFG_PROPERTY(int, expressiveFastSpatial, 350)
|
|
CFG_PROPERTY(int, expressiveSlowEffects, 300)
|
|
CFG_PROPERTY(int, extraLarge, 1000)
|
|
CFG_PROPERTY(int, large, 600)
|
|
CFG_PROPERTY(int, normal, 400)
|
|
CFG_PROPERTY(qreal, scale, 1)
|
|
CFG_PROPERTY(int, small, 200)
|
|
|
|
public:
|
|
explicit AnimDurations(QObject* parent = nullptr) : ConfigObject(parent) {}
|
|
};
|
|
|
|
class AnimTokens : public ConfigObject {
|
|
Q_OBJECT
|
|
QML_ANONYMOUS
|
|
|
|
CONFIG_SUBOBJECT(AnimCurves, curves)
|
|
CONFIG_SUBOBJECT(AnimDurations, durations)
|
|
|
|
public:
|
|
explicit AnimTokens(QObject* parent = nullptr)
|
|
: ConfigObject(parent)
|
|
, m_curves(new AnimCurves(this))
|
|
, m_durations(new AnimDurations(this)) {}
|
|
};
|
|
|
|
class BarTokens : public ConfigObject {
|
|
Q_OBJECT
|
|
QML_ANONYMOUS
|
|
|
|
CFG_PROPERTY(int, innerSize, 28)
|
|
|
|
public:
|
|
explicit BarTokens(QObject* parent = nullptr) : ConfigObject(parent) {}
|
|
};
|
|
|
|
class Tokens : public ConfigObject {
|
|
Q_OBJECT
|
|
QML_ELEMENT
|
|
QML_SINGLETON
|
|
|
|
CONFIG_SUBOBJECT(AppearanceRounding, rounding)
|
|
CONFIG_SUBOBJECT(AppearancePadding, padding)
|
|
CONFIG_SUBOBJECT(AppearanceSpacing, spacing)
|
|
CONFIG_SUBOBJECT(FontTokens, font)
|
|
CONFIG_SUBOBJECT(AnimTokens, anim)
|
|
CONFIG_SUBOBJECT(BarTokens, bar)
|
|
|
|
public:
|
|
explicit Tokens(QObject* parent = nullptr)
|
|
: ConfigObject(parent)
|
|
, m_rounding(new AppearanceRounding(this))
|
|
, m_padding(new AppearancePadding(this))
|
|
, m_spacing(new AppearanceSpacing(this))
|
|
, m_font(new FontTokens(this))
|
|
, m_anim(new AnimTokens(this))
|
|
, m_bar(new BarTokens(this)) {}
|
|
|
|
static Tokens* create(QQmlEngine*, QJSEngine*) { return new Tokens(); }
|
|
};
|
|
|
|
} // namespace ZShell::config
|