mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-03 00:15:21 +00:00
fix: 解決协同连接设备时关闭协同服务总开关导致任务栏崩溃的问题。
协同连接设备时关闭协同服务总开关,未清除正在连接设备缓存数据导致问题。 当连接请求被拒绝后,需清除连接状态。 Log: Bug: https://pms.uniontech.com/bug-view-171741.html Influence: 协同连接设备. Change-Id: Ie89a3fa500ab78d0b01c24aff8b2f23ada58a1c9
This commit is contained in:
parent
fa7a80b215
commit
a4be3f441d
@ -147,6 +147,8 @@ void DevCollaborationWidget::updateDeviceListView()
|
||||
QList<CollaborationDevice *> devices = m_deviceModel->devices();
|
||||
if (devices.isEmpty()) {
|
||||
m_deviceListView->removeItems(0, m_deviceListView->count());
|
||||
m_deviceItemMap.clear();
|
||||
m_connectingDevices.clear();
|
||||
return;
|
||||
}
|
||||
|
||||
@ -209,7 +211,7 @@ void DevCollaborationWidget::itemClicked(const QModelIndex &index)
|
||||
}
|
||||
|
||||
if (!m_connectingDevices.isEmpty() && !m_refreshTimer->isActive())
|
||||
m_refreshTimer->start(30);
|
||||
m_refreshTimer->start(80);
|
||||
}
|
||||
|
||||
void DevCollaborationWidget::itemStatusChanged()
|
||||
@ -224,12 +226,12 @@ void DevCollaborationWidget::itemStatusChanged()
|
||||
// 更新item的连接状态
|
||||
int resultState = device->isCooperated() ? DevItemDelegate::Connected : DevItemDelegate::None;
|
||||
m_deviceItemMap[machinePath]->setData(resultState, DevItemDelegate::ResultDataRole);
|
||||
if (device->isCooperated())
|
||||
if (device->isCooperated() || !device->isPaired())
|
||||
m_deviceItemMap[machinePath]->setData(0, DevItemDelegate::DegreeDataRole);
|
||||
|
||||
m_deviceListView->update(m_deviceItemMap[machinePath]->index());
|
||||
|
||||
if (resultState == DevItemDelegate::Connected && m_connectingDevices.contains(machinePath)) {
|
||||
if ((resultState == DevItemDelegate::Connected || !device->isPaired()) && m_connectingDevices.contains(machinePath)) {
|
||||
m_connectingDevices.removeAll(machinePath);
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user