示例#1
0
        void setFanartPreviewBackground(DBFanart fanart)
        {
            string fanartInfo = fanart.isAvailableLocally ? Translation.FanArtLocal : Translation.FanArtOnline;
            fanartInfo += Environment.NewLine;

            foreach (KeyValuePair<string, DBField> kv in fanart.m_fields)
            {
                switch (kv.Key)
                {
                    case DBFanart.cResolution:
                        TVSeriesPlugin.setGUIProperty("FanArt.SelectedFanartResolution", kv.Value.Value);
                        break;

                    case DBFanart.cColors:
                        TVSeriesPlugin.setGUIProperty("FanArt.SelectedFanartColors", kv.Value.Value);
                        break;

                    case DBFanart.cChosen:
                        TVSeriesPlugin.setGUIProperty("FanArt.SelectedFanartIsChosen", kv.Value.Value?Translation.Yes:Translation.No);
                        break;

                    case DBFanart.cDisabled:
                        TVSeriesPlugin.setGUIProperty("FanArt.SelectedFanartIsDisabled", kv.Value.Value ? Translation.Yes : Translation.No);
                        break;

                }
                fanartInfo += kv.Key + ": " + kv.Value.Value + Environment.NewLine;
            }

            TVSeriesPlugin.setGUIProperty("FanArt.SelectedFanartInfo", fanartInfo);

            string preview = string.Empty;

            lock (locker)
            {
                if (fanart.isAvailableLocally)
                {
                    // Ensure Fanart on Disk is valid as well
                    if (ImageAllocator.LoadImageFastFromFile(fanart.FullLocalPath) == null)
                    {
                        MPTVSeriesLog.Write("Fanart is invalid, deleting...");
                        fanart.Delete();
                        fanart.Chosen = false;
                        m_Facade.SelectedListItem.Label = Translation.FanArtOnline;
                    }

                    // Should be safe to assign fullsize fanart if available
                    preview = fanart.isAvailableLocally ?
                              ImageAllocator.GetOtherImage(fanart.FullLocalPath, default(System.Drawing.Size), false) :
                              m_Facade.SelectedListItem.IconImageBig;
                }
                else
                    preview = m_Facade.SelectedListItem.IconImageBig;

                TVSeriesPlugin.setGUIProperty("FanArt.SelectedPreview", preview);
            }
        }
示例#2
0
        void downloadFanart(DBFanart fanart)
        {
            // we need to get it, let's queue them up and download in the background
            lock (toDownload)
            {
                toDownload.Enqueue(fanart);
            }
            setDownloadStatus();
            // don't return, user can queue up multiple fanart to download
            // the last he selects to download will be the chosen one by default

            // finally lets check if the downloader is already running, and if not start it
            if (!downloadingWorker.IsBusy)
                downloadingWorker.RunWorkerAsync();
        }