Dark mode theme only for Windows

This commit is contained in:
Cacodemon345
2024-01-16 01:39:32 +06:00
parent 2cbfc8e047
commit bf99a1aaad
6 changed files with 2511 additions and 1 deletions

View File

@@ -19,6 +19,13 @@
#include <QComboBox>
#include <QAbstractItemView>
#ifdef Q_OS_WINDOWS
#include <dwmapi.h>
#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE
#define DWMWA_USE_IMMERSIVE_DARK_MODE 20
#endif
#endif
int
StyleOverride::styleHint(
StyleHint hint,
@@ -48,6 +55,10 @@ StyleOverride::polish(QWidget *widget)
widget->setWindowFlag(Qt::MSWindowsFixedSizeDialogHint, true);
}
widget->setWindowFlag(Qt::WindowContextHelpButtonHint, false);
#ifdef Q_OS_WINDOWS
BOOL DarkMode = TRUE;
DwmSetWindowAttribute((HWND)widget->winId(), DWMWA_USE_IMMERSIVE_DARK_MODE, (LPCVOID)&DarkMode, sizeof(DarkMode));
#endif
}
if (qobject_cast<QComboBox *>(widget)) {