private void RemoveItemFromLibrary(TraktUserListItem item) { Thread syncThread = new Thread(delegate(object obj) { if (SelectedType == TraktItemType.movie) TraktAPI.TraktAPI.SyncMovieLibrary(CreateMovieSyncData((obj as TraktUserListItem).Movie), TraktSyncModes.unlibrary); else TraktAPI.TraktAPI.SyncEpisodeLibrary(CreateEpisodeSyncData(obj as TraktUserListItem), TraktSyncModes.unlibrary); }) { IsBackground = true, Name = "Remove Item From Library" }; syncThread.Start(item); }
private void PublishShowSkinProperties(TraktUserListItem item) { if (item == null || item.Show == null) return; GUICommon.SetShowProperties(item.Show); }
private void RateItem(TraktUserListItem item) { if (SelectedType == TraktItemType.movie) { GUICommon.RateMovie(item.Movie); } else if (SelectedType == TraktItemType.show) { GUICommon.RateShow(item.Show); } else if (SelectedType == TraktItemType.episode) { GUICommon.RateEpisode(item.Show, item.Episode); } }
private void PublishMovieSkinProperties(TraktUserListItem item) { if (item == null || item.Movie == null) return; GUICommon.SetMovieProperties(item.Movie); }
private void PublishSeasonSkinProperties(TraktUserListItem item) { if (item == null) return; GUICommon.SetProperty("#Trakt.Season.Number", item.SeasonNumber); PublishShowSkinProperties(item); }
private void PublishEpisodeSkinProperties(TraktUserListItem item) { if (item == null || item.Episode == null) return; GUICommon.SetEpisodeProperties(item.Episode); // workaround API not having episode number set // can be removed later when fixed GUICommon.SetProperty("#Trakt.Episode.Number", item.EpisodeNumber); PublishSeasonSkinProperties(item); }
private void MarkItemAsWatched(TraktUserListItem item) { Thread syncThread = new Thread(delegate(object obj) { if (SelectedType == TraktItemType.movie) TraktAPI.TraktAPI.SyncMovieLibrary(CreateMovieSyncData((obj as TraktUserListItem).Movie), TraktSyncModes.seen); else TraktAPI.TraktAPI.SyncEpisodeLibrary(CreateEpisodeSyncData(obj as TraktUserListItem), TraktSyncModes.seen); }) { IsBackground = true, Name = "Mark Item as Watched" }; syncThread.Start(item); }
private TraktEpisodeSync CreateEpisodeSyncData(TraktUserListItem item) { if (item == null) return null; TraktEpisodeSync.Episode syncEpisode = new TraktEpisodeSync.Episode { EpisodeIndex = item.EpisodeNumber.ToString(), SeasonIndex = item.SeasonNumber.ToString() }; TraktEpisodeSync syncData = new TraktEpisodeSync { UserName = TraktSettings.Username, Password = TraktSettings.Password, SeriesID = item.Show.Tvdb, Title = item.Show.Title, Year = item.Year, EpisodeList = new List<TraktEpisodeSync.Episode> { syncEpisode } }; return syncData; }
private void AddItemToWatchList(TraktUserListItem item) { Thread syncThread = new Thread(delegate(object obj) { if (SelectedType == TraktItemType.movie) TraktAPI.TraktAPI.SyncMovieLibrary(CreateMovieSyncData((obj as TraktUserListItem).Movie), TraktSyncModes.watchlist); else if (SelectedType == TraktItemType.show) TraktAPI.TraktAPI.SyncShowWatchList(CreateShowSyncData((obj as TraktUserListItem).Show), TraktSyncModes.watchlist); else TraktAPI.TraktAPI.SyncEpisodeLibrary(CreateEpisodeSyncData(obj as TraktUserListItem), TraktSyncModes.watchlist); }) { IsBackground = true, Name = "Adding Item to Watch List" }; syncThread.Start(item); }
private void ShowTrailersMenu(TraktUserListItem item) { IDialogbox dlg = (IDialogbox)GUIWindowManager.GetWindow((int)GUIWindow.Window.WINDOW_DIALOG_MENU); dlg.Reset(); dlg.SetHeading(Translation.Trailer); foreach (TrailerSite site in Enum.GetValues(typeof(TrailerSite))) { string menuItem = Enum.GetName(typeof(TrailerSite), site); if (SelectedType != TraktItemType.movie && menuItem == "iTunes") continue; GUIListItem pItem = new GUIListItem(menuItem); dlg.Add(pItem); } dlg.DoModal(GUIWindowManager.ActiveWindow); if (dlg.SelectedLabel >= 0) { string siteUtil = string.Empty; string searchParam = string.Empty; switch (dlg.SelectedLabelText) { case ("IMDb"): siteUtil = "IMDb Trailers"; if (!string.IsNullOrEmpty(item.ImdbId)) // Exact search searchParam = item.ImdbId; else searchParam = item.Title; break; case ("iTunes"): siteUtil = "iTunes Movie Trailers"; searchParam = item.Movie.Title; break; case ("YouTube"): siteUtil = "YouTube"; searchParam = item.Title; break; } string loadingParam = string.Format("site:{0}|search:{1}|return:Locked", siteUtil, searchParam); // Launch OnlineVideos Trailer search GUIWindowManager.ActivateWindow((int)ExternalPluginWindows.OnlineVideos, loadingParam); } }