/// <summary> /// Create a destination object and store its into the project /// </summary> /// <param name="proj">project</param> /// <param name="width">width value</param> /// <param name="height">height value</param> /// <param name="h">horizontal count</param> /// <param name="v">vertical count</param> public void CreateDestination(Library.Project proj, uint width, uint height, uint h, uint v) { if (this.Destination == null) { if (this.Type == RefObject.MasterPage) { MasterPage mp = new MasterPage(); mp.Name = this.Name; mp.ConstraintHeight = EnumConstraint.FIXED; mp.Height = height; mp.ConstraintWidth = EnumConstraint.FIXED; mp.Width = width; mp.CountColumns = h; mp.CountLines = v; proj.MasterPages.Add(mp); this.Destination = mp; string[] splitted = mp.ElementTitle.Split('/'); string path = String.Join("/", splitted.Take(splitted.Count() - 1)); mp.Name = splitted.Last(); proj.Add(mp, path); } else if (this.Type == RefObject.Page) { MasterPage mp = new Library.MasterPage(); Page p = new Library.Page(); if (Library.Project.AddPage(proj, p, this.Name)) { mp.Name = "MasterPage_" + System.IO.Path.GetFileNameWithoutExtension(p.Name); mp.ConstraintHeight = EnumConstraint.FIXED; mp.Height = height; mp.ConstraintWidth = EnumConstraint.FIXED; mp.Width = width; mp.CountColumns = h; mp.CountLines = v; proj.MasterPages.Add(mp); p.MasterPageName = mp.Name; p.ConstraintHeight = EnumConstraint.FIXED; p.Height = height; p.ConstraintWidth = EnumConstraint.FIXED; p.Width = width; this.SecondObject = mp; this.Destination = p; } else { throw new ArgumentException(Localization.Strings.GetString("ExceptionPageNotCreated")); } } else if (this.Type == RefObject.MasterObject) { MasterObject mo = new MasterObject(); mo.Title = this.Name; mo.ConstraintHeight = EnumConstraint.FIXED; mo.Height = height; mo.ConstraintWidth = EnumConstraint.FIXED; mo.Width = width; mo.CountColumns = h; mo.CountLines = v; this.Destination = mo; string[] splitted = mo.ElementTitle.Split('/'); string path = String.Join("/", splitted.Take(splitted.Count() - 1)); mo.Name = splitted.Last(); proj.Add(mo, path); } else if (this.Type == RefObject.Tool) { MasterObject mo = new Library.MasterObject(); HTMLTool t = new HTMLTool(); if (Library.Project.AddTool(proj, t, this.Name)) { mo.Name = "MasterObject_" + t.Title; mo.ConstraintHeight = EnumConstraint.FIXED; mo.Height = height; mo.ConstraintWidth = EnumConstraint.FIXED; mo.Width = width; mo.CountColumns = h; mo.CountLines = v; t.ConstraintHeight = EnumConstraint.FIXED; t.ConstraintWidth = EnumConstraint.FIXED; t.Width = width; t.Height = height; this.SecondObject = mo; this.Destination = t; } else { throw new ArgumentException(Localization.Strings.GetString("ExceptionToolNotCreated")); } } } else { if (this.Type == RefObject.MasterPage) { MasterPage mp = this.Destination; for (int index = mp.Objects.Count - 1; index >= 0; --index) { if (proj.Instances.Contains(mp.Objects[index])) { proj.Remove(mp.Objects[index]); } } mp.ConstraintHeight = EnumConstraint.FIXED; mp.Height = height; mp.ConstraintWidth = EnumConstraint.FIXED; mp.Width = width; mp.CountColumns = h; mp.CountLines = v; } else if (this.Type == RefObject.Page) { Page p = this.Destination; MasterPage mp = this.SecondObject; for (int index = mp.Objects.Count - 1; index >= 0; --index) { if (proj.Instances.Contains(mp.Objects[index])) { proj.Remove(mp.Objects[index]); } } for (int index = p.Objects.Count - 1; index >= 0; --index) { if (proj.Instances.Contains(p.Objects[index])) { proj.Remove(p.Objects[index]); } } mp.ConstraintHeight = EnumConstraint.FIXED; mp.Height = height; mp.ConstraintWidth = EnumConstraint.FIXED; mp.Width = width; mp.CountColumns = h; mp.CountLines = v; p.ConstraintHeight = EnumConstraint.FIXED; p.Height = height; p.ConstraintWidth = EnumConstraint.FIXED; p.Width = width; } else if (this.Type == RefObject.MasterObject) { MasterObject mo = this.Destination; for (int index = mo.Objects.Count - 1; index >= 0; --index) { if (proj.Instances.Contains(mo.Objects[index])) { proj.Remove(mo.Objects[index]); } } mo.ConstraintHeight = EnumConstraint.FIXED; mo.Height = height; mo.ConstraintWidth = EnumConstraint.FIXED; mo.Width = width; mo.CountColumns = h; mo.CountLines = v; } else if (this.Type == RefObject.Tool) { HTMLTool t = this.Destination; MasterObject mo = this.SecondObject; for (int index = mo.Objects.Count - 1; index >= 0; --index) { if (proj.Instances.Contains(mo.Objects[index])) { proj.Remove(mo.Objects[index]); } } mo.ConstraintHeight = EnumConstraint.FIXED; mo.Height = height; mo.ConstraintWidth = EnumConstraint.FIXED; mo.Width = width; mo.CountColumns = h; mo.CountLines = v; t.ConstraintHeight = EnumConstraint.FIXED; t.ConstraintWidth = EnumConstraint.FIXED; t.Width = width; t.Height = height; } } }
private void PageListDownloaded(object sender, DownloadStringCompletedEventArgs e) { lock (this) { if (e.Error != null) { MessageBox.Show(e.Error.Message); return; } TextReader textreader = new StringReader(e.Result); XmlReader reader = XmlReader.Create(textreader, new XmlReaderSettings { CheckCharacters = false }); XDocument loadedData = XDocument.Load(reader); var mangas = from series in loadedData.Descendants("page") select series; foreach (XElement series in mangas.ToArray<XElement>()) { string ChapterID = (string)series.Element("chapter_id"); string SeriesID = (string)series.Element("series_id"); string PageNum = (string)series.Element("page_number"); string SeriesTitle = _Series[int.Parse(SeriesID) - 1].Title; string Title = SeriesTitle + " - Page " + PageNum; string URL = (string)series.Element("image_source"); // Add pages Library.Page NewPage = new Library.Page{ Name = Title }; DownloadTransfer Transfer = new DownloadTransfer { TransferUrl = URL, Path = "/" + HttpUtility.UrlEncode(SeriesTitle)+"/"+ChapterID, Filename = PageNum + ".jpg" }; App.TransferViewModel.Add(Transfer); NewPage.Transfer = Transfer; App.LibraryViewModel.Add(NewPage); Transfer.ExternalReference = NewPage.UID.ToString(); } NavigationService.Navigate(new Uri("/MangaDemo/MangaDownloadList.xaml", UriKind.RelativeOrAbsolute)); } }
private void AppBarButton_DeleteSelected_Handler(object sender, EventArgs e) { if (MessageBox.Show(AppResources.WarningMessage_remove_selected, AppResources.WarningTitle_remove_selected, MessageBoxButton.OKCancel) == MessageBoxResult.OK) { Library.Page[] SelectedItems = new Library.Page[CurrentMultiselectList.SelectedItems.Count]; CurrentMultiselectList.SelectedItems.CopyTo(SelectedItems, 0); // User confirmed foreach (Library.Page SelectedItem in SelectedItems) { RemoveTransfer(SelectedItem.Transfer); RemovePage(SelectedItem); } CurrentMultiselectList.IsSelectionEnabled = false; } }
private void AppBarButton_StopSelected_Handler(object sender, EventArgs e) { Library.Page[] SelectedItems = new Library.Page[CurrentMultiselectList.SelectedItems.Count]; CurrentMultiselectList.SelectedItems.CopyTo(SelectedItems, 0); foreach (Library.Page SelectedItem in SelectedItems) { StopTransfer(SelectedItem.Transfer); } CurrentMultiselectList.IsSelectionEnabled = false; }
public PageCreate() { InitializeComponent(); this.page = new Library.Page(); this.RegisterControls(ref this.localeComponentId); }