fix: 添加任务栏wifi定时扫描,显示wifi页面时扫描,隐藏就停止扫描

添加前端定时扫描wifi列表

Log: 添加任务栏wifi定时扫描,显示wifi页面时扫描,隐藏就停止扫描
Bug: https://pms.uniontech.com/zentao/bug-view-70639.html
Change-Id: I5dfdb2c5aa3a63d1fd5a2cf795c3a466c73437ca
This commit is contained in:
wubowen 2021-04-09 22:10:38 +08:00
parent 3672ac375c
commit 6e4b074565
2 changed files with 13 additions and 2 deletions

View File

@ -48,6 +48,7 @@ NetworkItem::NetworkItem(QWidget *parent)
, m_timer(new QTimer(this))
, m_switchWireTimer(new QTimer(this))
, m_wirelessScanTimer(new QTimer(this))
, m_wirelessScanInterval(10)
{
m_timer->setInterval(100);
@ -148,7 +149,8 @@ NetworkItem::NetworkItem(QWidget *parent)
QGSettings *gsetting = new QGSettings("com.deepin.dde.dock", QByteArray(), this);
connect(gsetting, &QGSettings::changed, [&](const QString &key) {
if (key == "wireless-scan-interval") {
m_wirelessScanTimer->setInterval(gsetting->get("wireless-scan-interval").toInt());
m_wirelessScanInterval = gsetting->get("wireless-scan-interval").toInt();
m_wirelessScanTimer->setInterval(m_wirelessScanInterval * 1000);
}
});
connect(m_wirelessScanTimer, &QTimer::timeout, [&] {
@ -158,7 +160,7 @@ NetworkItem::NetworkItem(QWidget *parent)
}
}
});
m_wirelessScanTimer->start(gsetting->get("wireless-scan-interval").toInt() * 1000);
m_wirelessScanInterval = gsetting->get("wireless-scan-interval").toInt();
}
QWidget *NetworkItem::itemApplet()
@ -1104,6 +1106,14 @@ void NetworkItem::updateView()
m_applet->setFixedHeight(constDisplayItemCnt * ItemHeight);
m_applet->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
}
if (m_wirelessControlPanel->isVisible()) {
if (!m_wirelessScanTimer->isActive())
m_wirelessScanTimer->start(m_wirelessScanInterval * 1000);
} else {
if (m_wirelessScanTimer->isActive())
m_wirelessScanTimer->stop();
}
}
void NetworkItem::updateSelf()

View File

@ -117,6 +117,7 @@ private:
QTimer *m_timer;
QTimer *m_switchWireTimer;
QTimer *m_wirelessScanTimer;
int m_wirelessScanInterval;
};
#endif // NETWORKITEM_H