From ba8e8a32fc6e909ad0a2c152e36b6660c01fdad5 Mon Sep 17 00:00:00 2001
From: Sine Striker <trueful@163.com>
Date: 摹曛, 21 11月 2024 21:24:24 +0800
Subject: [PATCH] Update qmake pri

---
 src/core/shared/qwkwindowsextra_p.h |   34 ++++++++++++++++++++--------------
 1 files changed, 20 insertions(+), 14 deletions(-)

diff --git a/src/core/shared/qwkwindowsextra_p.h b/src/core/shared/qwkwindowsextra_p.h
index 0b24382..021b34e 100644
--- a/src/core/shared/qwkwindowsextra_p.h
+++ b/src/core/shared/qwkwindowsextra_p.h
@@ -1,3 +1,7 @@
+// Copyright (C) 2023-2024 Stdware Collections (https://www.github.com/stdware)
+// Copyright (C) 2021-2023 wangwenx190 (Yuhang Zhao)
+// SPDX-License-Identifier: Apache-2.0
+
 #ifndef QWKWINDOWSEXTRA_P_H
 #define QWKWINDOWSEXTRA_P_H
 
@@ -15,9 +19,7 @@
 #include <timeapi.h>
 
 #include <QWKCore/qwindowkit_windows.h>
-
 #include <QtCore/private/qsystemlibrary_p.h>
-#include <QtCore/private/qwinregistry_p.h>
 
 #include <QtGui/QGuiApplication>
 #include <QtGui/QStyleHints>
@@ -132,12 +134,14 @@
     };
     using PWINDOWCOMPOSITIONATTRIBDATA = WINDOWCOMPOSITIONATTRIBDATA *;
 
-    enum PREFERRED_APP_MODE
-    {
-        PAM_DEFAULT = 0, // Default behavior on systems before Win10 1809. It indicates the application doesn't support dark mode at all.
-        PAM_AUTO = 1,    // Available since Win10 1809, let system decide whether to enable dark mode or not.
-        PAM_DARK = 2,    // Available since Win10 1903, force dark mode regardless of the system theme.
-        PAM_LIGHT = 3,   // Available since Win10 1903, force light mode regardless of the system theme.
+    enum PREFERRED_APP_MODE {
+        PAM_DEFAULT = 0, // Default behavior on systems before Win10 1809. It indicates the
+                         // application doesn't support dark mode at all.
+        PAM_AUTO =
+            1, // Available since Win10 1809, let system decide whether to enable dark mode or not.
+        PAM_DARK = 2, // Available since Win10 1903, force dark mode regardless of the system theme.
+        PAM_LIGHT =
+            3, // Available since Win10 1903, force light mode regardless of the system theme.
         PAM_MAX = 4
     };
 
@@ -155,7 +159,7 @@
 
         struct DynamicApis {
             static const DynamicApis &instance() {
-                static const DynamicApis inst{};
+                static const DynamicApis inst;
                 return inst;
             }
 
@@ -170,6 +174,7 @@
             DYNAMIC_API_DECLARE(DwmEnableBlurBehindWindow);
             DYNAMIC_API_DECLARE(GetDpiForWindow);
             DYNAMIC_API_DECLARE(GetSystemMetricsForDpi);
+            DYNAMIC_API_DECLARE(AdjustWindowRectExForDpi);
             DYNAMIC_API_DECLARE(GetDpiForMonitor);
             DYNAMIC_API_DECLARE(timeGetDevCaps);
             DYNAMIC_API_DECLARE(timeBeginPeriod);
@@ -193,6 +198,7 @@
                 DYNAMIC_API_RESOLVE(user32, GetDpiForWindow);
                 DYNAMIC_API_RESOLVE(user32, GetSystemMetricsForDpi);
                 DYNAMIC_API_RESOLVE(user32, SetWindowCompositionAttribute);
+                DYNAMIC_API_RESOLVE(user32, AdjustWindowRectExForDpi);
 
                 QSystemLibrary shcore(QStringLiteral("shcore"));
                 DYNAMIC_API_RESOLVE(shcore, GetDpiForMonitor);
@@ -228,7 +234,7 @@
 
             ~DynamicApis() = default;
 
-            Q_DISABLE_COPY_MOVE(DynamicApis)
+            Q_DISABLE_COPY(DynamicApis)
         };
 
     }
@@ -335,7 +341,7 @@
     }
 
     static inline bool isWindowFrameBorderColorized() {
-        QWinRegistryKey registry(HKEY_CURRENT_USER, LR"(Software\Microsoft\Windows\DWM)");
+        WindowsRegistryKey registry(HKEY_CURRENT_USER, LR"(Software\Microsoft\Windows\DWM)");
         if (!registry.isValid()) {
             return false;
         }
@@ -357,7 +363,7 @@
 #if QT_VERSION >= QT_VERSION_CHECK(6, 5, 0)
         return QGuiApplication::styleHints()->colorScheme() == Qt::ColorScheme::Dark;
 #else
-        QWinRegistryKey registry(
+        WindowsRegistryKey registry(
             HKEY_CURRENT_USER, LR"(Software\Microsoft\Windows\CurrentVersion\Themes\Personalize)");
         if (!registry.isValid()) {
             return false;
@@ -388,7 +394,7 @@
 #if QT_VERSION >= QT_VERSION_CHECK(6, 6, 0)
         return QGuiApplication::palette().color(QPalette::Accent);
 #else
-        QWinRegistryKey registry(HKEY_CURRENT_USER, LR"(Software\Microsoft\Windows\DWM)");
+        WindowsRegistryKey registry(HKEY_CURRENT_USER, LR"(Software\Microsoft\Windows\DWM)");
         if (!registry.isValid()) {
             return {};
         }
@@ -428,7 +434,7 @@
     static inline quint32 getSystemMetricsForDpi(int index, quint32 dpi) {
         const DynamicApis &apis = DynamicApis::instance();
         if (apis.pGetSystemMetricsForDpi) {
-            return ::GetSystemMetricsForDpi(index, dpi);
+            return apis.pGetSystemMetricsForDpi(index, dpi);
         }
         return ::GetSystemMetrics(index);
     }

--
Gitblit v1.9.1