#pragma once #include "configobject.hpp" #include namespace ZShell::config { class Presets : public ConfigObject { Q_OBJECT QML_ANONYMOUS CFG_PROPERTY(QString, accent, QString()) CFG_PROPERTY(QString, name, QStringLiteral("Catppuccin")) CFG_PROPERTY(QString, variant, QStringLiteral("latte")) public: explicit Presets(QObject* parent = nullptr) : ConfigObject(parent) {} }; class Colors : public ConfigObject { Q_OBJECT QML_ANONYMOUS CONFIG_SUBOBJECT(Presets, presets) CFG_PROPERTY(QString, schemeType, QStringLiteral("fidelity")) CFG_PROPERTY(bool, scheduleDark, false) CFG_PROPERTY(int, scheduleDarkEnd, 600) CFG_PROPERTY(int, scheduleDarkStart, 1140) CFG_PROPERTY(bool, schemeGen, true) CFG_PROPERTY(bool, neovimColors, false) CFG_PROPERTY(QString, mode, QStringLiteral("dark")) CFG_PROPERTY(bool, smart, false) public: explicit Colors(QObject* parent = nullptr) : ConfigObject(parent), m_presets(new Presets(this)) {} }; } // namespace ZShell::config