private void TranslatingAllWords() { ProgressBar_Model pb = new ProgressBar_Model(); pb.Text = Tx.T("SubtitleEditor.Messages.Processing.TranslatingWordsOfDictionary"); pb.Minimum = 0; pb.Maximum = Subtitles.Items.Count; pb.Value = pb.Minimum; ViewModelLocator.AddLongTaskProgressBar(pb); int cnt = 0; foreach (SubtitleItem item in Subtitles.Items) { foreach(SubtitleItem.Word wrd in item.WordsCollection) { wrd.Translating(Subtitles.Dictionary); } pb.Value = ++cnt; if (pb.IsCanceled) break; } ViewModelLocator.RemoveLongTaskProgressBar(pb); }
private void SplitOnWords() { ProgressBar_Model pb = new ProgressBar_Model(); pb.Text = Tx.T("SubtitleEditor.Messages.Processing.SplitOnWords"); pb.Minimum = 0; pb.Maximum = Subtitles.Items.Count; pb.Value = pb.Minimum; ViewModelLocator.AddLongTaskProgressBar(pb); int cnt = 0; Subtitles.IsThereDictionary = true; //if (Subtitles.Dictionary == null) Subtitles.Dictionary = new Dictionary(); // create a new words int loccnt = 0; foreach (SubtitleItem item in Subtitles.Items.OrderBy(x=>x.TimeStart)) { if (item.WordsCollection == null) item.WordsCollection = new SynchronizedObservableCollection<SubtitleItem.Word>(); PhraseOfCollectMode phrase = new PhraseOfCollectMode(item); byte idx = 1; foreach (var wrd in phrase.Words) { // removes doubles //if (item.WordsCollection.Any(x => x.word == wrd.word)) continue; item.WordsCollection.Add(new SubtitleItem.Word { word = wrd.word, number = idx, }); idx++; loccnt++; if (loccnt == 50) { EFDbContext.SaveChgs(); loccnt = 0; } } pb.Value = ++cnt; if (pb.IsCanceled) break; } EFDbContext.SaveChgs(); ViewModelLocator.RemoveLongTaskProgressBar(pb); }
private void ApplyAllRules() { ProgressBar_Model pb = new ProgressBar_Model(); pb.Text = Tx.T("SubtitleEditor.Messages.Processing.ApplyAllRules"); pb.Minimum = 0; pb.Maximum = Subtitles.PrimaryLanguage.ProcessingWordsRules.Count; pb.Value = pb.Minimum; ViewModelLocator.AddLongTaskProgressBar(pb); int cnt = 0; foreach (ProcessingWordsRules item in Subtitles.PrimaryLanguage.ProcessingWordsRules) { ApplyRuleToAll(item); pb.Value = ++cnt; if (pb.IsCanceled) break; } ViewModelLocator.RemoveLongTaskProgressBar(pb); }
private void TranslateAllSubtitles() { ProgressBar_Model pb = new ProgressBar_Model(); pb.Text = Tx.T("SubtitleEditor.Messages.Processing.TranslateAllSubtitles"); pb.Minimum = 0; pb.Maximum = Subtitles.PrimaryLanguage.ProcessingWordsRules.Count; pb.Value = pb.Minimum; ViewModelLocator.AddLongTaskProgressBar(pb); int cnt = 0; foreach (var elm in Subtitles.Items) { if (!string.IsNullOrEmpty(elm.Text)) elm.Text2 = Subtitles.PrimaryLanguage.TranslatePhrase(elm.Text); pb.Value = ++cnt; if (pb.IsCanceled) break; } ViewModelLocator.RemoveLongTaskProgressBar(pb); }
private void DeleteWords() { ProgressBar_Model pb = new ProgressBar_Model(); pb.Text = Tx.T("SubtitleEditor.Messages.Processing.DeleteWords"); pb.IsIndeterminate = true; ViewModelLocator.AddLongTaskProgressBar(pb); var delete = Subtitles.Items.Where(item => item.WordsCollection != null).SelectMany(item => item.WordsCollection); EFDbContext.DataBase.SubtitleItem_Words.RemoveRange(delete); ViewModelLocator.RemoveLongTaskProgressBar(pb); }
public static void RemoveLongTaskProgressBar(ProgressBar_Model pb) { BeginInvoke(()=>Instance.AppWnd_VM.LongTasks.Remove(pb)); }
public static void AddLongTaskProgressBar(ProgressBar_Model pb) { BeginInvoke(new Action(()=>Instance.AppWnd_VM.LongTasks.Add(pb))); }