コード例 #1
0
 private void LoadInfo()
 {
     if (MainWindow.GlobalSeriesID > 0)
     {
         serMain = ShokoServerHelper.GetSeries(MainWindow.GlobalSeriesID);
         if (serMain != null)
         {
             mainAnime = serMain.Anime;
         }
     }
 }
コード例 #2
0
        private void ShowFanart()
        {
            GUIControl.ClearControl(GetID, m_Facade.GetID);


            VM_AnimeSeries_User ser = ShokoServerHelper.GetSeries(MainWindow.GlobalSeriesID);

            if (ser != null)
            {
                if (ser.CrossRefAniDBTvDBV2 != null && ser.CrossRefAniDBTvDBV2.Count > 0)
                {
                    AnimeID = ser.CrossRefAniDBTvDBV2[0].AnimeID;
                }
            }

            if (ser == null)
            {
                return;
            }

            BaseConfig.MyAnimeLog.Write("ShowFanart for {0}", AnimeID);

            foreach (FanartContainer fanart in ser.Anime.AniDB_AnimeCrossRefs.AllFanarts)
            {
                if (!File.Exists(fanart.FullImagePath))
                {
                    continue;
                }

                GUIListItem item = new GUIListItem();
                item.IconImage       = item.IconImageBig = fanart.FullThumbnailPath;
                item.TVTag           = fanart;
                item.OnItemSelected += onFacadeItemSelected;
                m_Facade.Add(item);
            }

            if (m_Facade.Count > 0)
            {
                m_Facade.SelectedListItemIndex = 0;

                // Work around for Filmstrip not allowing to programmatically select item
                if (m_Facade.CurrentLayout == GUIFacadeControl.Layout.Filmstrip)
                {
                }

                FanartContainer selectedFanart = m_Facade.SelectedListItem.TVTag as FanartContainer;
                if (selectedFanart != null)
                {
                    setFanartPreviewBackground(selectedFanart);
                }

                GUIControl.FocusControl(GetID, 50);
            }
        }
コード例 #3
0
        private void ShowWideBanners()
        {
            GUIControl.ClearControl(this.GetID, m_Facade.GetID);

            VM_AnimeSeries_User ser = ShokoServerHelper.GetSeries(MainWindow.GlobalSeriesID);

            if (ser != null)
            {
                if (ser.CrossRefAniDBTvDBV2 != null && ser.CrossRefAniDBTvDBV2.Count > 0)
                {
                    AnimeID = ser.CrossRefAniDBTvDBV2[0].AnimeID;
                }
            }

            if (ser != null)
            {
                List <VM_TvDB_ImageWideBanner> tvDBWideBanners = ser.Anime.AniDB_AnimeCrossRefs.TvDBImageWideBanners;

                GUIListItem item = null;
                foreach (VM_TvDB_ImageWideBanner banner in tvDBWideBanners)
                {
                    item                 = new GUIListItem();
                    item.IconImage       = item.IconImageBig = banner.FullImagePath;
                    item.TVTag           = banner;
                    item.OnItemSelected += new GUIListItem.ItemSelectedHandler(onFacadeItemSelected);
                    m_Facade.Add(item);
                }


                if (m_Facade.Count > 0)
                {
                    m_Facade.SelectedListItemIndex = 0;
                    VM_TvDB_ImageWideBanner selectedBanner = m_Facade.SelectedListItem.TVTag as VM_TvDB_ImageWideBanner;
                    if (selectedBanner != null)
                    {
                        SetWideBannerProperties(selectedBanner);
                    }

                    GUIControl.FocusControl(GetID, 50);
                }
            }
        }
