public PluginForm(string subtitleFileName, string rawText, string videoFileName, string name, string description) { InitializeComponent(); Text = name; labelStatus.Text = string.Empty; _subtitleFileName = subtitleFileName; _rawText = rawText; if (videoFileName != null && File.Exists(videoFileName)) { var videoFileSafeName = Path.GetFileName(videoFileName); textBoxMovieFileName.Text = videoFileSafeName; _videoFileName = videoFileName; } // 720p | 1080p if (Regex.IsMatch(_subtitleFileName, @"\d{3,4}p\b")) { checkBoxHD.Checked = true; } comboBoxFrameRate.SelectedIndex = 0; textBoxSubtitleFileName.Text = Path.GetFileName(subtitleFileName); textBoxReleaseName.Text = Path.GetFileNameWithoutExtension(_subtitleFileName); FillLanguages(rawText); textBoxUserName.Text = string.Empty; textBoxPassword.Text = string.Empty; LoadLogin(); _api = new OpenSubtitlesApi("SubtitleEdit"); string temp = rawText.Replace("[", string.Empty).Replace("]", string.Empty).Replace("(", string.Empty).Replace(")", string.Empty).Replace(": ", string.Empty); if (temp.Length + 18 < rawText.Length) { checkBoxTextForHI.Checked = true; } comboBoxEncoding.Items.Clear(); int encodingSelectedIndex = 0; comboBoxEncoding.Items.Add(Encoding.UTF8.EncodingName); foreach (EncodingInfo ei in Encoding.GetEncodings()) { if (ei.Name != Encoding.UTF8.BodyName && ei.CodePage >= 949 && !ei.DisplayName.Contains("EBCDIC") && ei.CodePage != 1047) { comboBoxEncoding.Items.Add(ei.CodePage + ": " + ei.DisplayName); //if (ei.Name == Configuration.Settings.General.DefaultEncoding) // encodingSelectedIndex = comboBoxEncoding.Items.Count - 1; } } comboBoxEncoding.SelectedIndex = encodingSelectedIndex; }
public ImdbSearch(string title, OpenSubtitlesApi api) { InitializeComponent(); labelStatus.Text = string.Empty; textBoxSearchQuery.Text = title; MethodInvoker = (b) => buttonSearch.Enabled = b; backGroundWoker = new BackgroundWorker(); #region Event Handlers backGroundWoker.DoWork += (s, ev) => { //this.buttonSearch.BeginInvoke(new MethodInvoker(() => buttonSearch.Enabled = false)); Invoke(MethodInvoker, false); var query = ev.Argument as string; ev.Result = api.SearchMoviesOnIMDB(query); }; backGroundWoker.RunWorkerCompleted += (s, ev) => { var dic = ev.Result as Dictionary <string, string>; Invoke(MethodInvoker, true); if (dic == null || dic.Count == 0) { MessageBox.Show("Movie/Tv-Show not found!!!", "Not found!", MessageBoxButtons.OK, MessageBoxIcon.Warning); return; } listViewSearchResults.Items.Clear(); foreach (KeyValuePair <string, string> kvp in dic) { var item = new ListViewItem(kvp.Key); item.SubItems.Add(kvp.Value); listViewSearchResults.Items.Add(item); } labelStatus.Text = "Done searching"; }; #endregion }