view src/sys/win32/dark_theme.cc @ 83:d02fdf1d6708

*: huuuge update 1. make the now playing page function correctly 2. de-constructorfy many of our custom widgets, allowing them to be changed on-the-fly from the Now Playing page 3. ... :)
author Paper <mrpapersonic@gmail.com>
date Tue, 24 Oct 2023 22:01:02 -0400
parents 9b2b41f83a5e
children 6d8da6e64d61
line wrap: on
line source

#include "sys/win32/dark_theme.h"
#include <QOperatingSystemVersion>
#include <QSettings>

namespace win32 {

bool DarkThemeAvailable() {
	// dark mode supported Windows 10 1809 10.0.17763 onward
	// https://stackoverflow.com/questions/53501268/win10-dark-theme-how-to-use-in-winapi
	const auto& ver = QOperatingSystemVersion::current();
	return (ver.majorVersion() > 10) ? true : (ver.majorVersion() == 10 && ver.microVersion() >= 17763);
}

bool IsInDarkTheme() {
	QSettings settings("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize",
	                   QSettings::NativeFormat);
	return settings.value("AppsUseLightTheme", 1).toInt() == 0;
}

} // namespace win32