From a51b5688e1c33d3ce96b48c869603b00f908f513 Mon Sep 17 00:00:00 2001
From: Sine Striker <trueful@163.com>
Date: 周三, 13 12月 2023 04:16:37 +0800
Subject: [PATCH] Make better code structure for border handlers

---
 src/core/contexts/abstractwindowcontext_p.h |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/src/core/contexts/abstractwindowcontext_p.h b/src/core/contexts/abstractwindowcontext_p.h
index 3c04073..2934b4d 100644
--- a/src/core/contexts/abstractwindowcontext_p.h
+++ b/src/core/contexts/abstractwindowcontext_p.h
@@ -9,11 +9,12 @@
 #include <QtGui/QPolygon>
 
 #include <QWKCore/windowagentbase.h>
+#include <QWKCore/private/eventobserver_p.h>
 #include <QWKCore/private/windowitemdelegate_p.h>
 
 namespace QWK {
 
-    class QWK_CORE_EXPORT AbstractWindowContext : public QObject {
+    class QWK_CORE_EXPORT AbstractWindowContext : public QObject, public EventDispatcher {
         Q_OBJECT
     public:
         AbstractWindowContext();
@@ -35,8 +36,6 @@
         inline QObject *titleBar() const;
         bool setTitleBar(QObject *obj);
 
-        void showSystemMenu(const QPoint &pos);
-
         QRegion hitTestShape() const;
         bool isInSystemButtons(const QPoint &pos, WindowAgentBase::SystemButton *button) const;
         bool isInTitleBarDraggableArea(const QPoint &pos) const;
@@ -46,19 +45,20 @@
         enum WindowContextHook {
             CentralizeHook = 1,
             ShowSystemMenuHook,
-            NeedsDrawBordersHook,
-            DrawBordersHook,
-            QueryBorderThicknessHook
+            DefaultColorsHook,
+            DrawWindows10BorderHook, // Only works on Windows 10
         };
         virtual void virtual_hook(int id, void *data);
+
+        void showSystemMenu(const QPoint &pos);
 
     protected:
         virtual bool setupHost() = 0;
 
     protected:
-        QObject *m_host;
+        QObject *m_host{};
         std::unique_ptr<WindowItemDelegate> m_delegate;
-        QWindow *m_windowHandle;
+        QWindow *m_windowHandle{};
 
         QSet<const QObject *> m_hitTestVisibleItems;
         QList<QRect> m_hitTestVisibleRects;

--
Gitblit v1.9.1