public void InitDownload(ThemeConfig theme) { ThemeManager.downloadMode = true; this.Invoke(new Action(() => label1.Text = string.Format(_("Downloading images for '{0}'..."), ThemeManager.GetThemeName(theme)))); themeUris = DefaultThemes.GetThemeUriList(theme.themeId).ToList(); themeUriIndex = 0; themeZipDest = Path.Combine("themes", theme.themeId + ".zip"); DownloadNext(theme); }
public static void CalcThemeDownloadSize(ThemeConfig theme, Action <string> setSize) { Task.Run(() => { foreach (Uri themeUri in DefaultThemes.GetThemeUriList(theme.themeId)) { var client = new RestClient(themeUri); ProxyWrapper.ApplyProxyToClient(client); var response = client.Head(new RestRequest()); if (response.IsSuccessful) { long sizeBytes = Convert.ToInt64(response.Headers.ToList() .Find(x => x.Name == "Content-Length").Value); setSize(string.Format(_("{0} MB"), (sizeBytes / 1024d / 1024d).ToString("0.#"))); break; } } }); }