view src/sys/win32/dark_theme.cpp @ 46:d0adc4aedfc8

*: update... this commit: 1. consolidates dark theme stuff to dark_theme.cpp 2. creates a new widgets folder to store all of our custom widgets 3. creates the list settings page in the information dialog, although much of it is nonfunctional: it doesn't save, and the status doesn't even get filled in... we'll fix this later!
author Paper <mrpapersonic@gmail.com>
date Sat, 23 Sep 2023 01:02:15 -0400
parents cde8f67a7c7d
children 6481c5aed3e1
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
	if (QOperatingSystemVersion::current().majorVersion() == 10) {
		return QOperatingSystemVersion::current().microVersion() >= 17763;
	} else if (QOperatingSystemVersion::current().majorVersion() > 10) {
		return true;
	} else {
		return false;
	}
}

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

} // namespace win32