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

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

View File

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

View File

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

View File

@ -1380,7 +1380,16 @@ void WlanPage::showDetailPage(QString devName, QString ssid)
bool WlanPage::wlanIsConnected() 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; return true;
} else { } else {
return false; return false;

View File

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