internal static void CreateMoviesContextMenu(ref IDialogbox dlg, TraktMovie movie, bool dashboard)
{
GUIListItem listItem = null;
// Mark As Watched
if (!movie.IsWatched())
{
listItem = new GUIListItem(Translation.MarkAsWatched);
dlg.Add(listItem);
listItem.ItemId = (int)MediaContextMenuItem.MarkAsWatched;
}
// Mark As UnWatched
if (movie.IsWatched())
{
listItem = new GUIListItem(Translation.MarkAsUnWatched);
dlg.Add(listItem);
listItem.ItemId = (int)MediaContextMenuItem.MarkAsUnWatched;
}
// Add/Remove Watchlist
if (!movie.IsWatchlisted())
{
listItem = new GUIListItem(Translation.AddToWatchList);
dlg.Add(listItem);
listItem.ItemId = (int)MediaContextMenuItem.AddToWatchList;
}
else
{
listItem = new GUIListItem(Translation.RemoveFromWatchList);
dlg.Add(listItem);
listItem.ItemId = (int)MediaContextMenuItem.RemoveFromWatchList;
}
// Add to Custom list
listItem = new GUIListItem(Translation.AddToList);
dlg.Add(listItem);
listItem.ItemId = (int)MediaContextMenuItem.AddToList;
// Add to Library
// Don't allow if it will be removed again on next sync
// movie could be part of a DVD collection
if (!movie.IsCollected() && !TraktSettings.KeepTraktLibraryClean)
{
listItem = new GUIListItem(Translation.AddToLibrary);
dlg.Add(listItem);
listItem.ItemId = (int)MediaContextMenuItem.AddToLibrary;
}
if (movie.IsCollected())
{
listItem = new GUIListItem(Translation.RemoveFromLibrary);
dlg.Add(listItem);
listItem.ItemId = (int)MediaContextMenuItem.RemoveFromLibrary;
}
// Filters
if (TraktSettings.FilterTrendingOnDashboard || !dashboard)
{
listItem = new GUIListItem(Translation.Filters + "...");
dlg.Add(listItem);
listItem.ItemId = (int)MediaContextMenuItem.Filters;
}
// Rate Movie
listItem = new GUIListItem(Translation.RateMovie);
dlg.Add(listItem);
listItem.ItemId = (int)MediaContextMenuItem.Rate;
// Related Movies
listItem = new GUIListItem(Translation.RelatedMovies);
dlg.Add(listItem);
listItem.ItemId = (int)MediaContextMenuItem.Related;
// Shouts
listItem = new GUIListItem(Translation.Comments);
dlg.Add(listItem);
listItem.ItemId = (int)MediaContextMenuItem.Shouts;
// Cast & Crew
listItem = new GUIListItem(Translation.Cast);
dlg.Add(listItem);
listItem.ItemId = (int)MediaContextMenuItem.Cast;
listItem = new GUIListItem(Translation.Crew);
dlg.Add(listItem);
listItem.ItemId = (int)MediaContextMenuItem.Crew;
// Trailers
if (TraktHelper.IsTrailersAvailableAndEnabled)
{
listItem = new GUIListItem(Translation.Trailers);
dlg.Add(listItem);
listItem.ItemId = (int)MediaContextMenuItem.Trailers;
}
// Change Layout
if (!dashboard)
{
listItem = new GUIListItem(Translation.ChangeLayout);
dlg.Add(listItem);
listItem.ItemId = (int)MediaContextMenuItem.ChangeLayout;
}
if (!movie.IsCollected() && TraktHelper.IsMpNZBAvailableAndEnabled)
{
// Search for movie with mpNZB
listItem = new GUIListItem(Translation.SearchWithMpNZB);
dlg.Add(listItem);
listItem.ItemId = (int)MediaContextMenuItem.SearchWithMpNZB;
}
if (!movie.IsCollected() && TraktHelper.IsMyTorrentsAvailableAndEnabled)
{
// Search for movie with MyTorrents
listItem = new GUIListItem(Translation.SearchTorrent);
dlg.Add(listItem);
listItem.ItemId = (int)MediaContextMenuItem.SearchTorrent;
}
}