示例#1
0
        private void FillLanguageList()
        {
            TheTVDB db = this.mDoc.GetTVDB(true, "Preferences-FLL");

            this.cbLanguages.BeginUpdate();
            this.cbLanguages.Items.Clear();

            String pref = "";

            foreach (var kvp in db.LanguageList)
            {
                String name = kvp.Value;
                this.cbLanguages.Items.Add(name);

                if (EnterPreferredLanguage == kvp.Key)
                {
                    pref = kvp.Value;
                }
            }
            this.cbLanguages.EndUpdate();
            this.cbLanguages.Text    = pref;
            this.cbLanguages.Enabled = true;

            db.Unlock("Preferences-FLL");
        }
示例#2
0
        private void BuildData()
        {
            // find actors that have been in more than one thing
            // Dictionary<String^, List<String> ^> ^whoInWhat = gcnew Dictionary<String^, List<String> ^>;
            TheTVDB db = this.mDoc.GetTVDB(true, "Actors");

            this.TheData = new DataArr(db.GetSeriesDict().Count);
            foreach (System.Collections.Generic.KeyValuePair <int, SeriesInfo> ser in db.GetSeriesDict())
            {
                SeriesInfo si     = ser.Value;
                string     actors = si.GetItem("Actors");
                if (!string.IsNullOrEmpty(actors))
                {
                    foreach (string act in actors.Split('|'))
                    {
                        string aa = act.Trim();
                        if (!string.IsNullOrEmpty(aa))
                        {
                            this.TheData.Set(si.Name, aa, true);
                        }
                    }
                }

                if (this.cbGuestStars.Checked)
                {
                    foreach (System.Collections.Generic.KeyValuePair <int, Season> kvp in si.Seasons)
                    {
                        foreach (Episode ep in kvp.Value.Episodes)
                        {
                            string guest = ep.GetItem("GuestStars");

                            if (!string.IsNullOrEmpty(guest))
                            {
                                foreach (string g in guest.Split('|'))
                                {
                                    string aa = g.Trim();
                                    if (!string.IsNullOrEmpty(aa))
                                    {
                                        this.TheData.Set(si.Name, aa, false);
                                    }
                                }
                            }
                        }
                    }
                }
            }

            db.Unlock("Actors");
            this.TheData.RemoveEmpties();
        }
示例#3
0
        private void LoadLanguage()
        {
            TheTVDB db      = this.mDoc.GetTVDB(true, "Preferences-LoadLanguages");
            bool    aborted = false;

            try
            {
                if (!db.Connected)
                {
                    db.Connect();
                }
            }
            catch (ThreadAbortException)
            {
                aborted = true;
            }
            db.Unlock("Preferences-LoadLanguages");
            if (!aborted)
            {
                this.BeginInvoke(LoadLanguageDone);
            }
        }
示例#4
0
        private ShowSummaryData AddShowDetails(ShowItem si)
        {
            TheTVDB db = TheTVDB.Instance;

            db.GetLock("ShowSummary");
            SeriesInfo ser = db.GetSeries(si.TVDBCode);

            ShowSummaryData showSummary = new ShowSummaryData
            {
                ShowName = si.ShowName,
                ShowItem = si
            };

            if (ser != null)
            {
                foreach (int snum in si.DVDOrder? ser.DVDSeasons.Keys: ser.AiredSeasons.Keys)
                {
                    ShowSummaryData.ShowSummarySeasonData seasonData = getSeasonDetails(si, ser, snum);
                    showSummary.AddSeason(seasonData);
                }
            }
            db.Unlock("ShowSummary");
            return(showSummary);
        }
