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

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);
};