69 lines
2.1 KiB
C++
69 lines
2.1 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 DashboardSizes : public settings::ObjectNode {
|
|
CONFIG_NODE(DashboardSizes, settings::ObjectNode)
|
|
|
|
CONFIG_PROPERTY(int, dateTimeWidth, 110)
|
|
CONFIG_PROPERTY(int, infoIconSize, 25)
|
|
CONFIG_PROPERTY(int, infoWidth, 200)
|
|
CONFIG_PROPERTY(int, mediaCoverArtSize, 150)
|
|
CONFIG_PROPERTY(int, mediaProgressSweep, 180)
|
|
CONFIG_PROPERTY(int, mediaProgressThickness, 8)
|
|
CONFIG_PROPERTY(int, mediaVisualizerSize, 200)
|
|
CONFIG_PROPERTY(int, mediaWidth, 200)
|
|
CONFIG_PROPERTY(int, resourceProgessThickness, 10)
|
|
CONFIG_PROPERTY(int, resourceSize, 200)
|
|
CONFIG_PROPERTY(int, tabIndicatorHeight, 3)
|
|
CONFIG_PROPERTY(int, tabIndicatorSpacing, 5)
|
|
CONFIG_PROPERTY(int, weatherWidth, 250)
|
|
};
|
|
|
|
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_SUBOBJECT(Performance, performance)
|
|
CONFIG_PROPERTY(int, resourceUpdateInterval, 1000)
|
|
CONFIG_SUBOBJECT(DashboardSizes, sizes)
|
|
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
|