Files
z-bar-qt/Plugins/ZShell/Config/dashboard.hpp
T

54 lines
1.5 KiB
C++

#pragma once
#include "common.hpp"
#include <qqmlintegration.h>
namespace ZShell::config {
class Performance : public settings::ObjectNode {
CONFIG_NODE(Performance, settings::ObjectNode)
CONFIG_PROPERTY(bool, enabled, true)
CONFIG_PROPERTY(bool, showBattery, false)
CONFIG_PROPERTY(bool, showCpu, true)
CONFIG_PROPERTY(bool, showGpu, true)
CONFIG_PROPERTY(bool, showMemory, true)
CONFIG_PROPERTY(bool, showNetwork, true)
CONFIG_PROPERTY(bool, showStorage, true)
CONFIG_PROPERTY(bool, showVram, true)
};
class ProcessColumnEntry : public settings::ObjectNode {
CONFIG_NODE(ProcessColumnEntry, settings::ObjectNode)
CONFIG_PROPERTY(QString, id, {})
CONFIG_PROPERTY(double, width, 0)
};
CONFIG_LIST_TYPE(ProcessColumnEntry, ProcessColumnList)
class Dashboard : public settings::ObjectNode {
CONFIG_NODE(Dashboard, settings::ObjectNode)
CONFIG_PROPERTY(bool, enabled, true)
CONFIG_PROPERTY(bool, showOnHover, true)
CONFIG_PROPERTY(int, dragThreshold, 50)
CONFIG_PROPERTY(int, mediaUpdateInterval, 2000)
CONFIG_PROPERTY(bool, showWeather, true)
CONFIG_PROPERTY(bool, showDashboard, true)
CONFIG_PROPERTY(bool, showMedia, true)
CONFIG_PROPERTY(bool, showProcesses, false)
CONFIG_SUBOBJECT(Performance, performance)
CONFIG_PROPERTY(int, resourceUpdateInterval, 1000)
CONFIG_LIST(
ProcessColumnList,
processColumns,
DEFAULT_ARG({
settings::vmap({{"id", "command"}}),
settings::vmap({{"id", "pid"}}),
settings::vmap({{"id", "cpuUsage"}}),
settings::vmap({{"id", "memoryUsage"}}),
}))
};
} // namespace ZShell::config