private void SendSearchResultsToFacade(IEnumerable <TraktUser> users)
{
// clear facade
GUIControl.ClearControl(GetID, Facade.GetID);
if (users == null || users.Count() == 0)
{
GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.NoSearchResultsFound);
GUIWindowManager.ShowPreviousWindow();
Users = null;
return;
}
int itemId = 0;
var userImages = new List <TraktImage>();
// Add each user
foreach (var user in users)
{
// add image to download
var images = new TraktImage {
Avatar = user.Avatar
};
userImages.Add(images);
var item = new GUIUserListItem(user.Username, (int)TraktGUIWindows.SearchUsers);
item.Images = images;
item.TVTag = user;
item.ItemId = Int32.MaxValue - itemId;
item.IconImage = "defaultTraktUser.png";
item.IconImageBig = "defaultTraktUserBig.png";
item.ThumbnailImage = "defaultTraktUserBig.png";
item.OnItemSelected += OnUserSelected;
Utils.SetDefaultIcons(item);
Facade.Add(item);
itemId++;
}
// Set Facade Layout
Facade.SetCurrentLayout(Enum.GetName(typeof(Layout), CurrentLayout));
GUIControl.FocusControl(GetID, Facade.GetID);
if (SearchTermChanged)
{
PreviousSelectedIndex = 0;
}
Facade.SelectIndex(PreviousSelectedIndex);
// set facade properties
GUIUtils.SetProperty("#itemcount", users.Count().ToString());
GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", users.Count().ToString(), users.Count() > 1 ? Translation.Users : Translation.User));
// Download images Async and set to facade
GUIUserListItem.GetImages(userImages);
}