示例#5
0
        private void OKButton_Click(object sender, System.EventArgs e)
        {
            if (!TVSettings.OKExtensionsString(this.txtVideoExtensions.Text))
            {
                MessageBox.Show("Extensions list must be separated by semicolons, and each extension must start with a dot.", "Preferences", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                this.tabControl1.SelectedIndex = 1;
                this.txtVideoExtensions.Focus();
                return;
            }
            if (!TVSettings.OKExtensionsString(this.txtOtherExtensions.Text))
            {
                MessageBox.Show("Extensions list must be separated by semicolons, and each extension must start with a dot.", "Preferences", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                this.tabControl1.SelectedIndex = 1;
                this.txtOtherExtensions.Focus();
                return;
            }
            TVSettings S = this.mDoc.Settings;

            S.Replacements.Clear();
            for (int i = 1; i < this.ReplacementsGrid.RowsCount; i++)
            {
                string from = (string)(this.ReplacementsGrid[i, 0].Value);
                string to   = (string)(this.ReplacementsGrid[i, 1].Value);
                bool   ins  = (bool)(this.ReplacementsGrid[i, 2].Value);
                if (!string.IsNullOrEmpty(from))
                {
                    S.Replacements.Add(new Replacement(from, to, ins));
                }
            }

            S.ExportWTWRSS        = this.cbWTWRSS.Checked;
            S.ExportWTWRSSTo      = this.txtWTWRSS.Text;
            S.ExportWTWXML        = this.cbWTWXML.Checked;
            S.ExportWTWXMLTo      = this.txtWTWXML.Text;
            S.ExportMissingXML    = this.cbMissingXML.Checked;
            S.ExportMissingXMLTo  = this.txtMissingXML.Text;
            S.ExportMissingCSV    = this.cbMissingCSV.Checked;
            S.ExportMissingCSVTo  = this.txtMissingCSV.Text;
            S.ExportRenamingXML   = this.cbRenamingXML.Checked;
            S.ExportRenamingXMLTo = this.txtRenamingXML.Text;
            S.ExportFOXML         = this.cbFOXML.Checked;
            S.ExportFOXMLTo       = this.txtFOXML.Text;

            S.WTWRecentDays           = Convert.ToInt32(this.txtWTWDays.Text);
            S.StartupTab              = this.cbStartupTab.SelectedIndex;
            S.NotificationAreaIcon    = this.cbNotificationIcon.Checked;
            S.VideoExtensionsString   = this.txtVideoExtensions.Text;
            S.OtherExtensionsString   = this.txtOtherExtensions.Text;
            S.ExportRSSMaxDays        = Convert.ToInt32(this.txtExportRSSMaxDays.Text);
            S.ExportRSSMaxShows       = Convert.ToInt32(this.txtExportRSSMaxShows.Text);
            S.ExportRSSDaysPast       = Convert.ToInt32(this.txtExportRSSDaysPast.Text);
            S.KeepTogether            = this.cbKeepTogether.Checked;
            S.LeadingZeroOnSeason     = this.cbLeadingZero.Checked;
            S.ShowInTaskbar           = this.chkShowInTaskbar.Checked;
            S.RenameTxtToSub          = this.cbTxtToSub.Checked;
            S.ShowEpisodePictures     = this.cbShowEpisodePictures.Checked;
            S.AutoSelectShowInMyShows = this.cbAutoSelInMyShows.Checked;
            S.SpecialsFolderName      = this.txtSpecialsFolderName.Text;

            S.ForceLowercaseFilenames = this.cbForceLower.Checked;
            S.IgnoreSamples           = this.cbIgnoreSamples.Checked;

            S.uTorrentPath  = this.txtRSSuTorrentPath.Text;
            S.ResumeDatPath = this.txtUTResumeDatPath.Text;
            S.SABHostPort   = this.txtSABHostPort.Text;
            S.SABAPIKey     = this.txtSABAPIKey.Text;
            S.CheckSABnzbd  = this.cbCheckSABnzbd.Checked;

            S.SearchRSS             = this.cbSearchRSS.Checked;
            S.EpImgs                = this.cbEpImgs.Checked;
            S.NFOs                  = this.cbNFOs.Checked;
            S.pyTivoMeta            = this.cbMeta.Checked;
            S.pyTivoMetaSubFolder   = this.cbMetaSubfolder.Checked;
            S.FolderJpg             = this.cbFolderJpg.Checked;
            S.RenameCheck           = this.cbRenameCheck.Checked;
            S.MissingCheck          = this.cbMissing.Checked;
            S.SearchLocally         = this.cbSearchLocally.Checked;
            S.LeaveOriginals        = this.cbLeaveOriginals.Checked;
            S.CheckuTorrent         = this.cbCheckuTorrent.Checked;
            S.LookForDateInFilename = this.cbLookForAirdate.Checked;
            S.MonitorFolders        = this.cbMonitorFolder.Checked;

            if (this.rbFolderFanArt.Checked)
            {
                S.FolderJpgIs = TVSettings.FolderJpgIsType.FanArt;
            }
            else if (this.rbFolderBanner.Checked)
            {
                S.FolderJpgIs = TVSettings.FolderJpgIsType.Banner;
            }
            else
            {
                S.FolderJpgIs = TVSettings.FolderJpgIsType.Poster;
            }


            TheTVDB db = this.mDoc.GetTVDB(true, "Preferences-OK");

            foreach (var kvp in db.LanguageList)
            {
                if (kvp.Value == cbLanguages.Text)
                {
                    S.PreferredLanguage = kvp.Key;
                    break;
                }
            }
            if (rbWTWScan.Checked)
            {
                S.WTWDoubleClick = TVSettings.WTWDoubleClickAction.Scan;
            }
            else
            {
                S.WTWDoubleClick = TVSettings.WTWDoubleClickAction.Search;
            }

            db.SaveCache();
            db.Unlock("Preferences-OK");

            try
            {
                S.SampleFileMaxSizeMB = int.Parse(this.txtMaxSampleSize.Text);
            }
            catch
            {
                S.SampleFileMaxSizeMB = 50;
            }

            try
            {
                S.ParallelDownloads = int.Parse(this.txtParallelDownloads.Text);
            }
            catch
            {
                S.ParallelDownloads = 4;
            }

            if (S.ParallelDownloads < 1)
            {
                S.ParallelDownloads = 1;
            }
            else if (S.ParallelDownloads > 8)
            {
                S.ParallelDownloads = 8;
            }

            // RSS URLs
            S.RSSURLs.Clear();
            for (int i = 1; i < this.RSSGrid.RowsCount; i++)
            {
                string url = (string)(this.RSSGrid[i, 0].Value);
                if (!string.IsNullOrEmpty(url))
                {
                    S.RSSURLs.Add(url);
                }
            }

            S.ShowStatusColors = new ShowStatusColoringTypeList();
            foreach (ListViewItem item in lvwDefinedColors.Items)
            {
                if (item.SubItems.Count > 1 && !string.IsNullOrEmpty(item.SubItems[1].Text) && item.Tag != null && item.Tag is ShowStatusColoringType)
                {
                    S.ShowStatusColors.Add(item.Tag as ShowStatusColoringType, System.Drawing.ColorTranslator.FromHtml(item.SubItems[1].Text));
                }
            }

            this.mDoc.SetDirty();
            this.DialogResult = DialogResult.OK;
            this.Close();
        }