From 2a1e707b1cf530b00a5c0f3766466f10bd617619 Mon Sep 17 00:00:00 2001
From: Zhao Yuhang <2546789017@qq.com>
Date: 周三, 13 12月 2023 20:37:56 +0800
Subject: [PATCH] add WIP mac imp

---
 src/core/contexts/win32windowcontext.cpp |   47 ++++++-----------------------------------------
 1 files changed, 6 insertions(+), 41 deletions(-)

diff --git a/src/core/contexts/win32windowcontext.cpp b/src/core/contexts/win32windowcontext.cpp
index a706835..3f0ac32 100644
--- a/src/core/contexts/win32windowcontext.cpp
+++ b/src/core/contexts/win32windowcontext.cpp
@@ -84,7 +84,7 @@
     // ### FIXME: Tell the user to call in the documentation, instead of automatically
     // calling it directly.
     // ### FIXME FIXME FIXME
-    static struct QWK_Hook {
+    static const struct QWK_Hook {
         QWK_Hook() {
             qApp->setAttribute(Qt::AA_DontCreateNativeWidgetSiblings);
         }
@@ -1937,16 +1937,16 @@
 
             case WM_THEMECHANGED:
             case WM_SYSCOLORCHANGE: {
-                QEvent e(QEvent::UpdateRequest);
+                QEvent e(QEvent::UpdateLater);
                 dispatch(&e);
                 break;
             }
 
             case WM_DWMCOLORIZATIONCOLORCHANGED: {
                 const QColor color = QColor::fromRgba(wParam);
-                const auto blendWithOpacity = *reinterpret_cast<LPBOOL>(lParam);
+                const auto blendedWithOpacity = *reinterpret_cast<LPBOOL>(lParam);
 
-                QEvent e(QEvent::UpdateRequest);
+                QEvent e(QEvent::UpdateLater);
                 dispatch(&e);
                 break;
             }
@@ -1955,51 +1955,16 @@
                 if (!wParam && lParam &&
                     std::wcscmp(reinterpret_cast<LPCWSTR>(lParam), L"ImmersiveColorSet") == 0) {
                     const QColor color = getAccentColor();
-                }
 
-                QEvent e(QEvent::UpdateRequest);
-                dispatch(&e);
-                break;
-            }
-
-            case WM_SIZE: {
-                const bool max = wParam == SIZE_MAXIMIZED;
-                const bool min = wParam == SIZE_MINIMIZED;
-                const bool full = isFullScreen(hWnd);
-
-                Qt::WindowStates states{};
-                if (max) {
-                    states |= Qt::WindowMaximized;
-                }
-                if (min) {
-                    states |= Qt::WindowMinimized;
-                }
-                if (full) {
-                    states |= Qt::WindowFullScreen;
-                }
-
-                QTimer::singleShot(0, this, [this, states] {
-                    QWindowStateChangeEvent e(states);
+                    QEvent e(QEvent::UpdateLater);
                     dispatch(&e);
-                });
+                }
                 break;
             }
 
-            case WM_ACTIVATE: {
-                const auto state = LOWORD(wParam);
-                const bool active = state == WA_ACTIVE || state == WA_CLICKACTIVE;
-                Q_UNUSED(state)
-
-                QTimer::singleShot(0, this, [this, active] {
-                    QEvent e(active ? QEvent::WindowActivate : QEvent::WindowDeactivate);
-                    dispatch(&e);
-                });
-                break;
-            }
             default:
                 break;
         }
         return false;
     }
-
 }

--
Gitblit v1.9.1