void CbSubjectSelectedIndexChanged(object sender, EventArgs e) { if (ignoreLanguageChange) { return; } if (lvProfiles.SelectedItems.Count != 1) { return; } ListViewItem lvi = lvProfiles.SelectedItems[0]; UserTranslateProfile pf = lvi.Tag as UserTranslateProfile; if (pf == null) { return; } SubjectContainer sc = cbSubject.SelectedItem as SubjectContainer; pf.Subject = sc.Subject; lvi.SubItems[2].Text = LangPack.TranslateString(sc.Subject); }
public override object Clone() { UserTranslateProfile result = new UserTranslateProfile(); result.Name = Name; result.Position = Position; result.Subjects.AddRange(Subjects); result.History.AddRange(History); result.SelectedLanguagePair = SelectedLanguagePair; foreach (ServiceItemsSortDataCollection d in SortData) { result.SortData.Add(d); } result.TranslationDirection = TranslationDirection; result.Subject = Subject; foreach (ServiceItemData sid in services) { result.Services.Add(sid); } foreach (ServiceItemData d in DisabledServiceItems) { result.DisabledServiceItems.Add(d); } result.ShowLanguages = ShowLanguages; result.ShowServices = ShowServices; result.ShowSubjects = ShowSubjects; return(result); }
void CbToSelectedIndexChanged(object sender, EventArgs e) { if (ignoreLanguageChange) { return; } if (lvProfiles.SelectedItems.Count != 1) { return; } ListViewItem lvi = lvProfiles.SelectedItems[0]; UserTranslateProfile pf = lvi.Tag as UserTranslateProfile; if (pf == null) { return; } LanguageDataContainer ld = cbTo.SelectedItem as LanguageDataContainer; pf.TranslationDirection.To = ld.Language; lvi.SubItems[1].Text = (LangPack.TranslateLanguage(pf.TranslationDirection.From) + " -> " + LangPack.TranslateLanguage(pf.TranslationDirection.To) ); }
void BChangeNameClick(object sender, EventArgs e) { ListViewItem lvi = lvProfiles.SelectedItems[0]; UserTranslateProfile pf = lvi.Tag as UserTranslateProfile; string oldName = pf.Name; SetProfileNameForm nameForm = new SetProfileNameForm(pf as UserTranslateProfile, profiles); DialogResult dr = nameForm.ShowDialog(FindForm()); nameForm.Dispose(); if (dr == DialogResult.Cancel) { pf.Name = oldName; return; } else { profilesHistory.RenameProfile(oldName, pf.Name); } lvi.Text = pf.Name; lProfileName.Text = pf.Name; lvi.SubItems[1].Text = (LangPack.TranslateLanguage(pf.TranslationDirection.From) + " -> " + LangPack.TranslateLanguage(pf.TranslationDirection.To) ); lvi.SubItems[2].Text = LangPack.TranslateString(pf.Subject); LvProfilesSelectedIndexChanged(lvProfiles, new EventArgs()); }
void OnLanguageChanged() { aMoveProfileUp.Hint = TranslateString("Move profile up"); aMoveProfileDown.Hint = TranslateString("Move profile down"); chName.Text = TranslateString("Name"); chDirection.Text = TranslateString("Translation direction"); chSubject.Text = TranslateString("Subject"); lName.Text = TranslateString("Name"); cbIncludeMonolingualDictionaryInTranslation.Text = TranslateString("Include monolingual dictionaries in translation"); aAddProfile.Hint = TranslateString("Add new user profile"); aRemoveProfile.Hint = TranslateString("Remove user profile"); tpDefaultOptions.Text = TranslateString("Options"); tpOptions.Text = TranslateString("Options"); tpServices.Text = TranslateString("Services"); bChangeName.Text = TranslateString("Set profile properties"); lLangPair.Text = TranslateString("Translation direction"); lSubject.Text = TranslateString("Subject"); aEditServices.Hint = TranslateString("Edit services"); aRemoveService.Hint = TranslateString("Remove service"); aMoveServiceUp.Hint = TranslateString("Move service up"); aMoveServiceDown.Hint = TranslateString("Move service down"); tpLanguageSelector.Text = TranslateString("View"); cbShowServices.Text = TranslateString("Show services list"); cbShowLanguages.Text = TranslateString("Show languages list"); cbShowSubjects.Text = TranslateString("Show subjects list"); bLanguageFilter.Text = TranslateString("Filter of languages"); foreach (ListViewItem lvi in lvProfiles.Items) { if (lvi.Tag == defaultProfile) { lvi.Text = TranslateString(TranslateOptions.Instance.DefaultProfile.Name); } else { UserTranslateProfile pf = lvi.Tag as UserTranslateProfile; if (pf != null) { lvi.SubItems[1].Text = (LangPack.TranslateLanguage(pf.TranslationDirection.From) + " -> " + LangPack.TranslateLanguage(pf.TranslationDirection.To) ); lvi.SubItems[2].Text = LangPack.TranslateString(pf.Subject); } } } chDirection.Width = -2; chSubject.Width = -2; InitUserProfileControls(); }
void CbShowSubjectsCheckedChanged(object sender, EventArgs e) { if (ignoreLanguageChange) { return; } ListViewItem lvi = lvProfiles.SelectedItems[0]; UserTranslateProfile pf = lvi.Tag as UserTranslateProfile; pf.ShowSubjects = cbShowSubjects.Checked; changed = true; }
void AEditServicesExecute(object sender, EventArgs e) { ListViewItem lvi = lvProfiles.SelectedItems[0]; UserTranslateProfile pf = lvi.Tag as UserTranslateProfile; CustomProfileServicesForm form = new CustomProfileServicesForm(pf); if (form.ShowDialog(this) == DialogResult.OK) { lvServices.Services = (pf as UserTranslateProfile).Services; pf.History.Clear(); } form.Dispose(); }
public override void OnSave() { base.OnSave(); defaultProfile.BeforeSave(); userProfiles.Clear(); for (int i = 0; i < profiles.Count; i++) { profiles[i].Position = i; UserTranslateProfile pf = profiles[i] as UserTranslateProfile; if (pf != null) { userProfiles.Add(pf); } } currentProfileName = currentProfile.Name; }
void AAddProfileExecute(object sender, EventArgs e) { UserTranslateProfile pf = new UserTranslateProfile(); SetProfileNameForm nameForm = new SetProfileNameForm(pf, profiles); DialogResult dr = nameForm.ShowDialog(FindForm()); nameForm.Dispose(); if (dr == DialogResult.Cancel) { return; } profiles.Add(pf); ListViewItem lvi = new ListViewItem(); lvi.Text = pf.Name; lvi.Tag = pf; lvi.SubItems.Add(LangPack.TranslateLanguage(pf.TranslationDirection.From) + " -> " + LangPack.TranslateLanguage(pf.TranslationDirection.To) ); lvi.SubItems.Add(LangPack.TranslateString(pf.Subject)); lvProfiles.Items.Add(lvi); lvProfiles.Focus(); foreach (ListViewItem lv in lvProfiles.SelectedItems) { lv.Selected = false; lv.Focused = false; } lvi.Selected = true; lvi.Focused = true; AEditServicesExecute(this, new EventArgs()); }
public SetProfileNameForm(UserTranslateProfile profile, TranslateProfilesCollection profiles) { InitializeComponent(); RegisterLanguageEvent(OnLanguageChanged); this.profile = profile; this.profiles = profiles; cbFrom.Items.Clear(); cbTo.Items.Clear(); for (int i = 0; i < (int)Language.Last; i++) { LanguageDataContainer ld = new LanguageDataContainer((Language)i, LangPack.TranslateLanguage((Language)i)); cbFrom.Items.Add(ld); cbTo.Items.Add(ld); } cbFrom.SelectedIndex = 0; cbTo.SelectedIndex = 0; foreach (string subject in Manager.Subjects) { SubjectContainer sc = new SubjectContainer(subject, LangPack.TranslateString(subject)); cbSubject.Items.Add(sc); } SubjectContainer sc1 = new SubjectContainer(SubjectConstants.Any, LangPack.TranslateString(SubjectConstants.Any)); cbSubject.Items.Add(sc1); cbSubject.SelectedIndex = 0; for (int i = 0; i < cbFrom.Items.Count; i++) { LanguageDataContainer ld = cbFrom.Items[i] as LanguageDataContainer; if (ld.Language == profile.TranslationDirection.From) { cbFrom.SelectedItem = ld; } if (ld.Language == profile.TranslationDirection.To) { cbTo.SelectedItem = ld; } } for (int i = 0; i < cbSubject.Items.Count; i++) { SubjectContainer sc = cbSubject.Items[i] as SubjectContainer; if (profile.Subject == sc.Subject) { cbSubject.SelectedItem = sc; break; } } if (!string.IsNullOrEmpty(profile.Name)) { tbName.Text = profile.Name; } else { tbName.Text = GetNewProfileName(); } initialized = true; }
public CustomProfileServicesForm(UserTranslateProfile profile) { InitializeComponent(); RegisterLanguageEvent(OnLanguageChanged); this.profile = profile; ServiceItemsDataCollection services = new ServiceItemsDataCollection(); foreach (ServiceItemData sid in profile.Services) { services.Add(sid); } lvCurrent.Services = services; cbFrom.Items.Clear(); cbTo.Items.Clear(); for (int i = 0; i < (int)Language.Last; i++) { LanguageDataContainer ld = new LanguageDataContainer((Language)i, LangPack.TranslateLanguage((Language)i)); cbFrom.Items.Add(ld); cbTo.Items.Add(ld); } cbFrom.SelectedIndex = 0; cbTo.SelectedIndex = 0; //cbSubject foreach (string subject in Manager.Subjects) { SubjectContainer sc = new SubjectContainer(subject, LangPack.TranslateString(subject)); cbSubject.Items.Add(sc); } SubjectContainer sc1 = new SubjectContainer(SubjectConstants.Any, "+" + LangPack.TranslateString(SubjectConstants.Any)); cbSubject.Items.Add(sc1); cbSubject.SelectedIndex = 0; for (int i = 0; i < cbFrom.Items.Count; i++) { LanguageDataContainer ld = cbFrom.Items[i] as LanguageDataContainer; if (ld.Language == profile.TranslationDirection.From) { cbFrom.SelectedItem = ld; } if (ld.Language == profile.TranslationDirection.To) { cbTo.SelectedItem = ld; } } for (int i = 0; i < cbSubject.Items.Count; i++) { SubjectContainer sc = cbSubject.Items[i] as SubjectContainer; if (profile.Subject == sc.Subject) { cbSubject.SelectedItem = sc; break; } } serviceStatusSource.Visible = false; serviceStatusCurrent.Visible = false; initialized = true; CbFromSelectedIndexChanged(null, new EventArgs()); }
void LvProfilesSelectedIndexChanged(object sender, EventArgs e) { aEditServices.Enabled = false; if (lvProfiles.SelectedItems.Count == 0) { return; } TranslateProfile pf = lvProfiles.SelectedItems[0].Tag as TranslateProfile; UserTranslateProfile upf = pf as UserTranslateProfile; if (pf == defaultProfile) { if (!tcOptions.TabPages.Contains(tpDefaultOptions)) { tcOptions.TabPages.Add(tpDefaultOptions); } tcOptions.TabPages.Remove(tpOptions); tcOptions.TabPages.Remove(tpServices); tcOptions.TabPages.Remove(tpLanguageSelector); } else if (upf != null) { if (!tcOptions.TabPages.Contains(tpServices)) { tcOptions.TabPages.Add(tpServices); } if (!tcOptions.TabPages.Contains(tpOptions)) { tcOptions.TabPages.Add(tpOptions); } if (!tcOptions.TabPages.Contains(tpLanguageSelector)) { tcOptions.TabPages.Add(tpLanguageSelector); } tcOptions.TabPages.Remove(tpDefaultOptions); lProfileName.Text = pf.Name; lvServices.Services = upf.Services; } aEditServices.Enabled = pf != defaultProfile; if (upf != null) { ignoreLanguageChange = true; for (int i = 0; i < cbFrom.Items.Count; i++) { LanguageDataContainer ld = cbFrom.Items[i] as LanguageDataContainer; if (ld.Language == upf.TranslationDirection.From) { cbFrom.SelectedItem = ld; } if (ld.Language == upf.TranslationDirection.To) { cbTo.SelectedItem = ld; } } for (int i = 0; i < cbSubject.Items.Count; i++) { SubjectContainer sc = cbSubject.Items[i] as SubjectContainer; if (upf.Subject == sc.Subject) { cbSubject.SelectedItem = sc; break; } } cbShowServices.Checked = upf.ShowServices; cbShowSubjects.Checked = upf.ShowSubjects; cbShowLanguages.Checked = upf.ShowLanguages; ignoreLanguageChange = false; } }
public override void Init() { defaultProfile = (DefaultTranslateProfile)TranslateOptions.Instance.DefaultProfile.Clone(); cbIncludeMonolingualDictionaryInTranslation.Checked = defaultProfile.IncludeMonolingualDictionaryInTranslation; currentProfileName = TranslateOptions.Instance.CurrentProfile.Name; profiles.Clear(); foreach (TranslateProfile pf in TranslateOptions.Instance.Profiles) { if (pf == TranslateOptions.Instance.DefaultProfile) { profiles.Add(defaultProfile); } else { profiles.Add((TranslateProfile)pf.Clone()); } } profilesHistory.Clear(); foreach (ProfilesHistoryData phd in TranslateOptions.Instance.ProfilesHistory) { profilesHistory.Add((ProfilesHistoryData)phd.Clone()); } lvProfiles.Items.Clear(); foreach (TranslateProfile pf in profiles) { ListViewItem lvi = new ListViewItem(); if (pf == defaultProfile) { lvi.Text = TranslateString(pf.Name); } else { lvi.Text = pf.Name; } lvi.Tag = pf; UserTranslateProfile upf = pf as UserTranslateProfile; if (upf != null) { lvi.SubItems.Add(LangPack.TranslateLanguage(upf.TranslationDirection.From) + " -> " + LangPack.TranslateLanguage(upf.TranslationDirection.To) ); lvi.SubItems.Add(LangPack.TranslateString(upf.Subject)); } else { lvi.SubItems.Add(""); lvi.SubItems.Add(""); } lvProfiles.Items.Add(lvi); } lvProfiles.Focus(); lvProfiles.Items[0].Selected = true; lvProfiles.Items[0].Focused = true; InitUserProfileControls(); chDirection.Width = -2; chSubject.Width = -2; }