解决状态变化顺序异常导致的托盘图标加载状态停止

This commit is contained in:
jzxc95 2022-03-15 14:29:06 +08:00
parent cd931b2957
commit 98e0ef5000
5 changed files with 18 additions and 5 deletions

View File

@ -665,7 +665,7 @@ bool KyActiveConnectResourse::wiredConnectIsActived()
return false;
}
bool KyActiveConnectResourse::wirelessConnectIsActived()
bool KyActiveConnectResourse::checkWirelessStatus(NetworkManager::ActiveConnection::State state)
{
int index = 0;
NetworkManager::ActiveConnection::List activeConnectList;
@ -691,7 +691,7 @@ bool KyActiveConnectResourse::wirelessConnectIsActived()
continue;
}
if (activeConnectPtr->state() == NetworkManager::ActiveConnection::State::Activated) {
if (activeConnectPtr->state() == state) {
return true;
}
}

View File

@ -39,7 +39,7 @@ public:
bool connectionIsVirtual(QString uuid);
bool wiredConnectIsActived();
bool wirelessConnectIsActived();
bool checkWirelessStatus(NetworkManager::ActiveConnection::State state);
private:
void getActiveConnectIp(NetworkManager::ActiveConnection::Ptr activeConnectPtr,

View File

@ -461,7 +461,7 @@ void MainWindow::onRefreshTrayIcon()
NetworkManager::Connectivity connecttivity;
m_wlanWidget->getConnectivity(connecttivity);
if (connecttivity == NetworkManager::Connectivity::Portal || connecttivity == NetworkManager::Connectivity::Limited) {
if (connecttivity != NetworkManager::Connectivity::Full) {
if (iconStatus == IconActiveType::LAN_CONNECTED) {
m_trayIcon->setIcon(QIcon::fromTheme("network-error-symbolic"));
iconStatus = IconActiveType::LAN_CONNECTED_LIMITED;
@ -504,6 +504,9 @@ void MainWindow::onWlanConnectStatusToChangeTrayIcon(int state)
m_wlanIsLoading = true;
iconTimer->start(LOADING_TRAYICON_TIMER_MS);
} else {
if (m_wlanWidget->wlanIsConnecting()) {
return;
}
m_wlanIsLoading = false;
if (m_lanIsLoading == false) {
onRefreshTrayIcon();

View File

@ -1380,7 +1380,16 @@ void WlanPage::showDetailPage(QString devName, QString ssid)
bool WlanPage::wlanIsConnected()
{
if (m_activatedConnectResource->wirelessConnectIsActived()) {
if (m_activatedConnectResource->checkWirelessStatus(NetworkManager::ActiveConnection::State::Activated)) {
return true;
} else {
return false;
}
}
bool WlanPage::wlanIsConnecting()
{
if (m_activatedConnectResource->checkWirelessStatus(NetworkManager::ActiveConnection::State::Activating)) {
return true;
} else {
return false;

View File

@ -43,6 +43,7 @@ public:
void showDetailPage(QString devName, QString uuid);
bool wlanIsConnected();
bool wlanIsConnecting();
void getApInfoBySsid(QString devName, QString ssid, QStringList &list);
//无线总开关