From bdb0dc3b860eac73e1f78f98421664ec28440a94 Mon Sep 17 00:00:00 2001 From: chenhongtao Date: Mon, 4 Sep 2023 14:59:26 +0800 Subject: [PATCH] fix: brightness update, update main view slider Log: --- plugins/display/brightnessmodel.cpp | 4 +++- plugins/display/brightnessmodel.h | 1 + plugins/display/brightnesswidget.cpp | 1 + plugins/display/brightnesswidget.h | 2 +- 4 files changed, 6 insertions(+), 2 deletions(-) diff --git a/plugins/display/brightnessmodel.cpp b/plugins/display/brightnessmodel.cpp index e430dfc37..3aeb63504 100644 --- a/plugins/display/brightnessmodel.cpp +++ b/plugins/display/brightnessmodel.cpp @@ -74,7 +74,9 @@ void BrightnessModel::onPropertyChanged(const QDBusMessage &msg) return; QVariantMap changedProps = qdbus_cast(arguments.at(1).value()); - if (changedProps.contains("Primary")) { + if (changedProps.contains("Brightness")) { + Q_EMIT monitorLightChanged(); + } else if (changedProps.contains("Primary")) { m_primaryScreenName = changedProps.value("Primary").toString(); BrightMonitor *defaultMonitor = nullptr; for (BrightMonitor *monitor : m_monitor) { diff --git a/plugins/display/brightnessmodel.h b/plugins/display/brightnessmodel.h index cf4423732..05cb3109c 100644 --- a/plugins/display/brightnessmodel.h +++ b/plugins/display/brightnessmodel.h @@ -27,6 +27,7 @@ public: Q_SIGNALS: void primaryChanged(BrightMonitor *); void screenVisibleChanged(bool); + void monitorLightChanged(); protected Q_SLOTS: void primaryScreenChanged(QScreen *screen); diff --git a/plugins/display/brightnesswidget.cpp b/plugins/display/brightnesswidget.cpp index 428c97d0b..c402e3fb8 100644 --- a/plugins/display/brightnesswidget.cpp +++ b/plugins/display/brightnesswidget.cpp @@ -69,6 +69,7 @@ void BrightnessWidget::initConnection() }); connect(DGuiApplicationHelper::instance(), &DGuiApplicationHelper::themeTypeChanged, this, &BrightnessWidget::onThemeTypeChanged); + connect(m_model, &BrightnessModel::monitorLightChanged, this, &BrightnessWidget::updateSliderValue); updateSliderValue(); } diff --git a/plugins/display/brightnesswidget.h b/plugins/display/brightnesswidget.h index f921eb94b..76b26387a 100644 --- a/plugins/display/brightnesswidget.h +++ b/plugins/display/brightnesswidget.h @@ -31,10 +31,10 @@ protected: private: void initUi(); void initConnection(); - void updateSliderValue(); void convertThemePixmap(QPixmap &pixmap); private Q_SLOTS: + void updateSliderValue(); void onThemeTypeChanged(); private: