Mercurial > minori
view include/gui/theme.h @ 187:9613d72b097e
*: multiple performance improvements
   like marking `static const` when it makes sense...
date: change old stupid heap-based method to a structure which should
      make copying the thing actually make a copy.
      also many performance-based changes, like removing the std::tie
      dependency and forward-declaring nlohmann json
*: replace every instance of QString::fromUtf8 to Strings::ToQString.
   the main difference is that our function will always convert exactly
   what is in the string, while some other times it would only convert
   up to the nearest NUL byte
| author | Paper <mrpapersonic@gmail.com> | 
|---|---|
| date | Wed, 06 Dec 2023 13:43:54 -0500 | 
| parents | 39521c47c7a3 | 
| children | 862d0d8619f6 | 
line wrap: on
 line source
#ifndef __gui__theme_h #define __gui__theme_h #include <QStyle> enum class Themes { OS, LIGHT, DARK }; namespace Theme { class Theme final { public: Theme(Themes theme = Themes::OS); void SetTheme(Themes theme); Themes GetTheme() const; bool IsInDarkTheme() const; void RepaintCurrentTheme(); private: void SetToDarkTheme(); void SetToLightTheme(); void SetStyleSheet(Themes theme); Themes GetCurrentOSTheme() const; Themes theme; }; } // namespace Theme #endif // __gui__theme_h
