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);
        }
Exemple #2
0
        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();
        }
Exemple #8
0
 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());
        }
Exemple #10
0
        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;
        }
Exemple #11
0
        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;
        }