From 327055934009dc416be6234db8e4d26fab81fb80 Mon Sep 17 00:00:00 2001
From: SineStriker <55847490+SineStriker@users.noreply.github.com>
Date: 摹曛, 21 12月 2023 23:21:28 +0800
Subject: [PATCH] Merge pull request #8 from stdware/stylesupport

---
 src/core/windowagentbase.cpp |   37 ++++++++-----------------------------
 1 files changed, 8 insertions(+), 29 deletions(-)

diff --git a/src/core/windowagentbase.cpp b/src/core/windowagentbase.cpp
index f38fb5d..72b1229 100644
--- a/src/core/windowagentbase.cpp
+++ b/src/core/windowagentbase.cpp
@@ -42,13 +42,10 @@
 #endif
     }
 
-    bool WindowAgentBasePrivate::setup(QObject *host, WindowItemDelegate *delegate) {
-        std::unique_ptr<AbstractWindowContext> ctx(createContext());
-        if (!ctx->setup(host, delegate)) {
-            return false;
-        }
-        context = std::move(ctx);
-        return true;
+    void WindowAgentBasePrivate::setup(QObject *host, WindowItemDelegate *delegate) {
+        auto ctx = createContext();
+        ctx->setup(host, delegate);
+        context.reset(ctx);
     }
 
     WindowAgentBase::~WindowAgentBase() = default;
@@ -58,32 +55,14 @@
         d->context->showSystemMenu(pos);
     }
 
-    void WindowAgentBase::startSystemMove(const QPoint &pos) {
-        Q_D(WindowAgentBase);
-        auto win = d->context->window();
-        if (!win) {
-            return;
-        }
-
-        Q_UNUSED(pos)
-        win->startSystemMove();
-    }
-
-    void WindowAgentBase::startSystemResize(Qt::Edges edges, const QPoint &pos) {
-        Q_D(WindowAgentBase);
-        auto win = d->context->window();
-        if (!win) {
-            return;
-        }
-
-        Q_UNUSED(pos)
-        win->startSystemResize(edges);
-    }
-
     void WindowAgentBase::centralize() {
+        Q_D(WindowAgentBase);
+        d->context->virtual_hook(AbstractWindowContext::CentralizeHook, nullptr);
     }
 
     void WindowAgentBase::raise() {
+        Q_D(WindowAgentBase);
+        d->context->virtual_hook(AbstractWindowContext::RaiseWindowHook, nullptr);
     }
 
     WindowAgentBase::WindowAgentBase(WindowAgentBasePrivate &d, QObject *parent)

--
Gitblit v1.9.1