silently handle errors during ui draw of download ui
This commit is contained in:
		| @@ -80,44 +80,52 @@ public class DownloadUi : Window, IDisposable | |||||||
|  |  | ||||||
|         var basePosition = ImGui.GetWindowPos() + ImGui.GetWindowContentRegionMin(); |         var basePosition = ImGui.GetWindowPos() + ImGui.GetWindowContentRegionMin(); | ||||||
|  |  | ||||||
|         if (_apiController.CurrentUploads.Any()) |         try | ||||||
|         { |         { | ||||||
|             var currentUploads = _apiController.CurrentUploads.ToList(); |             if (_apiController.CurrentUploads.Any()) | ||||||
|             var totalUploads = currentUploads.Count; |             { | ||||||
|  |                 var currentUploads = _apiController.CurrentUploads.ToList(); | ||||||
|  |                 var totalUploads = currentUploads.Count; | ||||||
|  |  | ||||||
|             var doneUploads = currentUploads.Count(c => c.IsTransferred); |                 var doneUploads = currentUploads.Count(c => c.IsTransferred); | ||||||
|             var totalUploaded = currentUploads.Sum(c => c.Transferred); |                 var totalUploaded = currentUploads.Sum(c => c.Transferred); | ||||||
|             var totalToUpload = currentUploads.Sum(c => c.Total); |                 var totalToUpload = currentUploads.Sum(c => c.Total); | ||||||
|  |  | ||||||
|             UiShared.DrawOutlinedFont(drawList, "▲", |                 UiShared.DrawOutlinedFont(drawList, "▲", | ||||||
|                 new Vector2(basePosition.X + 0, basePosition.Y + (int)(yDistance * 0.5)), |                     new Vector2(basePosition.X + 0, basePosition.Y + (int)(yDistance * 0.5)), | ||||||
|                 UiShared.Color(255, 255, 255, 255), UiShared.Color(0, 0, 0, 255), 2); |                     UiShared.Color(255, 255, 255, 255), UiShared.Color(0, 0, 0, 255), 2); | ||||||
|             UiShared.DrawOutlinedFont(drawList, $"Compressing+Uploading {doneUploads}/{totalUploads}", |                 UiShared.DrawOutlinedFont(drawList, $"Compressing+Uploading {doneUploads}/{totalUploads}", | ||||||
|                 new Vector2(basePosition.X + xDistance, basePosition.Y + yDistance * 0), |                     new Vector2(basePosition.X + xDistance, basePosition.Y + yDistance * 0), | ||||||
|                 UiShared.Color(255, 255, 255, 255), UiShared.Color(0, 0, 0, 255), 2); |                     UiShared.Color(255, 255, 255, 255), UiShared.Color(0, 0, 0, 255), 2); | ||||||
|             UiShared.DrawOutlinedFont(drawList, $"{UiShared.ByteToString(totalUploaded)}/{UiShared.ByteToString(totalToUpload)}", |                 UiShared.DrawOutlinedFont(drawList, $"{UiShared.ByteToString(totalUploaded)}/{UiShared.ByteToString(totalToUpload)}", | ||||||
|                 new Vector2(basePosition.X + xDistance, basePosition.Y + yDistance * 1), |                     new Vector2(basePosition.X + xDistance, basePosition.Y + yDistance * 1), | ||||||
|                 UiShared.Color(255, 255, 255, 255), UiShared.Color(0, 0, 0, 255), 2); |                     UiShared.Color(255, 255, 255, 255), UiShared.Color(0, 0, 0, 255), 2); | ||||||
|  |  | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|  |         catch { } | ||||||
|  |  | ||||||
|         if (_apiController.CurrentDownloads.Any()) |         try | ||||||
|         { |         { | ||||||
|             var currentDownloads = _apiController.CurrentDownloads.Where(d => d.Value != null && d.Value.Any()).ToList().SelectMany(k => k.Value).ToList(); |             if (_apiController.CurrentDownloads.Any()) | ||||||
|             var multBase = currentDownloads.Any() ? 0 : 2; |             { | ||||||
|             var doneDownloads = currentDownloads.Count(c => c.IsTransferred); |                 var currentDownloads = _apiController.CurrentDownloads.Where(d => d.Value != null && d.Value.Any()).ToList().SelectMany(k => k.Value).ToList(); | ||||||
|             var totalDownloads = currentDownloads.Count; |                 var multBase = currentDownloads.Any() ? 0 : 2; | ||||||
|             var totalDownloaded = currentDownloads.Sum(c => c.Transferred); |                 var doneDownloads = currentDownloads.Count(c => c.IsTransferred); | ||||||
|             var totalToDownload = currentDownloads.Sum(c => c.Total); |                 var totalDownloads = currentDownloads.Count; | ||||||
|             UiShared.DrawOutlinedFont(drawList, "▼", |                 var totalDownloaded = currentDownloads.Sum(c => c.Transferred); | ||||||
|                 new Vector2(basePosition.X + 0, basePosition.Y + (int)(yDistance * multBase + (yDistance * 0.5))), |                 var totalToDownload = currentDownloads.Sum(c => c.Total); | ||||||
|                 UiShared.Color(255, 255, 255, 255), UiShared.Color(0, 0, 0, 255), 2); |                 UiShared.DrawOutlinedFont(drawList, "▼", | ||||||
|             UiShared.DrawOutlinedFont(drawList, $"Downloading {doneDownloads}/{totalDownloads}", |                     new Vector2(basePosition.X + 0, basePosition.Y + (int)(yDistance * multBase + (yDistance * 0.5))), | ||||||
|                 new Vector2(basePosition.X + xDistance, basePosition.Y + yDistance * multBase), |                     UiShared.Color(255, 255, 255, 255), UiShared.Color(0, 0, 0, 255), 2); | ||||||
|                 UiShared.Color(255, 255, 255, 255), UiShared.Color(0, 0, 0, 255), 2); |                 UiShared.DrawOutlinedFont(drawList, $"Downloading {doneDownloads}/{totalDownloads}", | ||||||
|             UiShared.DrawOutlinedFont(drawList, $"{UiShared.ByteToString(totalDownloaded)}/{UiShared.ByteToString(totalToDownload)}", |                     new Vector2(basePosition.X + xDistance, basePosition.Y + yDistance * multBase), | ||||||
|                 new Vector2(basePosition.X + xDistance, basePosition.Y + yDistance * (1 + multBase)), |                     UiShared.Color(255, 255, 255, 255), UiShared.Color(0, 0, 0, 255), 2); | ||||||
|                 UiShared.Color(255, 255, 255, 255), UiShared.Color(0, 0, 0, 255), 2); |                 UiShared.DrawOutlinedFont(drawList, $"{UiShared.ByteToString(totalDownloaded)}/{UiShared.ByteToString(totalToDownload)}", | ||||||
|  |                     new Vector2(basePosition.X + xDistance, basePosition.Y + yDistance * (1 + multBase)), | ||||||
|  |                     UiShared.Color(255, 255, 255, 255), UiShared.Color(0, 0, 0, 255), 2); | ||||||
|  |             } | ||||||
|         } |         } | ||||||
|  |         catch { } | ||||||
|     } |     } | ||||||
| } | } | ||||||
		Reference in New Issue
	
	Block a user
	 Stanley Dimant
					Stanley Dimant