Inheritance: MediaPortal.GUI.Library.GUIListItem
        private void SendListItemsToFacade(TraktUserList list)
        {
            // clear facade
            GUIControl.ClearControl(GetID, Facade.GetID);

            if (list.Items == null || list.Items.Count() == 0)
            {
                GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.NoListItemsFound);
                GUIWindowManager.ShowPreviousWindow();
                return;
            }

            int itemId     = 1;
            var listImages = new List <TraktImage>();

            // Add each list item
            foreach (var listItem in list.Items.Where(l => !string.IsNullOrEmpty(l.Title)))
            {
                // add image for download
                var images = GetTraktImage(listItem);
                listImages.Add(images);

                string itemName = list.ShowNumbers ? string.Format("{0}. {1}", itemId, GetListItemName(listItem)) : GetListItemName(listItem);

                var item = new GUICustomListItem(itemName, (int)TraktGUIWindows.ListItems);

                item.Label2          = listItem.Year;
                item.TVTag           = listItem;
                item.Images          = images;
                item.IsPlayed        = listItem.Watched;
                item.ItemId          = Int32.MaxValue - itemId;
                item.IconImage       = GUIImageHandler.GetDefaultPoster(false);
                item.IconImageBig    = GUIImageHandler.GetDefaultPoster();
                item.ThumbnailImage  = GUIImageHandler.GetDefaultPoster();
                item.OnItemSelected += OnItemSelected;
                Utils.SetDefaultIcons(item);
                Facade.Add(item);
                itemId++;
            }

            // Set Facade Layout
            Facade.SetCurrentLayout(Enum.GetName(typeof(Layout), CurrentLayout));
            GUIControl.FocusControl(GetID, Facade.GetID);

            Facade.SelectIndex(PreviousSelectedIndex);

            // set facade properties
            GUIUtils.SetProperty("#itemcount", list.Items.Count().ToString());
            GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", list.Items.Count().ToString(), list.Items.Count() > 1 ? Translation.Items : Translation.Item));

            // Download images Async and set to facade
            GUICustomListItem.GetImages(listImages);
        }
        private void SendListItemsToFacade(IEnumerable<TraktListItem> listItems)
        {
            // clear facade
            GUIControl.ClearControl(GetID, Facade.GetID);

            if (listItems == null)
            {
                GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral);
                GUIWindowManager.ShowPreviousWindow();
                return;
            }

            CurrentListItems = listItems.ToList();

            if (listItems.Count() == 0)
            {
                GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.NoListItemsFound);
                GUIWindowManager.ShowPreviousWindow();
                return;
            }

            int itemId = 1;
            var listImages = new List<GUITmdbImage>();

            // Add each list item
            foreach (var listItem in listItems)
            {
                // add image for download
                var images = GetTmdbImage(listItem);
                listImages.Add(images);

                string itemName = CurrentList.DisplayNumbers ? string.Format("{0}. {1}", itemId, GetListItemLabel(listItem)) : GetListItemLabel(listItem);

                var item = new GUICustomListItem(itemName, (int)TraktGUIWindows.CustomListItems);

                item.Label2 = GetListItemSecondLabel(listItem);
                item.TVTag = listItem;
                item.Type = (TraktItemType)Enum.Parse(typeof(TraktItemType), listItem.Type, true);
                item.Movie = listItem.Movie;
                item.Show = listItem.Show;
                item.Episode = listItem.Episode;
                item.Season = listItem.Season;
                item.Person = listItem.Person;
                item.Images = images;
                item.IsPlayed = listItem.IsWatched();
                item.ItemId = Int32.MaxValue - itemId;
                item.IconImage = GUIImageHandler.GetDefaultPoster(false);
                item.IconImageBig = GUIImageHandler.GetDefaultPoster();
                item.ThumbnailImage = GUIImageHandler.GetDefaultPoster();
                item.OnItemSelected += OnItemSelected;
                Utils.SetDefaultIcons(item);
                Facade.Add(item);
                itemId++;
            }

            // Set Facade Layout
            Facade.SetCurrentLayout(Enum.GetName(typeof(Layout), CurrentLayout));
            GUIControl.FocusControl(GetID, Facade.GetID);

            Facade.SelectIndex(PreviousSelectedIndex);

            // set facade properties
            GUIUtils.SetProperty("#itemcount", listItems.Count().ToString());
            GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", listItems.Count().ToString(), listItems.Count() > 1 ? Translation.Items : Translation.Item));

            // Download images Async and set to facade
            GUICustomListItem.GetImages(listImages);
        }
        private void SendListItemsToFacade(IEnumerable <TraktListItem> listItems)
        {
            // clear facade
            GUIControl.ClearControl(GetID, Facade.GetID);

            if (listItems == null)
            {
                GUIUtils.ShowNotifyDialog(Translation.Error, Translation.ErrorGeneral);
                GUIWindowManager.ShowPreviousWindow();
                return;
            }

            CurrentListItems = listItems.ToList();

            if (listItems.Count() == 0)
            {
                GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.NoListItemsFound);
                GUIWindowManager.ShowPreviousWindow();
                return;
            }

            int itemId     = 1;
            var listImages = new List <GUITmdbImage>();

            // Add each list item
            foreach (var listItem in listItems)
            {
                // add image for download
                var images = GetTmdbImage(listItem);
                listImages.Add(images);

                string itemName = CurrentList.DisplayNumbers ? string.Format("{0}. {1}", itemId, GetListItemLabel(listItem)) : GetListItemLabel(listItem);

                var item = new GUICustomListItem(itemName, (int)TraktGUIWindows.CustomListItems);

                item.Label2          = GetListItemSecondLabel(listItem);
                item.TVTag           = listItem;
                item.Type            = (TraktItemType)Enum.Parse(typeof(TraktItemType), listItem.Type, true);
                item.Movie           = listItem.Movie;
                item.Show            = listItem.Show;
                item.Episode         = listItem.Episode;
                item.Season          = listItem.Season;
                item.Person          = listItem.Person;
                item.Images          = images;
                item.IsPlayed        = listItem.IsWatched();
                item.ItemId          = Int32.MaxValue - itemId;
                item.IconImage       = GUIImageHandler.GetDefaultPoster(false);
                item.IconImageBig    = GUIImageHandler.GetDefaultPoster();
                item.ThumbnailImage  = GUIImageHandler.GetDefaultPoster();
                item.OnItemSelected += OnItemSelected;
                Utils.SetDefaultIcons(item);
                Facade.Add(item);
                itemId++;
            }

            // Set Facade Layout
            Facade.CurrentLayout = CurrentLayout;
            GUIControl.FocusControl(GetID, Facade.GetID);

            Facade.SelectIndex(PreviousSelectedIndex);

            // set facade properties
            GUIUtils.SetProperty("#itemcount", listItems.Count().ToString());
            GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", listItems.Count().ToString(), listItems.Count() > 1 ? Translation.Items : Translation.Item));

            // Download images Async and set to facade
            GUICustomListItem.GetImages(listImages);
        }
        private void SendRecentCommentsToFacade(IEnumerable <TraktCommentItem> comments)
        {
            // clear facade
            GUIControl.ClearControl(GetID, Facade.GetID);

            // protected profiles might also return null
            if (comments == null || comments.Count() == 0)
            {
                GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.UserHasNoRecentShouts);
                PreviousUser = CurrentUser;
                CurrentUser  = TraktSettings.Username;
                GUIWindowManager.ShowPreviousWindow();
                return;
            }

            int itemId        = 0;
            var commentImages = new List <GUITmdbImage>();

            // Add each item added
            foreach (var comment in comments)
            {
                // bad api data - at least one must not be null
                if (comment.Movie == null && comment.Show == null && comment.List == null)
                {
                    continue;
                }

                // add image for download
                var images = GetTmdbImage(comment);
                commentImages.Add(images);

                var item = new GUICustomListItem(GetCommentItemTitle(comment), (int)TraktGUIWindows.RecentShouts);

                // add user shout date as second label
                item.Label2          = comment.Comment.CreatedAt.ToPrettyDateTime();
                item.TVTag           = comment;
                item.Episode         = comment.Episode;
                item.Show            = comment.Show;
                item.Movie           = comment.Movie;
                item.Season          = comment.Season;
                item.List            = comment.List;
                item.Images          = images;
                item.ItemId          = Int32.MaxValue - itemId;
                item.IconImage       = GUIImageHandler.GetDefaultPoster(false);
                item.IconImageBig    = GUIImageHandler.GetDefaultPoster();
                item.ThumbnailImage  = GUIImageHandler.GetDefaultPoster();
                item.PinImage        = "traktActivityShout.png";
                item.OnItemSelected += OnCommentSelected;
                Utils.SetDefaultIcons(item);
                Facade.Add(item);
                itemId++;
            }

            // set Facade Layout
            Facade.SetCurrentLayout("List");
            GUIControl.FocusControl(GetID, Facade.GetID);

            if (PreviousSelectedIndex >= comments.Count())
            {
                Facade.SelectIndex(PreviousSelectedIndex - 1);
            }
            else
            {
                Facade.SelectIndex(PreviousSelectedIndex);
            }

            // set facade properties
            GUIUtils.SetProperty("#itemcount", comments.Count().ToString());
            GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", comments.Count().ToString(), comments.Count() > 1 ? Translation.Comment : Translation.Comments));

            // Download images Async and set to facade
            GUICustomListItem.GetImages(commentImages);
        }
        private void SendRecentCommentsToFacade(IEnumerable<TraktCommentItem> comments)
        {
            // clear facade
            GUIControl.ClearControl(GetID, Facade.GetID);

            // protected profiles might also return null
            if (comments == null || comments.Count() == 0)
            {
                GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.UserHasNoRecentShouts);
                PreviousUser = CurrentUser;
                CurrentUser = TraktSettings.Username;
                GUIWindowManager.ShowPreviousWindow();
                return;
            }

            int itemId = 0;
            var commentImages = new List<GUITmdbImage>();

            // Add each item added
            foreach (var comment in comments)
            {
                // bad api data - at least one must not be null
                if (comment.Movie == null && comment.Show == null && comment.List == null)
                    continue;

                // add image for download
                var images = GetTmdbImage(comment);
                commentImages.Add(images);

                var item = new GUICustomListItem(GetCommentItemTitle(comment), (int)TraktGUIWindows.RecentShouts);

                // add user shout date as second label
                item.Label2 = comment.Comment.CreatedAt.ToPrettyDateTime();
                item.TVTag = comment;
                item.Episode = comment.Episode;
                item.Show = comment.Show;
                item.Movie = comment.Movie;
                item.Season = comment.Season;
                item.List = comment.List;
                item.Images = images;
                item.ItemId = Int32.MaxValue - itemId;
                item.IconImage = GUIImageHandler.GetDefaultPoster(false);
                item.IconImageBig = GUIImageHandler.GetDefaultPoster();
                item.ThumbnailImage = GUIImageHandler.GetDefaultPoster();
                item.PinImage = "traktActivityShout.png";
                item.OnItemSelected += OnCommentSelected;
                Utils.SetDefaultIcons(item);
                Facade.Add(item);
                itemId++;
            }

            // set Facade Layout
            Facade.SetCurrentLayout("List");
            GUIControl.FocusControl(GetID, Facade.GetID);

            if (PreviousSelectedIndex >= comments.Count())
                Facade.SelectIndex(PreviousSelectedIndex - 1);
            else
                Facade.SelectIndex(PreviousSelectedIndex);

            // set facade properties
            GUIUtils.SetProperty("#itemcount", comments.Count().ToString());
            GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", comments.Count().ToString(), comments.Count() > 1 ? Translation.Comment : Translation.Comments));

            // Download images Async and set to facade
            GUICustomListItem.GetImages(commentImages);
        }
