Only the main window and its childs should be native widgets

This commit is contained in:
Cacodemon345
2024-01-17 00:56:07 +06:00
parent 25ec6f65c4
commit fe3aab2a0e
2 changed files with 7 additions and 1 deletions

View File

@@ -176,7 +176,6 @@ main(int argc, char *argv[])
#ifdef Q_OS_WINDOWS
Q_INIT_RESOURCE(darkstyle);
QApplication::setAttribute(Qt::AA_NativeWindows);
if (!windows_is_light_theme()) {
QFile f(":qdarkstyle/dark/darkstyle.qss");

View File

@@ -16,6 +16,8 @@
*/
#include "qt_styleoverride.hpp"
#include "qt_mainwindow.hpp"
#include <QComboBox>
#include <QAbstractItemView>
@@ -26,6 +28,8 @@
#endif
#endif
extern MainWindow* main_window;
int
StyleOverride::styleHint(
StyleHint hint,
@@ -59,6 +63,9 @@ StyleOverride::polish(QWidget *widget)
extern bool windows_is_light_theme();
BOOL DarkMode = !windows_is_light_theme();
DwmSetWindowAttribute((HWND)widget->winId(), DWMWA_USE_IMMERSIVE_DARK_MODE, (LPCVOID)&DarkMode, sizeof(DarkMode));
if (main_window->isAncestorOf(widget)) {
widget->setAttribute(Qt::WA_NativeWindow);
}
#endif
}