Mercurial > minori
view include/gui/theme.h @ 102:b315f3759c56
*: big patch
1. use a wrapper for mINI that enables case sensitivity
(personal preference)
2. rename dark_theme.cc to theme.cc and change it to be
a class
3. include the "dep" folder so we don't have stupidity in
json.h or ini.h
4. I think the graph was also tweaked a lot in this, nothing
is constexpr and size is found at runtime...
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Fri, 03 Nov 2023 21:32:52 -0400 |
parents | |
children | 6d8da6e64d61 |
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(); private: bool IsInDarkMode(); void SetToDarkTheme(); void SetToLightTheme(); void SetStyleSheet(Themes theme); Themes GetCurrentOSTheme(); Themes theme; }; } // namespace Theme #endif // __gui__theme_h