// 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 MAINWINDOW_H #define MAINWINDOW_H #include namespace QWK { class WidgetWindowAgent; class StyleAgent; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = nullptr); ~MainWindow() override; enum Theme { Dark, Light, }; Q_ENUM(Theme) Q_SIGNALS: void themeChanged(); protected: bool event(QEvent *event) override; void closeEvent(QCloseEvent *event) override; private: void installWindowAgent(); void loadStyleSheet(Theme theme); Theme currentTheme{}; QWK::WidgetWindowAgent *windowAgent; }; #endif // MAINWINDOW_H