Mercurial > minori
annotate include/gui/theme.h @ 261:3ec7804abf17
include: make header guards more sane
The C++ standard[1] says:
Each identifier that contains a double underscore __ or
begins with an underscore followed by an uppercase letter
is reserved to the implementation for any use.
[1]: https://timsong-cpp.github.io/cppwp/n4659/lex.name#3.1
| author | Paper <paper@paper.us.eu.org> |
|---|---|
| date | Wed, 03 Apr 2024 20:04:28 -0400 |
| parents | 862d0d8619f6 |
| children | 657fda1b9cac |
| rev | line source |
|---|---|
|
261
3ec7804abf17
include: make header guards more sane
Paper <paper@paper.us.eu.org>
parents:
258
diff
changeset
|
1 #ifndef MINORI_GUI_THEME_H_ |
|
3ec7804abf17
include: make header guards more sane
Paper <paper@paper.us.eu.org>
parents:
258
diff
changeset
|
2 #define MINORI_GUI_THEME_H_ |
| 102 | 3 |
| 4 #include <QStyle> | |
| 5 | |
| 6 enum class Themes { | |
| 7 OS, | |
| 8 LIGHT, | |
| 9 DARK | |
| 10 }; | |
| 11 | |
| 12 namespace Theme { | |
| 13 | |
| 14 class Theme final { | |
| 258 | 15 public: |
| 16 Theme(Themes theme = Themes::OS); | |
| 17 void SetTheme(Themes theme); | |
| 18 Themes GetTheme() const; | |
| 19 bool IsInDarkTheme() const; | |
| 20 void RepaintCurrentTheme(); | |
| 102 | 21 |
| 258 | 22 private: |
| 23 void SetToDarkTheme(); | |
| 24 void SetToLightTheme(); | |
| 25 void SetStyleSheet(Themes theme); | |
| 26 Themes GetCurrentOSTheme() const; | |
| 27 Themes theme; | |
| 102 | 28 }; |
| 29 | |
| 30 } // namespace Theme | |
| 31 | |
|
261
3ec7804abf17
include: make header guards more sane
Paper <paper@paper.us.eu.org>
parents:
258
diff
changeset
|
32 #endif // MINORI_GUI_THEME_H_ |
