view include/gui/theme.h @ 107:49c8d1976869

themes/dark: make QMenuBar and QMenu look better this is what Sublime Text does, and I prefer it to having that ugly blue color
author Paper <mrpapersonic@gmail.com>
date Sun, 05 Nov 2023 17:44:49 -0500
parents 6d8da6e64d61
children 2004b41d4a59
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();
		bool IsInDarkMode();
		void RepaintCurrentTheme();

	private:
		void SetToDarkTheme();
		void SetToLightTheme();
		void SetStyleSheet(Themes theme);
		Themes GetCurrentOSTheme();
		Themes theme;
};

} // namespace Theme

#endif // __gui__theme_h