#pragma once #include "common.hpp" #include #include #include namespace ZShell::config { class UtilitiesSizes : public settings::ObjectNode { CONFIG_NODE(UtilitiesSizes, settings::ObjectNode) CONFIG_PROPERTY(int, toastWidth, 430) CONFIG_PROPERTY(int, width, 430) }; class Toasts : public settings::ObjectNode { CONFIG_NODE(Toasts, settings::ObjectNode) CONFIG_PROPERTY(bool, audioInputChanged, true) CONFIG_PROPERTY(bool, audioOutputChanged, true) CONFIG_PROPERTY(bool, capsLockChanged, true) CONFIG_PROPERTY(bool, chargingChanged, true) CONFIG_PROPERTY(bool, configLoaded, true) CONFIG_PROPERTY(bool, dndChanged, true) CONFIG_PROPERTY(bool, gameModeChanged, true) CONFIG_PROPERTY(bool, kbLayoutChanged, true) CONFIG_PROPERTY(bool, kbLimit, true) CONFIG_PROPERTY(bool, nowPlaying, false) CONFIG_PROPERTY(bool, numLockChanged, true) CONFIG_PROPERTY(bool, vpnChanged, true) }; class Vpn : public settings::ObjectNode { CONFIG_NODE(Vpn, settings::ObjectNode) CONFIG_PROPERTY(bool, enabled, false) CONFIG_PROPERTY( QStringList, provider, (QStringList{QStringLiteral("netbird")})) }; class Utilities : public settings::ObjectNode { CONFIG_NODE(Utilities, settings::ObjectNode) CONFIG_PROPERTY(bool, enabled, true) CONFIG_PROPERTY(int, maxToasts, 4) CONFIG_SUBOBJECT(UtilitiesSizes, sizes) CONFIG_SUBOBJECT(Toasts, toasts) CONFIG_SUBOBJECT(Vpn, vpn) CONFIG_LIST( EntryList, quickToggles, DEFAULT_ARG( {LIST_ENTRY(dnd, true), LIST_ENTRY(wifi, true), LIST_ENTRY(settings, true), LIST_ENTRY(bluetooth, true), LIST_ENTRY(mic, true), LIST_ENTRY(audio, true), LIST_ENTRY(gameMode, true)})) }; } // namespace ZShell::config