#ifndef AB_SETTINGS_H #define AB_SETTINGS_H #include #include #include #include #include "common/ChatterinoSetting.hpp" #ifdef AB_CUSTOM_SETTINGS # define AB_SETTINGS_CLASS ABSettings #else # define AB_SETTINGS_CLASS Settings #endif namespace chatterino { class Settings; void _actuallyRegisterSetting( std::weak_ptr setting); class AB_SETTINGS_CLASS { public: AB_SETTINGS_CLASS(const QString &settingsDirectory); void saveSnapshot(); void restoreSnapshot(); static AB_SETTINGS_CLASS *instance; FloatSetting uiScale = {"/appearance/uiScale2", 1}; BoolSetting windowTopMost = {"/appearance/windowAlwaysOnTop", false}; float getClampedUiScale() const; void setClampedUiScale(float value); private: std::unique_ptr snapshot_; }; Settings *getSettings(); AB_SETTINGS_CLASS *getABSettings(); } // namespace chatterino #ifdef CHATTERINO # include "singletons/Settings.hpp" #endif #endif