From 4f9f75cb4b70f3b76cee57d0f98b59f8475bba3b Mon Sep 17 00:00:00 2001 From: SineStriker <trueful@163.com> Date: 周三, 27 12月 2023 05:56:28 +0800 Subject: [PATCH] Add mac theme notifications --- examples/mainwindow/mainwindow.cpp | 26 ++++++++++++-------------- 1 files changed, 12 insertions(+), 14 deletions(-) diff --git a/examples/mainwindow/mainwindow.cpp b/examples/mainwindow/mainwindow.cpp index e693228..206b7f2 100644 --- a/examples/mainwindow/mainwindow.cpp +++ b/examples/mainwindow/mainwindow.cpp @@ -14,7 +14,6 @@ # include <QtWidgets/QActionGroup> #endif -#include <QWKCore/styleagent.h> #include <QWKWidgets/widgetwindowagent.h> #include <widgetframe/windowbar.h> @@ -37,7 +36,6 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) { installWindowAgent(); - installStyleAgent(); auto clockWidget = new ClockWidget(); clockWidget->setObjectName(QStringLiteral("clock-widget")); @@ -143,7 +141,9 @@ auto dwmBlurAction = new QAction(tr("Enable DWM blur"), menuBar); dwmBlurAction->setCheckable(true); connect(dwmBlurAction, &QAction::triggered, this, [this](bool checked) { - windowAgent->setWindowAttribute(QStringLiteral("dwm-blur"), checked); + if (!windowAgent->setWindowAttribute(QStringLiteral("dwm-blur"), checked)) { + return; + } setProperty("custom-style", checked); style()->polish(this); }); @@ -151,7 +151,9 @@ auto acrylicAction = new QAction(tr("Enable acrylic material"), menuBar); acrylicAction->setCheckable(true); connect(acrylicAction, &QAction::triggered, this, [this](bool checked) { - windowAgent->setWindowAttribute(QStringLiteral("acrylic-material"), QColor::fromRgbF(1.f, 1.f, 1.f, 0.6f)); + if (!windowAgent->setWindowAttribute(QStringLiteral("acrylic-material"), true)) { + return; + } setProperty("custom-style", checked); style()->polish(this); }); @@ -159,7 +161,9 @@ auto micaAction = new QAction(tr("Enable mica"), menuBar); micaAction->setCheckable(true); connect(micaAction, &QAction::triggered, this, [this](bool checked) { - windowAgent->setWindowAttribute(QStringLiteral("mica"), checked); + if (!windowAgent->setWindowAttribute(QStringLiteral("mica"), checked)) { + return; + } setProperty("custom-style", checked); style()->polish(this); }); @@ -167,7 +171,9 @@ auto micaAltAction = new QAction(tr("Enable mica alt"), menuBar); micaAltAction->setCheckable(true); connect(micaAltAction, &QAction::triggered, this, [this](bool checked) { - windowAgent->setWindowAttribute(QStringLiteral("mica-alt"), checked); + if (!windowAgent->setWindowAttribute(QStringLiteral("mica-alt"), checked)) { + return; + } setProperty("custom-style", checked); style()->polish(this); }); @@ -282,18 +288,10 @@ #endif } -void MainWindow::installStyleAgent() { - styleAgent = new QWK::StyleAgent(this); -} - void MainWindow::loadStyleSheet(Theme theme) { if (!styleSheet().isEmpty() && theme == currentTheme) return; currentTheme = theme; - -#ifdef Q_OS_WIN - windowAgent->setWindowAttribute(QStringLiteral("dark-mode"), currentTheme == Dark); -#endif if (QFile qss(theme == Dark ? QStringLiteral(":/dark-style.qss") : QStringLiteral(":/light-style.qss")); -- Gitblit v1.9.1