fix(bluetooth): 蓝牙关闭1分钟后重新打开后,不刷新蓝牙设备

蓝牙重新打开后,需要根据是否需要扫描,触发扫描操作

Log: 解决蓝牙关闭1分钟后重新打开后,不刷新蓝牙设备问题
Bug: https://pms.uniontech.com/zentao/bug-view-35148.html
This commit is contained in:
fengshaoxiong 2020-06-24 18:44:05 +08:00 committed by 冯绍雄
parent 966bf0f465
commit 44af20205a
5 changed files with 15 additions and 1 deletions

View File

@ -317,3 +317,11 @@ void BluetoothApplet::getDevieInitStatus(AdapterItem *item)
break;
}
}
void BluetoothApplet::setAdapterRefresh()
{
for (AdapterItem *adapterItem : m_adapterItems) {
if (adapterItem)
adapterItem->refresh();
}
}

View File

@ -41,6 +41,7 @@ class BluetoothApplet : public QScrollArea
public:
explicit BluetoothApplet(QWidget *parent = nullptr);
void setAdapterPowered(bool powered);
void setAdapterRefresh();
bool poweredInitState();
bool hasAadapter();
QStringList connectedDevsName();

View File

@ -68,6 +68,8 @@ QWidget *BluetoothItem::tipsWidget()
QWidget *BluetoothItem::popupApplet()
{
if (m_applet && m_applet->hasAadapter())
m_applet->setAdapterRefresh();
return m_applet->hasAadapter() ? m_applet : nullptr;
}

View File

@ -49,7 +49,6 @@ AdapterItem::AdapterItem(AdaptersManager *adapterManager, Adapter *adapter, QWid
m_switchItem->setTitle(adapter->name());
m_switchItem->setChecked(adapter->powered(),false);
m_switchItem->setLoading(adapter->discover());
m_adaptersManager->setAdapterPowered(m_adapter, adapter->powered());
m_deviceLayout->addWidget(m_switchItem);
m_deviceLayout->addWidget(m_line);
@ -343,6 +342,8 @@ void AdapterItem::showDevices(bool powered)
void AdapterItem::refresh()
{
if (m_adapter->discover())
return;
m_adaptersManager->adapterRefresh(m_adapter);
}

View File

@ -60,6 +60,8 @@ private slots:
void addDeviceItem(const Device *constDevice);
void deviceChangeState(const Device::State state);
void moveDeviceItem(Device::State state, DeviceItem *item);
public slots:
void refresh();
private: