Mercurial > minori
view include/gui/theme.h @ 229:adc20fa321c1
theme: force Fusion style on platforms other than Win32 or OS X
I was reluctant to do this, but most of the other styles just
look like pure shite regardless of whether I force a stylesheet
on them or not. KDE's style is actually hilariously bad paired
with my stylesheet, so I've decided to also make the stylesheet
Windows-specific as well, because that's really the only platform
where it makes sense in the first place.
author | Paper <paper@paper.us.eu.org> |
---|---|
date | Wed, 10 Jan 2024 21:23:57 -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