コード例 #4
0
        private void ShowCharacters()
        {
            GUIControl.ClearControl(GetID, m_Facade.GetID);

            if (dummyMainCharExists != null)
            {
                dummyMainCharExists.Visible = false;
            }
            if (dummyMainActorExists != null)
            {
                dummyMainActorExists.Visible = false;
            }
            if (dummySeriesExists != null)
            {
                dummySeriesExists.Visible = false;
            }

            BaseConfig.MyAnimeLog.Write("CharWindow.GlobalSeriesID = {0}", MainWindow.GlobalSeriesID.ToString());

            charList.Clear();

            if (serMain?.Anime == null)
            {
                ClearGUIProperty(GuiProperty.Title);
                ClearGUIProperty(GuiProperty.Character_Name);
                ClearGUIProperty(GuiProperty.Character_KanjiName);
                ClearGUIProperty(GuiProperty.Actor_Name);
                ClearGUIProperty(GuiProperty.Actor_KanjiName);
                ClearGUIProperty(GuiProperty.Character_CharacterCount);
                return;
            }
            serMain = ShokoServerHelper.GetSeries(MainWindow.GlobalSeriesID);
            if (serMain != null)
            {
                mainAnime = serMain.Anime;
            }
            else
            {
                return;
            }

            if (mainAnime == null)
            {
                return;
            }
            SetGUIProperty(GuiProperty.Character_Main_Title, mainAnime.FormattedTitle);

            charList = mainAnime.Characters;
            if (dummyCharactersExist != null)
            {
                dummyCharactersExist.Visible = charList.Count > 0;
            }
            SetGUIProperty(GuiProperty.Character_CharacterCount, charList.Count.ToString(Globals.Culture));
            SetGUIProperty(GuiProperty.Title, serMain.SeriesName);

            string imagePathNoPicture = GUIGraphicsContext.Skin + @"\Media\MyAnime3\anime3_blankchar.png";

            foreach (CL_AniDB_Character aniChar in charList)
            {
                string imagePath = imagePathNoPicture;
                if (!string.IsNullOrEmpty(aniChar.GetPosterPath()) && File.Exists(aniChar.GetPosterPath()))
                {
                    imagePath = aniChar.GetPosterPath();
                }

                GUIListItem item = new GUIListItem("");
                item.IconImage       = item.IconImageBig = imagePath;
                item.TVTag           = aniChar;
                item.OnItemSelected += onFacadeItemSelected;
                m_Facade.Add(item);
            }

            if (m_Facade.Count > 0)
            {
                m_Facade.SelectedListItemIndex = 0;

                CL_AniDB_Character aniChar = m_Facade.SelectedListItem.TVTag as CL_AniDB_Character;
                if (aniChar != null)
                {
                    SetCharacterProperties(aniChar);
                }
            }
        }
コード例 #5
0
        public List <string> GetParms()
        {
            List <string> parms = new List <string>();

            if (SearchType == DownloadSearchType.Episode)
            {
                VM_AnimeEpisode_User ep = (VM_AnimeEpisode_User)SearchParameter;

                VM_AnimeSeries_User series = ShokoServerHelper.GetSeries(ep.AnimeSeriesID);
                if (series == null)
                {
                    return(parms);
                }

                VM_AniDB_Anime anime = series.Anime;
                if (anime == null)
                {
                    return(parms);
                }

                // only use the first 2 words of the anime's title
                string[] titles = anime.MainTitle.Split(' ');
                int      i      = 0;
                foreach (string s in titles)
                {
                    i++;
                    parms.Add(s.Trim());
                    if (i == 2)
                    {
                        break;
                    }
                }

                parms.Add(ep.EpisodeNumber.ToString().PadLeft(2, '0'));
            }

            if (SearchType == DownloadSearchType.Series)
            {
                VM_AniDB_Anime anime = (VM_AniDB_Anime)SearchParameter;

                // only use the first 2 words of the anime's title
                string[] titles = anime.MainTitle.Split(' ');
                int      i      = 0;
                foreach (string s in titles)
                {
                    i++;
                    parms.Add(s.Trim());
                    if (i == 2)
                    {
                        break;
                    }
                }
            }

            if (SearchType == DownloadSearchType.Manual)
            {
                string[] titles = SearchParameter.ToString().Split(' ');
                foreach (string s in titles)
                {
                    parms.Add(s.Trim());
                }
            }

            return(parms);
        }
コード例 #6
0
        private void ShowPosters()
        {
            GUIControl.ClearControl(this.GetID, m_Facade.GetID);
            List <PosterContainer> allPosters = new List <PosterContainer>();

            string displayname = "";

            VM_AnimeSeries_User ser = ShokoServerHelper.GetSeries(MainWindow.GlobalSeriesID);

            if (ser != null)
            {
                displayname = ser.SeriesName;
                if (ser.CrossRefAniDBTvDBV2 != null && ser.CrossRefAniDBTvDBV2.Count > 0)
                {
                    AnimeID = ser.CrossRefAniDBTvDBV2[0].AnimeID;
                }
            }
            else
            {
                return;
            }
            BaseConfig.MyAnimeLog.Write("ShowPosters for {0} - {1}", displayname, AnimeID);

            foreach (PosterContainer pstr in ser.Anime.AniDB_AnimeCrossRefs.AllPosters)
            {
                if (!File.Exists(pstr.FullImagePath))
                {
                    continue;
                }

                allPosters.Add(pstr);
            }

            GUIListItem item = null;

            foreach (PosterContainer poster in allPosters)
            {
                item                 = new GUIListItem();
                item.IconImage       = item.IconImageBig = poster.FullImagePath;
                item.TVTag           = poster;
                item.OnItemSelected += new GUIListItem.ItemSelectedHandler(onFacadeItemSelected);
                m_Facade.Add(item);
            }

            if (m_Facade.Count > 0)
            {
                m_Facade.SelectedListItemIndex = 0;

                // Work around for Filmstrip not allowing to programmatically select item
                if (m_Facade.CurrentLayout == GUIFacadeControl.Layout.Filmstrip)
                {
                }

                PosterContainer selectedPoster = m_Facade.SelectedListItem.TVTag as PosterContainer;
                if (selectedPoster != null)
                {
                    SetPosterProperties(selectedPoster);
                }

                GUIControl.FocusControl(GetID, 50);
            }
        }