Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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();
                }
            }
        }
Beispiel #4
0
 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);
     }
 }
Beispiel #5
0
        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;
            }
        }