protected override void OnClicked(int controlId, GUIControl control, Action.ActionType actionType)
{
// wait for any background action to finish
if (GUIBackgroundTask.Instance.IsBusy) return;
switch (controlId)
{
// Facade
case (50):
if (actionType == Action.ActionType.ACTION_SELECT_ITEM)
{
var item = Facade.SelectedListItem as GUIMovieListItem;
if (item == null) return;
if (!item.IsFolder)
{
CheckAndPlayMovie(true);
}
else
{
if (item.IsPrevPageItem)
CurrentPage--;
else
CurrentPage++;
if (CurrentPage == 1)
PreviousSelectedIndex = 0;
else
PreviousSelectedIndex = 1;
// load next / previous page
LoadAnticipatedMovies(CurrentPage);
}
}
break;
// Layout Button
case (2):
CurrentLayout = GUICommon.ShowLayoutMenu(CurrentLayout, PreviousSelectedIndex);
break;
// Sort Button
case (8):
var newSortBy = GUICommon.ShowSortMenu(TraktSettings.SortByAnticipatedMovies);
if (newSortBy != null)
{
if (newSortBy.Field != TraktSettings.SortByAnticipatedMovies.Field)
{
TraktSettings.SortByAnticipatedMovies = newSortBy;
PreviousSelectedIndex = CurrentPage == 1 ? 0 : 1;
UpdateButtonState();
LoadAnticipatedMovies(CurrentPage);
}
}
break;
// Hide Watchlisted
case (10):
PreviousSelectedIndex = CurrentPage == 1 ? 0 : 1;
TraktSettings.AnticipatedMoviesHideWatchlisted = !TraktSettings.AnticipatedMoviesHideWatchlisted;
UpdateButtonState();
LoadAnticipatedMovies(CurrentPage);
break;
default:
break;
}
base.OnClicked(controlId, control, actionType);
}