private void CommandBinding_EditNotes(object sender, ExecutedRoutedEventArgs e) { Window parentWindow = Window.GetWindow(this); try { object obj = e.Parameter; if (obj == null) { return; } VM_BookmarkedAnime ba = obj as VM_BookmarkedAnime; if (ba == null) { return; } DialogTextMultiline dlg = new DialogTextMultiline(); dlg.Init(Shoko.Commons.Properties.Resources.Bookmarks_Notes + " ", ba.Notes); dlg.Owner = Window.GetWindow(this); bool?res = dlg.ShowDialog(); if (res.HasValue && res.Value) { ba.Notes = dlg.EnteredText; ba.Save(); } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } }
private void CommandBinding_ToggleDownloading(object sender, ExecutedRoutedEventArgs e) { Window parentWindow = Window.GetWindow(this); try { object obj = e.Parameter; if (obj == null) { return; } VM_BookmarkedAnime ba = obj as VM_BookmarkedAnime; if (ba == null) { return; } bool newStatus = !ba.DownloadingBool; ba.Downloading = newStatus ? 1 : 0; ba.Save(); } catch (Exception ex) { Utils.ShowErrorMessage(ex); } }
protected override void OnShowContextMenu() { GUIListItem currentitem = this.m_Facade.SelectedListItem; if (currentitem == null) { return; } if (currentitem.TVTag.GetType() == typeof(VM_Recommendation)) { VM_Recommendation rec = currentitem.TVTag as VM_Recommendation; if (rec != null) { ContextMenu cmenu = new ContextMenu(rec.Recommended_DisplayName); cmenu.AddAction(Translation.DontShowThisAnime, () => { int recType = 1; VM_ShokoServer.Instance.ShokoServices.IgnoreAnime(rec.RecommendedAnimeID, recType, VM_ShokoServer.Instance.CurrentUser.JMMUserID); LoadData(); }); cmenu.AddAction(Translation.BookmarkThisAnime, () => { VM_BookmarkedAnime bookmark = new VM_BookmarkedAnime(); bookmark.AnimeID = rec.RecommendedAnimeID; bookmark.Downloading = 0; bookmark.Notes = ""; bookmark.Priority = 1; if (bookmark.Save()) { Utils.DialogMsg(Translation.Sucess, Translation.BookmarkCreated); } }); cmenu.AddAction(Translation.CreateSeriesForAnime, () => { CL_Response <CL_AnimeSeries_User> resp = VM_ShokoServer.Instance.ShokoServices.CreateSeriesFromAnime( rec.RecommendedAnimeID, null, VM_ShokoServer.Instance.CurrentUser.JMMUserID); if (string.IsNullOrEmpty(resp.ErrorMessage)) { Utils.DialogMsg(Translation.Sucess, Translation.SeriesCreated); } else { Utils.DialogMsg(Translation.Error, resp.ErrorMessage); } }); cmenu.Show(); } } }
protected override void OnShowContextMenu() { try { ContextMenu cmenu = new ContextMenu(Translation.Calendar); cmenu.AddAction(Translation.BookmarkThisAnime, () => { VM_AniDB_Anime anime3; if ((anime3 = m_Facade.SelectedListItem.TVTag as VM_AniDB_Anime) != null) { VM_BookmarkedAnime bookmark = new VM_BookmarkedAnime(); bookmark.AnimeID = anime3.AnimeID; bookmark.Downloading = 0; bookmark.Notes = string.Empty; bookmark.Priority = 1; if (bookmark.Save()) { Utils.DialogMsg(Translation.Sucess, Translation.BookmarkCreated); } } }); cmenu.AddAction(Translation.CreateSeriesForAnime, () => { VM_AniDB_Anime anime4; if ((anime4 = m_Facade.SelectedListItem.TVTag as VM_AniDB_Anime) != null) { CL_Response <CL_AnimeSeries_User> resp = VM_ShokoServer.Instance.ShokoServices.CreateSeriesFromAnime( anime4.AnimeID, null, VM_ShokoServer.Instance.CurrentUser.JMMUserID, false); if (string.IsNullOrEmpty(resp.ErrorMessage)) { Utils.DialogMsg(Translation.Sucess, Translation.SeriesCreated); } else { Utils.DialogMsg(Translation.Error, resp.ErrorMessage); } } }); cmenu.Show(); } catch (Exception ex) { BaseConfig.MyAnimeLog.Write("Error in menu: {0}", ex); } }
private void CommandBinding_DeleteBookmark(object sender, ExecutedRoutedEventArgs e) { Window parentWindow = Window.GetWindow(this); try { object obj = e.Parameter; if (obj == null) { return; } VM_BookmarkedAnime ba = obj as VM_BookmarkedAnime; if (ba == null) { return; } MessageBoxResult res = MessageBox.Show(string.Format(Shoko.Commons.Properties.Resources.Bookmarks_Delete, ba.Anime.FormattedTitle), Shoko.Commons.Properties.Resources.Confirm, MessageBoxButton.YesNo, MessageBoxImage.Warning); if (res == MessageBoxResult.Yes) { Cursor = Cursors.Wait; string result = VM_ShokoServer.Instance.ShokoServices.DeleteBookmarkedAnime(ba.BookmarkedAnimeID); if (result.Length > 0) { MessageBox.Show(result, Shoko.Commons.Properties.Resources.Error, MessageBoxButton.OK, MessageBoxImage.Error); } else { VM_MainListHelper.Instance.BookmarkedAnime.Remove(ba); } } } catch (Exception ex) { Utils.ShowErrorMessage(ex); } finally { Cursor = Cursors.Arrow; } }