mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-03 00:15:21 +00:00
fix(bluetooth): 蓝牙音响不回连
关闭蓝牙适配器时,对已连接设备未做断开处理,致使后端未移除保存的连接配置 Log: 修复任务栏关闭蓝牙后再开启蓝牙,蓝牙音响不回连的问题 Bug: https://pms.uniontech.com/zentao/bug-view-34968.html
This commit is contained in:
parent
91aa6b62ab
commit
966bf0f465
@ -313,17 +313,27 @@ void AdapterItem::showDevices(bool powered)
|
||||
QList<DeviceItem *> deviceItems;
|
||||
deviceItems << m_sortConnected << m_sortUnConnect;
|
||||
|
||||
//在蓝牙关闭的时候,会出现不在connected和Unconnect列表中的设备(连接/关闭中的状态),关闭的时候使用总表参数
|
||||
// 在蓝牙关闭的时候,会出现不在connected和Unconnect列表中的设备(连接/关闭中的状态),关闭的时候使用总表参数
|
||||
qDebug() << m_sortConnected.size() << m_sortUnConnect.size() << m_deviceItems.size();
|
||||
if (powered) {
|
||||
for (DeviceItem *deviceItem : deviceItems) {
|
||||
m_deviceLayout->addWidget(deviceItem);
|
||||
deviceItem->setVisible(powered);
|
||||
if (deviceItem) {
|
||||
m_deviceLayout->addWidget(deviceItem);
|
||||
deviceItem->setVisible(powered);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (DeviceItem *deviceItem : m_deviceItems) {
|
||||
m_deviceLayout->removeWidget(deviceItem);
|
||||
deviceItem->setVisible(powered);
|
||||
if (deviceItem) {
|
||||
m_deviceLayout->removeWidget(deviceItem);
|
||||
deviceItem->setVisible(powered);
|
||||
}
|
||||
}
|
||||
|
||||
for (DeviceItem *deviceItem : m_sortConnected) {
|
||||
if (deviceItem) {
|
||||
m_adaptersManager->disconnectDevice(deviceItem->device());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -295,3 +295,11 @@ void AdaptersManager::adapterRefresh(const Adapter *adapter)
|
||||
m_bluetoothInter->SetAdapterDiscoverable(dPath, true);
|
||||
m_bluetoothInter->RequestDiscovery(dPath);
|
||||
}
|
||||
|
||||
void AdaptersManager::disconnectDevice(Device *device)
|
||||
{
|
||||
if (device) {
|
||||
QDBusObjectPath path(device->id());
|
||||
m_bluetoothInter->DisconnectDevice(path);
|
||||
}
|
||||
}
|
||||
|
@ -43,6 +43,7 @@ public:
|
||||
bool defaultAdapterInitPowerState();
|
||||
int adaptersCount();
|
||||
void adapterRefresh(const Adapter *adapter);
|
||||
void disconnectDevice(Device *device);
|
||||
|
||||
signals:
|
||||
void adapterIncreased(Adapter *adapter);
|
||||
|
Loading…
x
Reference in New Issue
Block a user