| | |
| | | #if !QWINDOWKIT_CONFIG(ENABLE_WINDOWS_SYSTEM_BORDER) |
| | | { |
| | | auto style = ::GetWindowLongPtrW(hWnd, GWL_STYLE); |
| | | ::SetWindowLongPtrW(hWnd, GWL_STYLE, style | WS_THICKFRAME | WS_CAPTION); |
| | | } |
| | | #endif |
| | | |
| | | #if QT_VERSION < QT_VERSION_CHECK(6, 5, 0) |
| | | for (const auto attr : { |
| | | _DWMWA_USE_IMMERSIVE_DARK_MODE_BEFORE_20H1, |
| | | _DWMWA_USE_IMMERSIVE_DARK_MODE, |
| | | }) { |
| | | const BOOL enable = TRUE; |
| | | DynamicApis::instance().pDwmSetWindowAttribute(hWnd, attr, &enable, sizeof(enable)); |
| | | ::SetWindowLongPtrW(hWnd, GWL_STYLE, (style | WS_THICKFRAME) & (~WS_CAPTION)); |
| | | } |
| | | #endif |
| | | |
| | |
| | | apis.pDwmExtendFrameIntoClientArea(hwnd, &defaultMargins); |
| | | } |
| | | return true; |
| | | } else if (key == QStringLiteral("dark-mode")) { |
| | | if (!isWin101809OrGreater()) { |
| | | return false; |
| | | } |
| | | |
| | | BOOL enable = attribute.toBool(); |
| | | |
| | | if (isWin101903OrGreater()) { |
| | | apis.pSetPreferredAppMode(enable ? PAM_AUTO : PAM_DEFAULT); |
| | | } else { |
| | | apis.pAllowDarkModeForApp(enable); |
| | | } |
| | | |
| | | for (const auto attr : { |
| | | _DWMWA_USE_IMMERSIVE_DARK_MODE_BEFORE_20H1, |
| | | _DWMWA_USE_IMMERSIVE_DARK_MODE, |
| | | }) { |
| | | apis.pDwmSetWindowAttribute(hwnd, attr, &enable, sizeof(enable)); |
| | | } |
| | | |
| | | apis.pFlushMenuThemes(); |
| | | |
| | | return true; |
| | | } |
| | | return false; |
| | | } |