From 691df80a79bef96eeb4cbc5f74db40265e295b17 Mon Sep 17 00:00:00 2001 From: reionwong Date: Tue, 29 Mar 2022 22:39:02 +0800 Subject: [PATCH] fix: Multi screen adaptation --- src/backgroundhelper.cpp | 10 ++++++++++ src/backgroundhelper.h | 1 + 2 files changed, 11 insertions(+) diff --git a/src/backgroundhelper.cpp b/src/backgroundhelper.cpp index 1e7eb7b..2a2b5b9 100644 --- a/src/backgroundhelper.cpp +++ b/src/backgroundhelper.cpp @@ -31,6 +31,8 @@ BackgroundHelper::BackgroundHelper(QObject *parent) , m_statusBarHeight(25 / qApp->devicePixelRatio()) , m_type(0) { + onPrimaryScreenChanged(); + connect(qApp, &QApplication::primaryScreenChanged, this, &BackgroundHelper::onPrimaryScreenChanged); } void BackgroundHelper::setColor(QColor c) @@ -80,6 +82,14 @@ void BackgroundHelper::setBackgound(const QString &fileName) QPixmapCache::clear(); } +void BackgroundHelper::onPrimaryScreenChanged() +{ + disconnect(qApp->primaryScreen()); + + connect(qApp->primaryScreen(), &QScreen::geometryChanged, this, &BackgroundHelper::onChanged); + connect(qApp->primaryScreen(), &QScreen::virtualGeometryChanged, this, &BackgroundHelper::onChanged); +} + void BackgroundHelper::onChanged() { switch (m_type) { diff --git a/src/backgroundhelper.h b/src/backgroundhelper.h index bb0344c..52e2967 100644 --- a/src/backgroundhelper.h +++ b/src/backgroundhelper.h @@ -34,6 +34,7 @@ public: Q_INVOKABLE void setBackgound(const QString &fileName); private slots: + void onPrimaryScreenChanged(); void onChanged(); signals: