#pragma once #include "configobject.hpp" namespace caelestia::config { class DashboardPerformance : public ConfigObject { Q_OBJECT QML_ANONYMOUS CONFIG_PROPERTY(bool, showBattery, true) CONFIG_PROPERTY(bool, showGpu, true) CONFIG_PROPERTY(bool, showCpu, true) CONFIG_PROPERTY(bool, showMemory, true) CONFIG_PROPERTY(bool, showStorage, true) CONFIG_PROPERTY(bool, showNetwork, true) public: explicit DashboardPerformance(QObject* parent = nullptr) : ConfigObject(parent) {} }; class DashboardConfig : public ConfigObject { Q_OBJECT QML_ANONYMOUS CONFIG_PROPERTY(bool, enabled, true) CONFIG_PROPERTY(bool, showOnHover, true) CONFIG_PROPERTY(bool, showDashboard, true) CONFIG_PROPERTY(bool, showMedia, true) CONFIG_PROPERTY(bool, showPerformance, true) CONFIG_PROPERTY(bool, showWeather, true) CONFIG_PROPERTY(int, mediaUpdateInterval, 500) CONFIG_PROPERTY(int, resourceUpdateInterval, 1000) CONFIG_PROPERTY(int, dragThreshold, 50) CONFIG_SUBOBJECT(DashboardPerformance, performance) public: explicit DashboardConfig(QObject* parent = nullptr) : ConfigObject(parent) , m_performance(new DashboardPerformance(this)) {} }; } // namespace caelestia::config