From 5652e2a49aeac5a2f9165e9969ec93987c82c9d7 Mon Sep 17 00:00:00 2001 From: donghualin Date: Wed, 1 Feb 2023 13:29:58 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E4=B8=BB=E9=A2=98=E5=8F=98=E5=8C=96=E5=90=8E=E5=BF=AB=E6=8D=B7?= =?UTF-8?q?=E9=9D=A2=E6=9D=BF=E7=94=B5=E6=B1=A0=E9=A2=9C=E8=89=B2=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E9=94=99=E8=AF=AF=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1、电池图标响应主题变化来重新设置图标 2、修改控制中心电池名称的文案 Log: 修改系统主题变化后快捷面板电池颜色显示错误的问题 Influence: 打开快捷面板,在控制中心更改系统颜色,观察快捷面板中系统电池图标是否跟随系统颜色变化 Bug: https://pms.uniontech.com/bug-view-184085.html Change-Id: If02b8800b4d90696c2dc74ac43ebc230233f0f58 --- plugins/power/powerplugin.cpp | 34 ++++++++++++++++++++++++---------- plugins/power/powerplugin.h | 6 +++++- 2 files changed, 29 insertions(+), 11 deletions(-) diff --git a/plugins/power/powerplugin.cpp b/plugins/power/powerplugin.cpp index 3c5ff341a..963478eda 100644 --- a/plugins/power/powerplugin.cpp +++ b/plugins/power/powerplugin.cpp @@ -52,12 +52,8 @@ PowerPlugin::PowerPlugin(QObject *parent) , m_preChargeTimer(new QTimer(this)) , m_quickPanel(nullptr) { - m_tipsLabel->setVisible(false); - m_tipsLabel->setObjectName("power"); - m_preChargeTimer->setInterval(DELAYTIME); - m_preChargeTimer->setSingleShot(true); - initQuickPanel(); - connect(m_preChargeTimer,&QTimer::timeout,this,&PowerPlugin::refreshTipsData); + initUi(); + initConnection(); } const QString PowerPlugin::pluginName() const @@ -67,7 +63,7 @@ const QString PowerPlugin::pluginName() const const QString PowerPlugin::pluginDisplayName() const { - return tr("Power"); + return tr("Battery"); } QWidget *PowerPlugin::itemWidget(const QString &itemKey) @@ -100,6 +96,8 @@ void PowerPlugin::init(PluginProxyInterface *proxyInter) m_proxyInter = proxyInter; loadPlugin(); + + onThemeTypeChanged(DGuiApplicationHelper::instance()->themeType()); } const QString PowerPlugin::itemCommand(const QString &itemKey) @@ -149,13 +147,12 @@ void PowerPlugin::setSortKey(const QString &itemKey, const int order) QIcon PowerPlugin::icon(const DockPart &dockPart, DGuiApplicationHelper::ColorType themeType) { - const QPixmap pixmap = m_powerStatusWidget->getBatteryIcon(themeType); // 快捷面板使用m_quickPanel if (dockPart == DockPart::QuickPanel) { - m_imageLabel->setPixmap(pixmap); return QIcon(); } + const QPixmap pixmap = m_powerStatusWidget->getBatteryIcon(themeType); static QIcon batteryIcon; batteryIcon.detach(); batteryIcon.addPixmap(pixmap); @@ -289,8 +286,19 @@ void PowerPlugin::refreshTipsData() } } -void PowerPlugin::initQuickPanel() +void PowerPlugin::onThemeTypeChanged(DGuiApplicationHelper::ColorType themeType) { + const QPixmap pixmap = m_powerStatusWidget->getBatteryIcon(themeType); + m_imageLabel->setPixmap(pixmap); +} + +void PowerPlugin::initUi() +{ + m_tipsLabel->setVisible(false); + m_tipsLabel->setObjectName("power"); + m_preChargeTimer->setInterval(DELAYTIME); + m_preChargeTimer->setSingleShot(true); + m_quickPanel = new QWidget(); QVBoxLayout *layout = new QVBoxLayout(m_quickPanel); layout->setAlignment(Qt::AlignVCenter); @@ -310,3 +318,9 @@ void PowerPlugin::initQuickPanel() layout->addSpacing(7); layout->addWidget(m_labelText); } + +void PowerPlugin::initConnection() +{ + connect(m_preChargeTimer,&QTimer::timeout,this,&PowerPlugin::refreshTipsData); + connect(DGuiApplicationHelper::instance(), &DGuiApplicationHelper::themeTypeChanged, this, &PowerPlugin::onThemeTypeChanged); +} diff --git a/plugins/power/powerplugin.h b/plugins/power/powerplugin.h index 088792cd7..9fa60c224 100644 --- a/plugins/power/powerplugin.h +++ b/plugins/power/powerplugin.h @@ -61,8 +61,12 @@ private: void updateBatteryVisible(); void loadPlugin(); void onGSettingsChanged(const QString &key); + void initUi(); + void initConnection(); + +private slots: void refreshTipsData(); - void initQuickPanel(); + void onThemeTypeChanged(DGuiApplicationHelper::ColorType themeType); private: bool m_pluginLoaded;