]> granicus.if.org Git - transmission/commitdiff
(trunk qt) #5514 'enhanced network status' -- reset the torrent model when we reconne...
authorJordan Lee <jordan@transmissionbt.com>
Sun, 27 Apr 2014 00:33:19 +0000 (00:33 +0000)
committerJordan Lee <jordan@transmissionbt.com>
Sun, 27 Apr 2014 00:33:19 +0000 (00:33 +0000)
qt/mainwin.cc

index 90ea60264a1dcbe9073fcbaa5f0a1595d17f0044..d8cf0e42f8950022780d8bb1faab5e6471bcc45d 100644 (file)
@@ -723,7 +723,11 @@ TrMainWindow :: refreshTrayIcon ()
 
   myModel.getTransferSpeed (upSpeed, upCount, downSpeed, downCount);
 
-  if (!upCount && !downCount)
+  if (myNetworkError)
+    {
+      tip  = tr ("Network Error");
+    }
+  else if (!upCount && !downCount)
     {
       tip = tr ("Idle");
     }
@@ -1408,10 +1412,17 @@ TrMainWindow :: dataSendProgress ()
 void
 TrMainWindow :: onError (QNetworkReply::NetworkError code)
 {
-    if (code != QNetworkReply::NoError)
-        myNetworkError = true;
-    else
-        myNetworkError = false;
+  const bool hadError = myNetworkError;
+  const bool haveError = code != QNetworkReply::NoError;
+
+  myNetworkError = haveError;
+  refreshTrayIconSoon();
+  updateNetworkIcon();
+
+  // Refresh our model if we've just gotten a clean connection to the session.
+  // That way we can rebuild after a restart of transmission-daemon
+  if (hadError && !haveError)
+    myModel.clear();
 }
 
 void