From 95617eb2b14eda2181ab9dd801860c975b2105ac Mon Sep 17 00:00:00 2001 From: chenjun <104487271+chenjun1982@users.noreply.github.com> Date: Mon, 19 Dec 2022 16:32:02 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E8=93=9D=E7=89=99=E8=AE=BE=E5=A4=87?= =?UTF-8?q?=E4=B8=8D=E5=8F=AF=E7=94=A8=E6=97=B6=E4=BD=BF=E8=83=BD=E5=BC=80?= =?UTF-8?q?=E5=85=B3=E6=8C=89=E9=92=AE=20(#734)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1、删除使用错误的调色板,直接使用系统默认调色板。 2、蓝牙设备不可用时使能开关按钮,不禁用整个界面,避免界面文字内容不清 Log: 控制中心-个性化内设置为深色,从任务栏打开蓝牙面板后,蓝牙设置字体未变成浅色 Bug: https://pms.uniontech.com/bug-view-176333.html Influence: 蓝牙设置字体跟随系统主题变化 --- .../componments/bluetoothadapteritem.cpp | 14 ++++++++++- .../componments/bluetoothadapteritem.h | 2 ++ .../bluetooth/componments/bluetoothapplet.cpp | 23 ++----------------- .../bluetooth/componments/bluetoothapplet.h | 3 --- 4 files changed, 17 insertions(+), 25 deletions(-) diff --git a/plugins/bluetooth/componments/bluetoothadapteritem.cpp b/plugins/bluetooth/componments/bluetoothadapteritem.cpp index 1ad80130b..5da0d47b9 100644 --- a/plugins/bluetooth/componments/bluetoothadapteritem.cpp +++ b/plugins/bluetooth/componments/bluetoothadapteritem.cpp @@ -139,6 +139,7 @@ BluetoothAdapterItem::BluetoothAdapterItem(Adapter *adapter, QWidget *parent) , m_refreshBtn(new RefreshButton(this)) , m_bluetoothInter(new DBusBluetooth("com.deepin.daemon.Bluetooth", "/com/deepin/daemon/Bluetooth", QDBusConnection::sessionBus(), this)) , m_showUnnamedDevices(false) + , m_stateBtnEnabled(true) , m_seperator(new HorizontalSeperator(this)) { initData(); @@ -226,6 +227,17 @@ QStringList BluetoothAdapterItem::connectedDevicesName() return devsName; } +void BluetoothAdapterItem::setStateBtnEnabled(bool enable) +{ + if (m_stateBtnEnabled != enable) { + m_stateBtnEnabled = enable; + } + + if (m_adapterStateBtn) { + m_adapterStateBtn->setEnabled(m_stateBtnEnabled); + } +} + void BluetoothAdapterItem::initData() { m_showUnnamedDevices = m_bluetoothInter->displaySwitch(); @@ -381,7 +393,7 @@ void BluetoothAdapterItem::initConnect() m_deviceListview->setVisible(state); m_seperator->setVisible(state); m_adapterStateBtn->setChecked(state); - m_adapterStateBtn->setEnabled(true); + m_adapterStateBtn->setEnabled(m_stateBtnEnabled); emit adapterPowerChanged(); }); connect(m_adapterStateBtn, &DSwitchButton::clicked, this, [ = ](bool state) { diff --git a/plugins/bluetooth/componments/bluetoothadapteritem.h b/plugins/bluetooth/componments/bluetoothadapteritem.h index 074fb4c17..cd1b32d0b 100644 --- a/plugins/bluetooth/componments/bluetoothadapteritem.h +++ b/plugins/bluetooth/componments/bluetoothadapteritem.h @@ -84,6 +84,7 @@ public: ~BluetoothAdapterItem(); Adapter *adapter() { return m_adapter; } QStringList connectedDevicesName(); + void setStateBtnEnabled(bool); public slots: // 添加蓝牙设备 @@ -125,6 +126,7 @@ private: RefreshButton *m_refreshBtn; DBusBluetooth *m_bluetoothInter; bool m_showUnnamedDevices; + bool m_stateBtnEnabled; QMap m_deviceItems; HorizontalSeperator *m_seperator; diff --git a/plugins/bluetooth/componments/bluetoothapplet.cpp b/plugins/bluetooth/componments/bluetoothapplet.cpp index 9cb9f7c64..d65ee47a4 100644 --- a/plugins/bluetooth/componments/bluetoothapplet.cpp +++ b/plugins/bluetooth/componments/bluetoothapplet.cpp @@ -43,7 +43,6 @@ SettingLabel::SettingLabel(QString text, QWidget *parent) this->setPalette(p); m_label->setForegroundRole(QPalette::BrightText); - updateEnabledStatus(); } void SettingLabel::addButton(QWidget *button, int space) @@ -52,24 +51,6 @@ void SettingLabel::addButton(QWidget *button, int space) m_layout->addSpacing(space); } -void SettingLabel::updateEnabledStatus() -{ - QPalette p = m_label->palette(); - if (m_label->isEnabled()) - p.setColor(QPalette::BrightText, QColor(0, 0, 0)); - else - p.setColor(QPalette::BrightText, QColor(51, 51, 51)); - m_label->setPalette(p); -} - -void SettingLabel::changeEvent(QEvent *event) -{ - if (event->type() == QEvent::EnabledChange) - updateEnabledStatus(); - - QWidget::changeEvent(event); -} - void SettingLabel::mousePressEvent(QMouseEvent *ev) { if (ev->button() == Qt::LeftButton) { @@ -175,7 +156,7 @@ void BluetoothApplet::onAdapterAdded(Adapter *adapter) // 如果开启了飞行模式,置灰蓝牙适配器使能开关 foreach (const auto item, m_adapterItems) { - item->setEnabled(!m_airPlaneModeInter->enabled()); + item->setStateBtnEnabled(!m_airPlaneModeInter->enabled()); } m_contentLayout->insertWidget(0, adapterItem, Qt::AlignTop | Qt::AlignVCenter); @@ -272,7 +253,7 @@ void BluetoothApplet::initConnect() connect(m_airPlaneModeInter, &DBusAirplaneMode::EnabledChanged, this, &BluetoothApplet::setAirplaneModeEnabled); connect(m_airPlaneModeInter, &DBusAirplaneMode::EnabledChanged, this, [this](bool enabled) { foreach (const auto item, m_adapterItems) { - item->setEnabled(!enabled); + item->setStateBtnEnabled(!enabled); } }); } diff --git a/plugins/bluetooth/componments/bluetoothapplet.h b/plugins/bluetooth/componments/bluetoothapplet.h index 0b265295a..3548f70e2 100644 --- a/plugins/bluetooth/componments/bluetoothapplet.h +++ b/plugins/bluetooth/componments/bluetoothapplet.h @@ -46,9 +46,6 @@ signals: protected: void mousePressEvent(QMouseEvent *ev) override; void paintEvent(QPaintEvent *event) override; - void changeEvent(QEvent *event) override; - - void updateEnabledStatus(); private: DLabel *m_label;