nosignal-shell/plugin/src/Caelestia/Config/serviceconfig.hpp
2026-06-03 03:07:18 +10:00

42 lines
1.6 KiB
C++

#pragma once
#include "configobject.hpp"
#include <qstring.h>
#include <qvariant.h>
namespace caelestia::config {
using Qt::StringLiterals::operator""_s;
class ServiceConfig : public ConfigObject {
Q_OBJECT
QML_ANONYMOUS
CONFIG_GLOBAL_PROPERTY(QString, weatherLocation)
// Guess based on locale
CONFIG_GLOBAL_PROPERTY(bool, useFahrenheit,
QLocale().measurementSystem() == QLocale::ImperialUSSystem ||
QLocale().measurementSystem() == QLocale::ImperialUKSystem)
// This is always false by default cause apparently even imperial system users don't use it for perf temps?
CONFIG_GLOBAL_PROPERTY(bool, useFahrenheitPerformance, false)
// Attempt to guess based on locale
CONFIG_GLOBAL_PROPERTY(
bool, useTwelveHourClock, QLocale().timeFormat(QLocale::ShortFormat).toLower().contains(u"a"_s))
CONFIG_GLOBAL_PROPERTY(QString, gpuType)
CONFIG_GLOBAL_PROPERTY(int, visualiserBars, 60)
CONFIG_GLOBAL_PROPERTY(qreal, audioIncrement, 0.1)
CONFIG_GLOBAL_PROPERTY(qreal, brightnessIncrement, 0.1)
CONFIG_GLOBAL_PROPERTY(qreal, maxVolume, 1.0)
CONFIG_GLOBAL_PROPERTY(bool, smartScheme, true)
CONFIG_GLOBAL_PROPERTY(QString, defaultPlayer, u"Spotify"_s)
CONFIG_GLOBAL_PROPERTY(QVariantList, playerAliases,
{ vmap({ { u"from"_s, u"com.github.th_ch.youtube_music"_s }, { u"to"_s, u"YT Music"_s } }) })
CONFIG_GLOBAL_PROPERTY(QString, lyricsBackend, u"Auto"_s)
public:
explicit ServiceConfig(QObject* parent = nullptr)
: ConfigObject(parent) {}
};
} // namespace caelestia::config