Beispiel #1
0
        public void ImportFromTextFile()
        {
            using (FileChooserDialog fc = new FileChooserDialog(
                       "Import from text",
                       (Window)Toplevel,
                       FileChooserAction.Open,
                       "Cancel", ResponseType.Cancel,
                       "Open", ResponseType.Accept))
            {
                fc.ShowAll();
                if (fc.Run() == (int)ResponseType.Accept)
                {
                    string[] lines = File.ReadAllLines(fc.Filename);

                    using (var batchDlg = new AddMultipleDownloadDialog())
                    {
                        var list = lines.Where(s => ResourceLocation.IsURL(s)).ToArray();
                        foreach (var item in list)
                        {
                            batchDlg.Store.AddNode(new BatchDownloadNode {
                                Checked = true, Url = item
                            });
                        }

                        batchDlg.Run();
                        batchDlg.Destroy();
                    }
                }
                fc.Destroy();
            }
        }
 protected void BtnOk_Click(object sender, EventArgs e)
 {
     Gtk.TreeModel model = nodeView.Model;
     Gtk.TreeIter  iter;
     if (model.GetIterFirst(out iter))
     {
         do
         {
             if ((bool)nodeView.Model.GetValue(iter, 0))
             {
                 ResourceLocation rl = new ResourceLocation();
                 rl.URL = nodeView.Model.GetValue(iter, 1).ToString();
                 Downloader download = DownloadManager.Instance.Add(
                     rl,
                     new ResourceLocation[0],
                     System.IO.Path.Combine(MonoDM.Core.Settings.Default.DownloadFolder, PathHelper.GetFileNameFromUrl(rl.URL)),
                     MonoDM.Core.Settings.Default.MaxSegments,
                     cbStartNow.Active);
             }
         } while (model.IterNext(ref iter));
     }
     Destroy();
 }