Esempio n. 1
0
        public void Initialize(iMetaLibrary.Metadata.TvEpisodeMeta EpisodeMeta)
        {
            this.EpisodeMeta = EpisodeMeta;

            store.Clear();

            ratingwidget1.Value = (int)EpisodeMeta.Rating;

            txtEpisodeName.Text = EpisodeMeta.Title ?? "";
            txtStudio.Text      = EpisodeMeta.Studio ?? "";
            txtPlot.Buffer.Text = EpisodeMeta.Plot ?? "";
            txtMpaa.Text        = EpisodeMeta.Mpaa;
            txtWriters.Text     = String.Join(", ", EpisodeMeta.Writers ?? new string[] { });
            txtDirectors.Text   = String.Join(", ", EpisodeMeta.Directors ?? new string[] { });
            //ctrlRating.CurrentRating = (int)EpisodeMeta.Rating;
            txtAired.Text           = EpisodeMeta.Aired < new DateTime(1850, 1, 1) ? "": EpisodeMeta.Aired.ToString("yyyy-MM-dd");
            txtPremiered.Text       = EpisodeMeta.Premiered < new DateTime(1850, 1, 1) ? "" : EpisodeMeta.Premiered.ToString("yyyy-MM-dd");
            numEpisode.Value        = EpisodeMeta.Episode.CheckRange((int)numEpisode.Adjustment.Lower, (int)numEpisode.Adjustment.Upper);
            numSeason.Value         = EpisodeMeta.Season.CheckRange((int)numSeason.Adjustment.Lower, (int)numSeason.Adjustment.Upper);
            numDisplayEpisode.Value = EpisodeMeta.DisplayEpisode.CheckRange((int)numDisplayEpisode.Adjustment.Lower, (int)numDisplayEpisode.Adjustment.Upper);
            numDisplaySeason.Value  = EpisodeMeta.DisplaySeason.CheckRange((int)numDisplaySeason.Adjustment.Lower, (int)numDisplaySeason.Adjustment.Upper);
            txtEpisodeStart.Text    = new DateTime(new TimeSpan(0, 0, EpisodeMeta.EpBookmark).Ticks).ToString("HH:mm:ss");

            if (EpisodeMeta.Actors != null)
            {
                foreach (var actor in EpisodeMeta.Actors)
                {
                    store.AddNode(new ActorNode()
                    {
                        Name = actor.Key, Role = actor.Value
                    });
                }
            }
        }
Esempio n. 2
0
        public EpisodesEditorGui(iMetaLibrary.Metadata.TvFileMeta Meta)
        {
            this.Build();

            this.Meta = Meta;

            this.buttonOk.Clicked += HandleButtonOkhandleClicked;

            string tbnFile = Meta.Filename.Substring(0, Meta.Filename.LastIndexOf(".") + 1) + "tbn";

            if (System.IO.File.Exists(tbnFile))
            {
                using (System.Drawing.Image image = System.Drawing.Image.FromFile(tbnFile))
                {
                    imgThumbnail.Pixbuf = GuiHelper.ImageToPixbufIcon(image, 320, 240);
                }
                //UsingTbnFile = true;
            }
            else
            {
                //picThumbnail.Image = Resources.noposter;
            }

            store = new NodeStore(typeof(TvEpisodeNode));

            //List<iMetaLibrary.Metadata.TvEpisodeMeta> episodes = new List<iMetaLibrary.Metadata.TvEpisodeMeta>();
            bool first = true;

            foreach (iMetaLibrary.Metadata.TvEpisodeMeta episode in Meta.Episodes)
            {
                //episodes.Add(episode.Clone());
                iMetaLibrary.Metadata.TvEpisodeMeta epmeta = episode.Clone();
                if (first)
                {
                    episodeEditor.Initialize(epmeta);
                    first = false;
                }
                store.AddNode(new TvEpisodeNode(epmeta));
            }
            nvEpisodeList.NodeStore = store;

            nvEpisodeList.AppendColumn("Episode", new Gtk.CellRendererText(), "text", 0);

            nvEpisodeList.NodeSelection.Changed += delegate(object o, System.EventArgs args) {
                Gtk.NodeSelection selection = (Gtk.NodeSelection)o;
                TvEpisodeNode     node      = (TvEpisodeNode)selection.SelectedNode;
                // check selection hasnt changed
                if (node == SelectedEpisodeNode)
                {
                    return;
                }
                // check if current data in episode editor is valid
                if (!episodeEditor.IsValid())
                {
                    nvEpisodeList.NodeSelection.SelectNode(SelectedEpisodeNode);
                    return;
                }
                else     // if valid saved the data to the meta object
                {
                    episodeEditor.Save();
                    // this reassignment to itself forces the listbox to revalidate it and updates the text in the listbox if change, otherwise it doesnt update
                    //lstEpisodes.Items[SelectedEpisodeIndex] = lstEpisodes.Items[SelectedEpisodeIndex];
                }
                // update selected epsiode index
                SelectedEpisodeNode = node;
                // initialize the newly selected episode data
                episodeEditor.Initialize(node.Meta);
            };
        }
Esempio n. 3
0
 public TvEpisodeNode(iMetaLibrary.Metadata.TvEpisodeMeta Meta)
 {
     this.Meta = Meta;
 }