private void ButtonStart_Click(object sender, RoutedEventArgs e) { String textpath = textPath.Text; if (textpath == "") { return; } isStart = true; ButtonStart.IsEnabled = false; Buttonstop.IsEnabled = true; new Thread(() => { Thread.CurrentThread.IsBackground = true; while (listDownload.Count > 0 && isStart == true) { Download d = listDownload[0]; d.name = d.name.Replace("/", "-"); d.name = d.name.Replace("\\", "-"); d.name = d.name.Replace(":", "-"); d.name = d.name.Replace("*", "."); d.name = d.name.Replace("?", "!"); d.name = d.name.Replace("\"", "-"); d.name = d.name.Replace("<", "-"); d.name = d.name.Replace(">", "-"); d.name = d.name.Replace("|", "-"); String path = textpath + d.name + "\\"; System.IO.Directory.CreateDirectory(path); while (d.chapters.Count > 0 && isStart == true) { Chapters c = d.chapters[0]; String path2 = path; if (c.getTome() != null && isStart == true) { if (c.getTome().getTitle() != null && c.getTome().getTitle() != "" && isStart == true) { c.getTome().title = c.getTome().title.Replace(":", "-"); c.getTome().title = c.getTome().title.Replace("*", "."); c.getTome().title = c.getTome().title.Replace("?", "!"); c.getTome().title = c.getTome().title.Replace("<", "-"); c.getTome().title = c.getTome().title.Replace(">", "-"); c.getTome().title = c.getTome().title.Replace("|", "-"); path2 = path2 + "Tome " + c.getTome().getNumber() + " - " + c.getTome().getTitle() + "\\"; } else if (isStart == true) { path2 = path2 + "Tome " + c.getTome().getNumber() + "\\"; } System.IO.Directory.CreateDirectory(path2); } List <String> pages_link = null; int error = 0; pages_link = allSites[d.site - 1].prepareDownload(c); if (error == 0) { int nb_page_real = 0; int nb_page_max = c.getMax(); foreach (String l in pages_link) { int nb_try = 0; while (nb_try < 3) { try { if (nb_try == 0) { nb_page_real++; } allSites[d.site - 1].downloadScan(l, nb_page_real - 1, c, path2); pg1Val = (int)((double)((double)(nb_page_real) / (double)(nb_page_max)) * 100.0); nb_try = 3; } catch (Exception g) { Debug.WriteLine("Error : " + d.name + " " + c.getNumber() + " page " + nb_page_real); //listBoxErrors.Items.Add("Error : " + d.name + " " + c.getNumber() + " page " + nb_page_real); nb_try++; } } } } d.total_to_dl_real++; pg2Val = (int)((double)((double)(d.total_to_dl_real) / (double)(d.total_to_dl)) * 100.0); if (d.chapters[0].is_chapter) { d.nb_chapter--; } else { d.nb_tome--; } dl_text_val = d.nb_tome + " Tomes - " + d.nb_chapter + " Chapitres"; isTextRefresh = true; d.chapters.RemoveAt(0); saveDownload(); } if (listDownload[0].chapters.Count <= 0) { pg1Val = 0; pg2Val = 0; listDownload.RemoveAt(0); } saveDownload(); isDownloadRefresh = true; } isStart = false; }).Start(); }
private void ButtonClose_Click(object sender, RoutedEventArgs e) { current_dl = null; this.Close(); }
private void addDownloadListBox(Download dl, int index) { Grid g = new Grid(); g.Height = 70; Image img = new Image(); img.HorizontalAlignment = HorizontalAlignment.Left; img.Width = 70; if (dl.cover_path != null) { BitmapImage bi3 = new BitmapImage(); bi3.BeginInit(); bi3.UriSource = new Uri(dl.cover_path, UriKind.RelativeOrAbsolute); bi3.CacheOption = BitmapCacheOption.OnLoad; bi3.EndInit(); img.Source = bi3; } else { img.Source = null; } g.Children.Add(img); TextBlock tb1 = new TextBlock(); tb1.Margin = new Thickness(75, 0, 0, 0); tb1.TextWrapping = TextWrapping.Wrap; tb1.Text = dl.name; tb1.VerticalAlignment = VerticalAlignment.Top; g.Children.Add(tb1); if (index == 0) { save_tb2 = new TextBlock(); save_tb2.Margin = new Thickness(75, 19, 0, 0); save_tb2.TextWrapping = TextWrapping.Wrap; save_tb2.Text = dl.nb_tome + " Tomes - " + dl.nb_chapter + " Chapitres"; save_tb2.VerticalAlignment = VerticalAlignment.Top; g.Children.Add(save_tb2); } else { TextBlock tb2 = new TextBlock(); tb2.Margin = new Thickness(75, 19, 0, 0); tb2.TextWrapping = TextWrapping.Wrap; tb2.Text = dl.nb_tome + " Tomes - " + dl.nb_chapter + " Chapitres"; tb2.VerticalAlignment = VerticalAlignment.Top; g.Children.Add(tb2); } if (index == 0) { pg1 = new ProgressBar(); pg1.Margin = new Thickness(75, 0, 10, 20); pg1.Height = 10; pg1.VerticalAlignment = VerticalAlignment.Bottom; pg2 = new ProgressBar(); pg2.Margin = new Thickness(75, 0, 10, 0); pg2.Height = 10; pg2.VerticalAlignment = VerticalAlignment.Bottom; pg2Val = (int)((double)((double)(dl.total_to_dl_real) / (double)(dl.total_to_dl)) * 100.0); g.Children.Add(pg1); g.Children.Add(pg2); } Button bt1 = new Button(); bt1.HorizontalAlignment = HorizontalAlignment.Right; bt1.Margin = new Thickness(0, 1, 38, 0); bt1.VerticalAlignment = VerticalAlignment.Top; bt1.Width = 23; bt1.Height = 23; bt1.Tag = dl.index; bt1.Style = FindResource("MyButton") as Style; bt1.Background = new ImageBrush { ImageSource = new BitmapImage(new Uri("pack://application:,,,/Ressources/Edit.png", UriKind.RelativeOrAbsolute)) }; bt1.Click += buttonEditDL_Click; g.Children.Add(bt1); Button bt2 = new Button(); bt2.HorizontalAlignment = HorizontalAlignment.Right; bt2.Margin = new Thickness(0, 1, 10, 0); bt2.VerticalAlignment = VerticalAlignment.Top; bt2.Width = 23; bt2.Height = 23; bt2.Tag = dl.index; bt2.Style = FindResource("MyButton") as Style; bt2.Background = new ImageBrush { ImageSource = new BitmapImage(new Uri("pack://application:,,,/Ressources/Delete.png", UriKind.RelativeOrAbsolute)) }; bt2.Click += buttonDeleteDL_Click; g.Children.Add(bt2); listBoxDownload.Items.Add(g); }