mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 17:33:05 +00:00
fix: 蓝牙设备不可用时使能开关按钮 (#734)
1、删除使用错误的调色板,直接使用系统默认调色板。 2、蓝牙设备不可用时使能开关按钮,不禁用整个界面,避免界面文字内容不清 Log: 控制中心-个性化内设置为深色,从任务栏打开蓝牙面板后,蓝牙设置字体未变成浅色 Bug: https://pms.uniontech.com/bug-view-176333.html Influence: 蓝牙设置字体跟随系统主题变化
This commit is contained in:
parent
32686e2ff6
commit
95617eb2b1
@ -139,6 +139,7 @@ BluetoothAdapterItem::BluetoothAdapterItem(Adapter *adapter, QWidget *parent)
|
|||||||
, m_refreshBtn(new RefreshButton(this))
|
, m_refreshBtn(new RefreshButton(this))
|
||||||
, m_bluetoothInter(new DBusBluetooth("com.deepin.daemon.Bluetooth", "/com/deepin/daemon/Bluetooth", QDBusConnection::sessionBus(), this))
|
, m_bluetoothInter(new DBusBluetooth("com.deepin.daemon.Bluetooth", "/com/deepin/daemon/Bluetooth", QDBusConnection::sessionBus(), this))
|
||||||
, m_showUnnamedDevices(false)
|
, m_showUnnamedDevices(false)
|
||||||
|
, m_stateBtnEnabled(true)
|
||||||
, m_seperator(new HorizontalSeperator(this))
|
, m_seperator(new HorizontalSeperator(this))
|
||||||
{
|
{
|
||||||
initData();
|
initData();
|
||||||
@ -226,6 +227,17 @@ QStringList BluetoothAdapterItem::connectedDevicesName()
|
|||||||
return devsName;
|
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()
|
void BluetoothAdapterItem::initData()
|
||||||
{
|
{
|
||||||
m_showUnnamedDevices = m_bluetoothInter->displaySwitch();
|
m_showUnnamedDevices = m_bluetoothInter->displaySwitch();
|
||||||
@ -381,7 +393,7 @@ void BluetoothAdapterItem::initConnect()
|
|||||||
m_deviceListview->setVisible(state);
|
m_deviceListview->setVisible(state);
|
||||||
m_seperator->setVisible(state);
|
m_seperator->setVisible(state);
|
||||||
m_adapterStateBtn->setChecked(state);
|
m_adapterStateBtn->setChecked(state);
|
||||||
m_adapterStateBtn->setEnabled(true);
|
m_adapterStateBtn->setEnabled(m_stateBtnEnabled);
|
||||||
emit adapterPowerChanged();
|
emit adapterPowerChanged();
|
||||||
});
|
});
|
||||||
connect(m_adapterStateBtn, &DSwitchButton::clicked, this, [ = ](bool state) {
|
connect(m_adapterStateBtn, &DSwitchButton::clicked, this, [ = ](bool state) {
|
||||||
|
@ -84,6 +84,7 @@ public:
|
|||||||
~BluetoothAdapterItem();
|
~BluetoothAdapterItem();
|
||||||
Adapter *adapter() { return m_adapter; }
|
Adapter *adapter() { return m_adapter; }
|
||||||
QStringList connectedDevicesName();
|
QStringList connectedDevicesName();
|
||||||
|
void setStateBtnEnabled(bool);
|
||||||
|
|
||||||
public slots:
|
public slots:
|
||||||
// 添加蓝牙设备
|
// 添加蓝牙设备
|
||||||
@ -125,6 +126,7 @@ private:
|
|||||||
RefreshButton *m_refreshBtn;
|
RefreshButton *m_refreshBtn;
|
||||||
DBusBluetooth *m_bluetoothInter;
|
DBusBluetooth *m_bluetoothInter;
|
||||||
bool m_showUnnamedDevices;
|
bool m_showUnnamedDevices;
|
||||||
|
bool m_stateBtnEnabled;
|
||||||
|
|
||||||
QMap<QString, BluetoothDeviceItem *> m_deviceItems;
|
QMap<QString, BluetoothDeviceItem *> m_deviceItems;
|
||||||
HorizontalSeperator *m_seperator;
|
HorizontalSeperator *m_seperator;
|
||||||
|
@ -43,7 +43,6 @@ SettingLabel::SettingLabel(QString text, QWidget *parent)
|
|||||||
this->setPalette(p);
|
this->setPalette(p);
|
||||||
|
|
||||||
m_label->setForegroundRole(QPalette::BrightText);
|
m_label->setForegroundRole(QPalette::BrightText);
|
||||||
updateEnabledStatus();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void SettingLabel::addButton(QWidget *button, int space)
|
void SettingLabel::addButton(QWidget *button, int space)
|
||||||
@ -52,24 +51,6 @@ void SettingLabel::addButton(QWidget *button, int space)
|
|||||||
m_layout->addSpacing(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)
|
void SettingLabel::mousePressEvent(QMouseEvent *ev)
|
||||||
{
|
{
|
||||||
if (ev->button() == Qt::LeftButton) {
|
if (ev->button() == Qt::LeftButton) {
|
||||||
@ -175,7 +156,7 @@ void BluetoothApplet::onAdapterAdded(Adapter *adapter)
|
|||||||
|
|
||||||
// 如果开启了飞行模式,置灰蓝牙适配器使能开关
|
// 如果开启了飞行模式,置灰蓝牙适配器使能开关
|
||||||
foreach (const auto item, m_adapterItems) {
|
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);
|
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, &BluetoothApplet::setAirplaneModeEnabled);
|
||||||
connect(m_airPlaneModeInter, &DBusAirplaneMode::EnabledChanged, this, [this](bool enabled) {
|
connect(m_airPlaneModeInter, &DBusAirplaneMode::EnabledChanged, this, [this](bool enabled) {
|
||||||
foreach (const auto item, m_adapterItems) {
|
foreach (const auto item, m_adapterItems) {
|
||||||
item->setEnabled(!enabled);
|
item->setStateBtnEnabled(!enabled);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -46,9 +46,6 @@ signals:
|
|||||||
protected:
|
protected:
|
||||||
void mousePressEvent(QMouseEvent *ev) override;
|
void mousePressEvent(QMouseEvent *ev) override;
|
||||||
void paintEvent(QPaintEvent *event) override;
|
void paintEvent(QPaintEvent *event) override;
|
||||||
void changeEvent(QEvent *event) override;
|
|
||||||
|
|
||||||
void updateEnabledStatus();
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DLabel *m_label;
|
DLabel *m_label;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user