Пример #1
0
        void AAddProfileExecute(object sender, EventArgs e)
        {
            UserTranslateProfile pf = new UserTranslateProfile();

            SetProfileNameForm nameForm = new SetProfileNameForm(pf, TranslateOptions.Instance.Profiles);
            DialogResult dr = nameForm.ShowDialog(FindForm());
            nameForm.Dispose();
            if(dr == DialogResult.Cancel)
                return;

            CustomProfileServicesForm form = new CustomProfileServicesForm(pf);
            form.ShowDialog(this);
            form.Dispose();

            TranslateOptions.Instance.Profiles.Add(pf);
            TranslateOptions.Instance.CurrentProfile = pf;

            pf.Subjects.AddRange(pf.GetSupportedSubjects());

            UpdateProfiles();
        }
Пример #2
0
        string GetProfileName(UserTranslateProfile profile)
        {
            string nameBase = "";
            nameBase += profile.Name;
            nameBase += " ( ";

            nameBase += LangPack.TranslateLanguage(profile.TranslationDirection.From);

            nameBase += "->";

            nameBase += LangPack.TranslateLanguage(profile.TranslationDirection.To);

            if(profile.Subject != SubjectConstants.Any && profile.Subject != SubjectConstants.Common)
                nameBase += "->" + LangPack.TranslateString(profile.Subject);

            nameBase += " )";
            return nameBase;
        }
        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 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());
        }
Пример #5
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;
        }