void CoreConnection::solidNetworkStatusChanged(Solid::Networking::Status status) { CoreConnectionSettings s; if (s.networkDetectionMode() != CoreConnectionSettings::UseSolid) return; switch (status) { case Solid::Networking::Unknown: case Solid::Networking::Connected: //qDebug() << "Solid: Network status changed to connected or unknown"; if (state() == Disconnected) { if (_wantReconnect && s.autoReconnect()) { reconnectToCore(); } } break; case Solid::Networking::Disconnecting: case Solid::Networking::Unconnected: if (state() != Disconnected && !isLocalConnection()) disconnectFromCore(tr("Network is down"), true); break; default: break; } }
void CoreConnection::reconnectTimeout() { if (!_peer) { CoreConnectionSettings s; if (_wantReconnect && s.autoReconnect()) { // If using QNetworkConfigurationManager, we don't want to reconnect if we're offline if (s.networkDetectionMode() == CoreConnectionSettings::UseQNetworkConfigurationManager) { if (!_qNetworkConfigurationManager->isOnline()) { return; } } reconnectToCore(); } } }
void CoreConnection::reconnectTimeout() { if (!_peer) { CoreConnectionSettings s; if (_wantReconnect && s.autoReconnect()) { #ifdef HAVE_KDE // If using Solid, we don't want to reconnect if we're offline if (s.networkDetectionMode() == CoreConnectionSettings::UseSolid) { if (Solid::Networking::status() != Solid::Networking::Connected && Solid::Networking::status() != Solid::Networking::Unknown) { return; } } #endif /* HAVE_KDE */ reconnectToCore(); } } }
void CoreConnection::onlineStateChanged(bool isOnline) { CoreConnectionSettings s; if (s.networkDetectionMode() != CoreConnectionSettings::UseQNetworkConfigurationManager) return; if(isOnline) { // qDebug() << "QNetworkConfigurationManager reports Online"; if (state() == Disconnected) { if (_wantReconnect && s.autoReconnect()) { reconnectToCore(); } } } else { // qDebug() << "QNetworkConfigurationManager reports Offline"; if (state() != Disconnected && !isLocalConnection()) disconnectFromCore(tr("Network is down"), true); } }