private void RemoveItemFromLibrary(TraktUserListItem item) { if (SelectedType == TraktItemType.movie) { TraktHelper.RemoveMovieFromLibrary(item.Movie); } else { TraktHelper.RemoveEpisodeFromLibrary(item.Show, item.Episode); } }
protected override void OnShowContextMenu() { GUIListItem selectedItem = this.Facade.SelectedListItem; if (selectedItem == null) { return; } var selectedEpisodeSummary = selectedItem.TVTag as TraktEpisodeSummary; if (selectedEpisodeSummary == null) { return; } var selectedEpisode = selectedEpisodeSummary.Episode; if (selectedEpisode == null) { return; } var selectedShow = selectedEpisodeSummary.Show; if (selectedShow == null) { return; } IDialogbox dlg = (IDialogbox)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_MENU); if (dlg == null) { return; } dlg.Reset(); dlg.SetHeading(GUIUtils.PluginName()); GUIListItem listItem = null; // Show Season Information listItem = new GUIListItem(Translation.ShowSeasonInfo); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.ShowSeasonInfo; if (!selectedEpisode.InWatchList) { listItem = new GUIListItem(Translation.AddToWatchList); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.AddToWatchList; } else { listItem = new GUIListItem(Translation.RemoveFromWatchList); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.RemoveFromWatchList; } // Add to Custom List listItem = new GUIListItem(Translation.AddToList); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.AddToList; // Mark As Watched if (!selectedEpisode.Watched) { listItem = new GUIListItem(Translation.MarkAsWatched); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.MarkAsWatched; } // Mark As UnWatched if (selectedEpisode.Watched) { listItem = new GUIListItem(Translation.MarkAsUnWatched); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.MarkAsUnWatched; } // Add to Library // Don't allow if it will be removed again on next sync // movie could be part of a DVD collection if (!selectedEpisode.InCollection && !TraktSettings.KeepTraktLibraryClean) { listItem = new GUIListItem(Translation.AddToLibrary); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.AddToLibrary; } if (selectedEpisode.InCollection) { listItem = new GUIListItem(Translation.RemoveFromLibrary); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.RemoveFromLibrary; } // Related Shows listItem = new GUIListItem(Translation.RelatedShows + "..."); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.Related; // Rate Episode listItem = new GUIListItem(Translation.RateEpisode); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.Rate; // Shouts listItem = new GUIListItem(Translation.Shouts + "..."); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.Shouts; if (TraktHelper.IsOnlineVideosAvailableAndEnabled) { // Trailers listItem = new GUIListItem(Translation.Trailers); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.Trailers; } // Change Layout listItem = new GUIListItem(Translation.ChangeLayout); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.ChangeLayout; if (!selectedEpisode.InCollection && TraktHelper.IsMpNZBAvailableAndEnabled) { // Search for movie with mpNZB listItem = new GUIListItem(Translation.SearchWithMpNZB); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.SearchWithMpNZB; } if (!selectedEpisode.InCollection && TraktHelper.IsMyTorrentsAvailableAndEnabled) { // Search for movie with MyTorrents listItem = new GUIListItem(Translation.SearchTorrent); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.SearchTorrent; } // Show Context Menu dlg.DoModal(GUIWindowManager.ActiveWindow); if (dlg.SelectedId < 0) { return; } switch (dlg.SelectedId) { case ((int)ContextMenuItem.ShowSeasonInfo): GUIWindowManager.ActivateWindow((int)TraktGUIWindows.ShowSeasons, selectedShow.ToJSON()); break; case ((int)ContextMenuItem.MarkAsWatched): TraktHelper.MarkEpisodeAsWatched(selectedShow, selectedEpisode); if (selectedEpisode.Plays == 0) { selectedEpisode.Plays = 1; } selectedEpisode.Watched = true; selectedItem.IsPlayed = true; OnEpisodeSelected(selectedItem, Facade); (Facade.SelectedListItem as GUIEpisodeListItem).Images.NotifyPropertyChanged("Screen"); break; case ((int)ContextMenuItem.MarkAsUnWatched): TraktHelper.MarkEpisodeAsUnWatched(selectedShow, selectedEpisode); selectedEpisode.Watched = false; selectedItem.IsPlayed = false; OnEpisodeSelected(selectedItem, Facade); (Facade.SelectedListItem as GUIEpisodeListItem).Images.NotifyPropertyChanged("Screen"); break; case ((int)ContextMenuItem.AddToWatchList): TraktHelper.AddEpisodeToWatchList(selectedShow, selectedEpisode); selectedEpisode.InWatchList = true; OnEpisodeSelected(selectedItem, Facade); (Facade.SelectedListItem as GUIEpisodeListItem).Images.NotifyPropertyChanged("Screen"); break; case ((int)ContextMenuItem.RemoveFromWatchList): TraktHelper.RemoveEpisodeFromWatchList(selectedShow, selectedEpisode); selectedEpisode.InWatchList = false; OnEpisodeSelected(selectedItem, Facade); (Facade.SelectedListItem as GUIEpisodeListItem).Images.NotifyPropertyChanged("Screen"); break; case ((int)ContextMenuItem.AddToList): TraktHelper.AddRemoveEpisodeInUserList(selectedShow, selectedEpisode, false); break; case ((int)ContextMenuItem.Trailers): PreviousUser = CurrentUser; GUICommon.ShowTVShowTrailersMenu(selectedShow, selectedEpisode); break; case ((int)ContextMenuItem.AddToLibrary): TraktHelper.AddEpisodeToLibrary(selectedShow, selectedEpisode); selectedEpisode.InCollection = true; OnEpisodeSelected(selectedItem, Facade); (Facade.SelectedListItem as GUIEpisodeListItem).Images.NotifyPropertyChanged("Screen"); break; case ((int)ContextMenuItem.RemoveFromLibrary): TraktHelper.RemoveEpisodeFromLibrary(selectedShow, selectedEpisode); selectedEpisode.InCollection = false; OnEpisodeSelected(selectedItem, Facade); (Facade.SelectedListItem as GUIEpisodeListItem).Images.NotifyPropertyChanged("Screen"); break; case ((int)ContextMenuItem.Related): TraktHelper.ShowRelatedShows(selectedShow); break; case ((int)ContextMenuItem.Rate): GUICommon.RateEpisode(selectedShow, selectedEpisode); OnEpisodeSelected(selectedItem, Facade); (Facade.SelectedListItem as GUIEpisodeListItem).Images.NotifyPropertyChanged("Screen"); break; case ((int)ContextMenuItem.Shouts): TraktHelper.ShowEpisodeShouts(selectedShow, selectedEpisode); break; case ((int)ContextMenuItem.ChangeLayout): CurrentLayout = GUICommon.ShowLayoutMenu(CurrentLayout, PreviousSelectedIndex); break; case ((int)ContextMenuItem.SearchWithMpNZB): string loadingParam = string.Format("search:{0} S{1}E{2}", selectedShow.Title, selectedEpisode.Season.ToString("D2"), selectedEpisode.Number.ToString("D2")); GUIWindowManager.ActivateWindow((int)ExternalPluginWindows.MpNZB, loadingParam); break; case ((int)ContextMenuItem.SearchTorrent): string loadPar = string.Format("{0} S{1}E{2}", selectedShow.Title, selectedEpisode.Season.ToString("D2"), selectedEpisode.Number.ToString("D2")); GUIWindowManager.ActivateWindow((int)ExternalPluginWindows.MyTorrents, loadPar); break; default: break; } base.OnShowContextMenu(); }
protected override void OnShowContextMenu() { var selectedItem = this.Facade.SelectedListItem; if (selectedItem == null) { return; } var selectedEpisodeSummary = selectedItem.TVTag as TraktEpisodeSummary; if (selectedEpisodeSummary == null) { return; } var selectedEpisode = selectedEpisodeSummary.Episode; var selectedShow = selectedEpisodeSummary.Show; var dlg = (IDialogbox)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_MENU); if (dlg == null) { return; } dlg.Reset(); dlg.SetHeading(GUIUtils.PluginName()); GUIListItem listItem = null; listItem = new GUIListItem(Translation.Trailers); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.Trailers; if (selectedEpisode.Watched) { listItem = new GUIListItem(Translation.MarkAsUnWatched); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.MarkAsUnWatched; } else { listItem = new GUIListItem(Translation.MarkAsWatched); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.MarkAsWatched; } if (selectedEpisode.InCollection) { listItem = new GUIListItem(Translation.RemoveFromLibrary); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.RemoveFromLibrary; } else { listItem = new GUIListItem(Translation.AddToLibrary); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.AddToLibrary; } if (selectedEpisode.InWatchList) { listItem = new GUIListItem(Translation.RemoveFromWatchList); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.RemoveFromWatchList; } else { listItem = new GUIListItem(Translation.AddEpisodeToWatchList); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.AddToWatchList; } // Add to Custom List listItem = new GUIListItem(Translation.AddToList + "..."); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.AddToList; // Rate listItem = new GUIListItem(Translation.Rate + "..."); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.Rate; // Shouts listItem = new GUIListItem(Translation.Shouts + "..."); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.Shouts; // Change Layout listItem = new GUIListItem(Translation.ChangeLayout); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.ChangeLayout; if (TraktHelper.IsMpNZBAvailableAndEnabled) { // Search for show with mpNZB listItem = new GUIListItem(Translation.SearchWithMpNZB); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.SearchWithMpNZB; } if (TraktHelper.IsMyTorrentsAvailableAndEnabled) { // Search for show with MyTorrents listItem = new GUIListItem(Translation.SearchTorrent); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.SearchTorrent; } // Show Context Menu dlg.DoModal(GUIWindowManager.ActiveWindow); if (dlg.SelectedId < 0) { return; } switch (dlg.SelectedId) { case ((int)ContextMenuItem.Trailers): GUICommon.ShowTVShowTrailersMenu(Show, selectedEpisode); break; case ((int)ContextMenuItem.MarkAsWatched): TraktHelper.MarkEpisodeAsWatched(Show, selectedEpisode); selectedEpisode.Watched = true; Facade.SelectedListItem.IsPlayed = true; if (selectedEpisode.Plays == 0) { selectedEpisode.Plays = 1; } OnEpisodeSelected(Facade.SelectedListItem, Facade); (Facade.SelectedListItem as GUIEpisodeListItem).Images.NotifyPropertyChanged("Screen"); break; case ((int)ContextMenuItem.MarkAsUnWatched): TraktHelper.MarkEpisodeAsUnWatched(Show, selectedEpisode); selectedEpisode.Watched = false; Facade.SelectedListItem.IsPlayed = false; OnEpisodeSelected(Facade.SelectedListItem, Facade); (Facade.SelectedListItem as GUIEpisodeListItem).Images.NotifyPropertyChanged("Screen"); break; case ((int)ContextMenuItem.AddToLibrary): TraktHelper.AddEpisodeToLibrary(Show, selectedEpisode); selectedEpisode.InCollection = true; OnEpisodeSelected(selectedItem, Facade); (Facade.SelectedListItem as GUIEpisodeListItem).Images.NotifyPropertyChanged("Screen"); break; case ((int)ContextMenuItem.RemoveFromLibrary): TraktHelper.RemoveEpisodeFromLibrary(Show, selectedEpisode); selectedEpisode.InCollection = false; OnEpisodeSelected(selectedItem, Facade); (Facade.SelectedListItem as GUIEpisodeListItem).Images.NotifyPropertyChanged("Screen"); break; case ((int)ContextMenuItem.AddToWatchList): TraktHelper.AddEpisodeToWatchList(Show, selectedEpisode); selectedEpisode.InWatchList = true; OnEpisodeSelected(selectedItem, Facade); (Facade.SelectedListItem as GUIEpisodeListItem).Images.NotifyPropertyChanged("Screen"); break; case ((int)ContextMenuItem.RemoveFromWatchList): TraktHelper.RemoveEpisodeFromWatchList(Show, selectedEpisode); selectedEpisode.InWatchList = false; OnEpisodeSelected(selectedItem, Facade); (Facade.SelectedListItem as GUIEpisodeListItem).Images.NotifyPropertyChanged("Screen"); break; case ((int)ContextMenuItem.Rate): GUICommon.RateEpisode(Show, selectedEpisode); OnEpisodeSelected(Facade.SelectedListItem, Facade); (Facade.SelectedListItem as GUIEpisodeListItem).Images.NotifyPropertyChanged("Screen"); break; case ((int)ContextMenuItem.AddToList): TraktHelper.AddRemoveEpisodeInUserList(Show.Title, Show.Year.ToString(), selectedEpisode.Season.ToString(), selectedEpisode.Number.ToString(), Show.Tvdb, false); break; case ((int)ContextMenuItem.Shouts): TraktHelper.ShowEpisodeShouts(Show, selectedEpisode); break; case ((int)ContextMenuItem.ChangeLayout): CurrentLayout = GUICommon.ShowLayoutMenu(CurrentLayout, PreviousSelectedIndex); break; case ((int)ContextMenuItem.SearchWithMpNZB): string loadingParam = string.Format("search:{0} S{1}E{2}", Show.Title, selectedEpisode.Season.ToString("D2"), selectedEpisode.Number.ToString("D2")); GUIWindowManager.ActivateWindow((int)ExternalPluginWindows.MpNZB, loadingParam); break; case ((int)ContextMenuItem.SearchTorrent): string loadPar = string.Format("{0} S{1}E{2}", Show.Title, selectedEpisode.Season.ToString("D2"), selectedEpisode.Number.ToString("D2")); GUIWindowManager.ActivateWindow((int)ExternalPluginWindows.MyTorrents, loadPar); break; default: break; } base.OnShowContextMenu(); }
protected override void OnShowContextMenu() { IDialogbox dlg = (IDialogbox)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_MENU); if (dlg == null) { return; } dlg.Reset(); dlg.SetHeading(GUIUtils.PluginName()); var episodeItem = Facade.SelectedListItem.TVTag as TraktEpisodeSummary; if (episodeItem == null) { return; } // Create Views Menu Item GUIListItem listItem = new GUIListItem(Translation.ChangeView); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.View; // Start Date listItem = new GUIListItem(Translation.StartDate + "..."); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.StartDate; // Show Season Information listItem = new GUIListItem(Translation.ShowSeasonInfo); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.ShowSeasonInfo; // Related Shows listItem = new GUIListItem(Translation.RelatedShows + "..."); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.Related; // Rate listItem = new GUIListItem(Translation.Rate + "..."); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.Rate; // Mark As Watched if (!episodeItem.Episode.Watched) { listItem = new GUIListItem(Translation.MarkAsWatched); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.MarkAsWatched; } // Mark As UnWatched if (episodeItem.Episode.Watched) { listItem = new GUIListItem(Translation.MarkAsUnWatched); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.MarkAsUnWatched; } // Add/Remove Show Watch List if (!episodeItem.Show.InWatchList) { listItem = new GUIListItem(Translation.AddShowToWatchList); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.AddShowToWatchList; } else { listItem = new GUIListItem(Translation.RemoveShowFromWatchList); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.RemoveShowFromWatchList; } // Add/Remove Episode Watch List if (!episodeItem.Episode.InWatchList) { listItem = new GUIListItem(Translation.AddEpisodeToWatchList); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.AddEpisodeToWatchList; } else { listItem = new GUIListItem(Translation.RemoveEpisodeFromWatchList); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.RemoveEpisodeFromWatchList; } // Add Show to Custom List listItem = new GUIListItem(Translation.AddShowToList + "..."); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.AddShowToList; // Add Episode to Custom List listItem = new GUIListItem(Translation.AddEpisodeToList + "..."); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.AddEpisodeToList; // Shouts listItem = new GUIListItem(Translation.Shouts + "..."); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.Shouts; // Add/Remove Libary if (!episodeItem.Episode.InCollection) { listItem = new GUIListItem(Translation.AddToLibrary); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.AddToLibrary; } else { listItem = new GUIListItem(Translation.RemoveFromLibrary); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.RemoveFromLibrary; } if (TraktHelper.IsOnlineVideosAvailableAndEnabled) { listItem = new GUIListItem(Translation.Trailers); dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.Trailers; } // Watch List Filter if (CurrentCalendar == CalendarType.MyShows) { if (TraktSettings.CalendarHideTVShowsInWatchList) { listItem = new GUIListItem(Translation.ShowTVShowsInWatchlist); } else { listItem = new GUIListItem(Translation.HideTVShowsInWatchlist); } dlg.Add(listItem); listItem.ItemId = (int)ContextMenuItem.WatchlistFilter; } // Show Context Menu dlg.DoModal(GUIWindowManager.ActiveWindow); if (dlg.SelectedId < 0) { return; } switch (dlg.SelectedId) { case ((int)ContextMenuItem.View): ShowViewMenu(); break; case ((int)ContextMenuItem.StartDate): ShowStartDateMenu(); break; case ((int)ContextMenuItem.ShowSeasonInfo): GUIWindowManager.ActivateWindow((int)TraktGUIWindows.ShowSeasons, episodeItem.Show.ToJSON()); break; case ((int)ContextMenuItem.Related): TraktHelper.ShowRelatedShows(episodeItem.Show); break; case ((int)ContextMenuItem.Shouts): TraktHelper.ShowEpisodeShouts(episodeItem.Show, episodeItem.Episode); break; case ((int)ContextMenuItem.Rate): GUICommon.RateEpisode(episodeItem.Show, episodeItem.Episode); OnEpisodeSelected(Facade.SelectedListItem, Facade); (Facade.SelectedListItem as GUIEpisodeListItem).Images.NotifyPropertyChanged("Screen"); break; case ((int)ContextMenuItem.MarkAsWatched): TraktHelper.MarkEpisodeAsWatched(episodeItem.Show, episodeItem.Episode); episodeItem.Episode.Watched = true; Facade.SelectedListItem.IsPlayed = true; if (episodeItem.Episode.Plays == 0) { episodeItem.Episode.Plays = 1; } OnEpisodeSelected(Facade.SelectedListItem, Facade); (Facade.SelectedListItem as GUIEpisodeListItem).Images.NotifyPropertyChanged("Screen"); break; case ((int)ContextMenuItem.MarkAsUnWatched): TraktHelper.MarkEpisodeAsUnWatched(episodeItem.Show, episodeItem.Episode); episodeItem.Episode.Watched = false; Facade.SelectedListItem.IsPlayed = false; OnEpisodeSelected(Facade.SelectedListItem, Facade); (Facade.SelectedListItem as GUIEpisodeListItem).Images.NotifyPropertyChanged("Screen"); break; case ((int)ContextMenuItem.AddShowToWatchList): TraktHelper.AddShowToWatchList(episodeItem.Show); episodeItem.Show.InWatchList = true; OnEpisodeSelected(Facade.SelectedListItem, Facade); GUIWatchListShows.ClearCache(TraktSettings.Username); break; case ((int)ContextMenuItem.AddEpisodeToWatchList): TraktHelper.AddEpisodeToWatchList(episodeItem.Show, episodeItem.Episode); episodeItem.Episode.InWatchList = true; OnEpisodeSelected(Facade.SelectedListItem, Facade); (Facade.SelectedListItem as GUIEpisodeListItem).Images.NotifyPropertyChanged("Screen"); GUIWatchListShows.ClearCache(TraktSettings.Username); break; case ((int)ContextMenuItem.RemoveShowFromWatchList): TraktHelper.RemoveShowFromWatchList(episodeItem.Show); episodeItem.Show.InWatchList = false; OnEpisodeSelected(Facade.SelectedListItem, Facade); GUIWatchListShows.ClearCache(TraktSettings.Username); break; case ((int)ContextMenuItem.RemoveEpisodeFromWatchList): TraktHelper.RemoveEpisodeFromWatchList(episodeItem.Show, episodeItem.Episode); episodeItem.Episode.InWatchList = false; OnEpisodeSelected(Facade.SelectedListItem, Facade); (Facade.SelectedListItem as GUIEpisodeListItem).Images.NotifyPropertyChanged("Screen"); GUIWatchListShows.ClearCache(TraktSettings.Username); break; case ((int)ContextMenuItem.AddEpisodeToList): TraktHelper.AddRemoveEpisodeInUserList(episodeItem.Show.Title, episodeItem.Show.Year.ToString(), episodeItem.Episode.Season.ToString(), episodeItem.Episode.Number.ToString(), episodeItem.Show.Tvdb, false); break; case ((int)ContextMenuItem.AddShowToList): TraktHelper.AddRemoveShowInUserList(episodeItem.Show.Title, episodeItem.Show.Year.ToString(), episodeItem.Show.Tvdb, false); break; case ((int)ContextMenuItem.AddToLibrary): TraktHelper.AddEpisodeToLibrary(episodeItem.Show, episodeItem.Episode); episodeItem.Episode.InCollection = true; OnEpisodeSelected(Facade.SelectedListItem, Facade); (Facade.SelectedListItem as GUIEpisodeListItem).Images.NotifyPropertyChanged("Screen"); break; case ((int)ContextMenuItem.RemoveFromLibrary): TraktHelper.RemoveEpisodeFromLibrary(episodeItem.Show, episodeItem.Episode); episodeItem.Episode.InCollection = false; OnEpisodeSelected(Facade.SelectedListItem, Facade); (Facade.SelectedListItem as GUIEpisodeListItem).Images.NotifyPropertyChanged("Screen"); break; case ((int)ContextMenuItem.Trailers): if (episodeItem != null) { GUICommon.ShowTVShowTrailersMenu(episodeItem.Show, episodeItem.Episode); } break; case ((int)ContextMenuItem.WatchlistFilter): TraktSettings.CalendarHideTVShowsInWatchList = !TraktSettings.CalendarHideTVShowsInWatchList; SetHideWatchlisted(); LoadCalendar(); break; default: break; } base.OnShowContextMenu(); }