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_ |