Esempio n. 6
0
        private void SendRecentShoutsToFacade(IEnumerable <TraktActivity.Activity> activities)
        {
            // clear facade
            GUIControl.ClearControl(GetID, Facade.GetID);

            // protected profiles might return null
            if (activities == null || activities.Count() == 0)
            {
                GUIUtils.ShowNotifyDialog(GUIUtils.PluginName(), Translation.UserHasNoRecentShouts);
                PreviousUser = CurrentUser;
                CurrentUser  = TraktSettings.Username;
                GUIWindowManager.ShowPreviousWindow();
                return;
            }

            int itemId      = 0;
            var shoutImages = new List <TraktImage>();

            // Add each item added
            foreach (var activity in activities)
            {
                // bad api data
                if (activity.Movie == null && activity.Show == null)
                {
                    continue;
                }

                var item = new GUICustomListItem(GUICommon.GetActivityListItemTitle(activity), (int)TraktGUIWindows.RecentShouts);

                // add images for download
                var images = new TraktImage
                {
                    ShowImages  = activity.Show != null ? activity.Show.Images : null,
                    MovieImages = activity.Movie != null ? activity.Movie.Images : null
                };
                shoutImages.Add(images);

                // add user shout date as second label
                item.Label2          = activity.Timestamp.FromEpoch().ToShortDateString();
                item.TVTag           = activity;
                item.Images          = images;
                item.ItemId          = Int32.MaxValue - itemId;
                item.IconImage       = GUIImageHandler.GetDefaultPoster(false);
                item.IconImageBig    = GUIImageHandler.GetDefaultPoster();
                item.ThumbnailImage  = GUIImageHandler.GetDefaultPoster();
                item.PinImage        = "traktActivityShout.png";
                item.OnItemSelected += OnShoutSelected;
                Utils.SetDefaultIcons(item);
                Facade.Add(item);
                itemId++;
            }

            // set Facade Layout
            Facade.SetCurrentLayout("List");
            GUIControl.FocusControl(GetID, Facade.GetID);

            if (PreviousSelectedIndex >= activities.Count())
            {
                Facade.SelectIndex(PreviousSelectedIndex - 1);
            }
            else
            {
                Facade.SelectIndex(PreviousSelectedIndex);
            }

            // set facade properties
            GUIUtils.SetProperty("#itemcount", activities.Count().ToString());
            GUIUtils.SetProperty("#Trakt.Items", string.Format("{0} {1}", activities.Count().ToString(), activities.Count() > 1 ? Translation.Shout : Translation.Shouts));

            // Download images Async and set to facade
            GUICustomListItem.GetImages(shoutImages);
        }