83 lines
2.6 KiB
C++
83 lines
2.6 KiB
C++
#pragma once
|
|
#include "ConfigSection.hpp"
|
|
#include <qqmlregistration.h>
|
|
#include <QVariantList>
|
|
|
|
class Apps : public ConfigSection {
|
|
Q_OBJECT
|
|
QML_UNCREATABLE("Instantiated internally by Config")
|
|
|
|
CFG_PROPERTY(QVariantList, archiver, Archiver)
|
|
CFG_PROPERTY(QVariantList, audio, Audio)
|
|
CFG_PROPERTY(QVariantList, document, Document)
|
|
CFG_PROPERTY(QVariantList, editor, Editor)
|
|
CFG_PROPERTY(QVariantList, explorer, Explorer)
|
|
CFG_PROPERTY(QVariantList, image, Image)
|
|
CFG_PROPERTY(QVariantList, playback, Playback)
|
|
CFG_PROPERTY(QVariantList, terminal, Terminal)
|
|
|
|
public:
|
|
explicit Apps(QObject *parent = nullptr);
|
|
};
|
|
|
|
class Battery : public ConfigSection {
|
|
Q_OBJECT
|
|
QML_UNCREATABLE("Instantiated internally by Config")
|
|
|
|
CFG_PROPERTY(int, critPerc, CritPerc)
|
|
// Array of { icon, message, name, perc } objects.
|
|
CFG_PROPERTY(QVariantList, popupThresholds, PopupThresholds)
|
|
|
|
public:
|
|
explicit Battery(QObject *parent = nullptr);
|
|
};
|
|
|
|
class ColorSettings : public ConfigSection {
|
|
Q_OBJECT
|
|
QML_UNCREATABLE("Instantiated internally by Config")
|
|
|
|
CFG_PROPERTY(int, hyprsunsetTemp, HyprsunsetTemp)
|
|
CFG_PROPERTY(QString, mode, Mode)
|
|
CFG_PROPERTY(bool, neovimColors, NeovimColors)
|
|
CFG_PROPERTY(bool, scheduleDark, ScheduleDark)
|
|
CFG_PROPERTY(int, scheduleDarkEnd, ScheduleDarkEnd)
|
|
CFG_PROPERTY(int, scheduleDarkStart, ScheduleDarkStart)
|
|
CFG_PROPERTY(bool, scheduleHyprsunset, ScheduleHyprsunset)
|
|
CFG_PROPERTY(int, scheduleHyprsunsetEnd, ScheduleHyprsunsetEnd)
|
|
CFG_PROPERTY(int, scheduleHyprsunsetStart, ScheduleHyprsunsetStart)
|
|
CFG_PROPERTY(bool, schemeGeneration, SchemeGeneration)
|
|
CFG_PROPERTY(bool, smart, Smart)
|
|
|
|
public:
|
|
explicit ColorSettings(QObject *parent = nullptr);
|
|
};
|
|
|
|
class Idle : public ConfigSection {
|
|
Q_OBJECT
|
|
QML_UNCREATABLE("Instantiated internally by Config")
|
|
|
|
// Array of { idleAction, name, timeout } objects.
|
|
CFG_PROPERTY(QVariantList, timeouts, Timeouts)
|
|
|
|
public:
|
|
explicit Idle(QObject *parent = nullptr);
|
|
};
|
|
|
|
class General : public ConfigSection {
|
|
Q_OBJECT
|
|
QML_UNCREATABLE("Instantiated internally by Config")
|
|
|
|
CFG_SECTION(Apps, apps, Apps)
|
|
CFG_SECTION(Battery, battery, Battery)
|
|
CFG_SECTION(ColorSettings, color, Color)
|
|
CFG_PROPERTY(QString, dateFormat, DateFormat)
|
|
CFG_PROPERTY(bool, desktopIcons, DesktopIcons)
|
|
CFG_SECTION(Idle, idle, Idle)
|
|
CFG_PROPERTY(QString, logo, Logo)
|
|
CFG_PROPERTY(bool, showOverFullscreen, ShowOverFullscreen)
|
|
CFG_PROPERTY(QString, wallpaperPath, WallpaperPath)
|
|
|
|
public:
|
|
explicit General(QObject *parent = nullptr);
|
|
};
|