private void SendFollowerRequestsToFacade(IEnumerable<TraktFollowerRequest> requests)
{
// clear facade
GUIControl.ClearControl(GetID, Facade.GetID);
ClearProperties();
if (requests == null)
{
GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral);
GUIWindowManager.ActivateWindow(GUIWindowManager.GetPreviousActiveWindow());
return;
}
int followerReqCount = requests.Count();
GUIUtils.SetProperty("#itemcount", followerReqCount.ToString());
GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", followerReqCount.ToString(), followerReqCount > 1 ? Translation.FollowerRequest : Translation.FollowerRequests));
if (followerReqCount == 0)
{
GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.NoFollowerReqTaunt);
if (viewButton != null)
{
// let user select another view since there is nothing to show here
GUIControl.FocusControl(GetID, viewButton.GetID);
}
else
{
GUIWindowManager.ShowPreviousWindow();
}
return;
}
int id = 0;
var userImages = new List<GUITraktImage>();
// Add each user to the list
foreach (var request in requests.OrderBy(r => r.RequestedAt.FromISO8601()))
{
// add image to download
var images = new GUITraktImage { UserImages = request.User.Images };
userImages.Add(images);
var userItem = new GUIUserListItem(request.User.Username, (int)TraktGUIWindows.Network);
userItem.Label2 = request.RequestedAt.FromISO8601().ToShortDateString();
userItem.Images = images;
userItem.TVTag = request;
userItem.User = request.User;
userItem.ItemId = id++;
userItem.IsFollowerRequest = true;
userItem.IconImage = "defaultTraktUser.png";
userItem.IconImageBig = "defaultTraktUserBig.png";
userItem.ThumbnailImage = "defaultTraktUserBig.png";
userItem.OnItemSelected += OnUserSelected;
Utils.SetDefaultIcons(userItem);
Facade.Add(userItem);
}
// restore previous selection
if (Facade.Count <= PreviousUserSelectedIndex)
Facade.SelectedListItemIndex = 0;
else
Facade.SelectedListItemIndex = PreviousUserSelectedIndex;
// Set Facade Layout
Facade.SetCurrentLayout("List");
GUIControl.FocusControl(GetID, Facade.GetID);
// Download avatars Async and set to facade
GUIUserListItem.GetImages(userImages);
}