From 2f2ee6571e9ce784db0488ade60816f09bd7448c Mon Sep 17 00:00:00 2001
From: SineStriker <trueful@163.com>
Date: 周三, 27 12月 2023 01:56:47 +0800
Subject: [PATCH] Finish customize system button pos for QtWidgets

---
 examples/mainwindow/mainwindow.h |   30 +++++++++++++++++++++++++++++-
 1 files changed, 29 insertions(+), 1 deletions(-)

diff --git a/examples/mainwindow/mainwindow.h b/examples/mainwindow/mainwindow.h
index c0d595d..a0f7671 100644
--- a/examples/mainwindow/mainwindow.h
+++ b/examples/mainwindow/mainwindow.h
@@ -3,10 +3,38 @@
 
 #include <QtWidgets/QMainWindow>
 
+namespace QWK {
+    class WidgetWindowAgent;
+    class StyleAgent;
+}
+
 class MainWindow : public QMainWindow {
+    Q_OBJECT
 public:
     explicit MainWindow(QWidget *parent = nullptr);
-    ~MainWindow();
+    ~MainWindow() override;
+
+    enum Theme {
+        Dark,
+        Light,
+    };
+    Q_ENUM(Theme)
+
+Q_SIGNALS:
+    void themeChanged();
+
+protected:
+    bool event(QEvent *event) override;
+
+private:
+    void installWindowAgent();
+    void installStyleAgent();
+    void loadStyleSheet(Theme theme);
+
+    Theme currentTheme{};
+
+    QWK::WidgetWindowAgent *windowAgent;
+    QWK::StyleAgent *styleAgent;
 };
 
 #endif // MAINWINDOW_H

--
Gitblit v1.9.1