Mercurial > minori
diff 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 diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/gui/theme.h Fri Nov 03 21:32:52 2023 -0400 @@ -0,0 +1,31 @@ +#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