#pragma once #include "common.hpp" #include "enums.hpp" namespace ZShell::config { class PlayerAliasEntry : public settings::ObjectNode { CONFIG_NODE(PlayerAliasEntry, settings::ObjectNode) CONFIG_PROPERTY(QString, from, {}) CONFIG_PROPERTY(QString, to, {}) }; CONFIG_LIST_TYPE(PlayerAliasEntry, PlayerAliasList) class Services : public settings::ObjectNode { CONFIG_NODE(Services, settings::ObjectNode) CONFIG_PROPERTY(qreal, audioIncrement, 0.1) CONFIG_PROPERTY(qreal, brightnessIncrement, 0.1) CONFIG_PROPERTY(bool, ddcutilService, true) CONFIG_PROPERTY(QString, defaultPlayer, QStringLiteral("Spotify")) CONFIG_PROPERTY(QString, gpuType, QStringLiteral("NVIDIA")) CONFIG_PROPERTY(LyricsBackend::Enum, lyricsBackend, LyricsBackend::Auto) CONFIG_PROPERTY(qreal, maxVolume, 1) CONFIG_PROPERTY(qreal, minBrightness, 0.01) CONFIG_LIST( PlayerAliasList, playerAliases, DEFAULT_ARG({ settings::vmap( {{"from", QStringLiteral("com.github.th_ch.youtube_music")}, {"to", QStringLiteral("YT Music")}}), })) CONFIG_PROPERTY(bool, updates, true) CONFIG_PROPERTY(bool, useFahrenheit, false) CONFIG_PROPERTY(bool, useTwelveHourClock, false) CONFIG_PROPERTY(int, visualizerBars, 50) CONFIG_PROPERTY(QString, weatherLocation, QString()) }; } // namespace ZShell::config