#pragma once #include "configobject.hpp" #include namespace ZShell::config { class OsdSizes : public ConfigObject { Q_OBJECT QML_ANONYMOUS CFG_PROPERTY(int, sliderHeight, 150) CFG_PROPERTY(int, sliderWidth, 30) public: explicit OsdSizes(QObject* parent = nullptr) : ConfigObject(parent) {} }; class Osd : public ConfigObject { Q_OBJECT QML_ANONYMOUS CFG_PROPERTY(bool, allMonBrightness, true) CFG_PROPERTY(bool, enableBrightness, true) CFG_PROPERTY(bool, enableMicrophone, true) CFG_PROPERTY(bool, enabled, true) CFG_PROPERTY(int, hideDelay, 3000) CONFIG_SUBOBJECT(OsdSizes, sizes) public: explicit Osd(QObject* parent = nullptr) : ConfigObject(parent), m_sizes(new OsdSizes(this)) {} }; } // namespace ZShell::config