Пример #1
0
        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;
        }
Пример #2
0
        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
        }