nosignal-shell/plugin/src/Caelestia/Config/dashboardconfig.hpp
2026-04-11 21:44:03 +10:00

44 lines
1.2 KiB
C++

#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