示例#1
0
        private void LoadLanguages()
        {
            string[] languages = GUILocalizeStrings.SupportedLanguages();
            foreach (string language in languages)
            {
                languageComboBox.Items.Add(language);
            }

            languageComboBox.Text = GUILocalizeStrings.LocalSupported();
        }
示例#2
0
        protected override void OnClicked(int controlId, GUIControl control, Action.ActionType actionType)
        {
            if (control == _btnSkin)
            {
                var dlg = (GUIDialogMenu)GUIWindowManager.GetWindow((int)Window.WINDOW_DIALOG_MENU);
                if (dlg == null)
                {
                    return;
                }
                dlg.Reset();
                dlg.SetHeading(166); // menu

                IEnumerable <string> installedSkins = GetInstalledSkins();

                foreach (string skin in installedSkins)
                {
                    dlg.Add(skin);
                }

                dlg.SelectedLabel = _btnSkin.SelectedItem;
                dlg.DoModal(GetID);

                if (dlg.SelectedId == -1)
                {
                    return;
                }

                if (String.Compare(dlg.SelectedLabelText, _btnSkin.Label, StringComparison.OrdinalIgnoreCase) != 0)
                {
                    _btnSkin.Label = dlg.SelectedLabelText;

                    // prevent MP from rendering when resource are disposed during live changing of a skin
                    lock (GUIGraphicsContext.RenderLock)
                    {
                        OnSkinChanged();
                    }
                }

                return;
            }
            if (control == _btnLanguage)
            {
                var dlg = (GUIDialogMenu)GUIWindowManager.GetWindow((int)Window.WINDOW_DIALOG_MENU);

                if (dlg == null)
                {
                    return;
                }

                dlg.Reset();
                dlg.SetHeading(248); // menu
                string[] languages = GUILocalizeStrings.SupportedLanguages();

                foreach (string lang in languages)
                {
                    dlg.Add(lang);
                }

                string currentLanguage = _btnLanguage.Label;
                dlg.SelectedLabel = 0;

                for (int i = 0; i < languages.Length; i++)
                {
                    if (languages[i].ToLowerInvariant() == currentLanguage.ToLowerInvariant())
                    {
                        dlg.SelectedLabel = i;
                        break;
                    }
                }

                dlg.DoModal(GetID);

                if (dlg.SelectedId == -1)
                {
                    return;
                }

                if (String.Compare(dlg.SelectedLabelText, _btnLanguage.Label, StringComparison.OrdinalIgnoreCase) != 0)
                {
                    _btnLanguage.Label = dlg.SelectedLabelText;
                    OnLanguageChanged();
                }

                return;
            }
            if (control == _btnLanguagePrefix)
            {
                SettingsChanged(true);
            }

            base.OnClicked(controlId, control, actionType);
        }
示例#3
0
        protected override void OnClicked(int controlId, GUIControl control, Action.ActionType actionType)
        {
            if (control == btnSkin)
            {
                GUIDialogMenu dlg = (GUIDialogMenu)GUIWindowManager.GetWindow((int)Window.WINDOW_DIALOG_MENU);
                if (dlg == null)
                {
                    return;
                }
                dlg.Reset();
                dlg.SetHeading(166); // menu

                List <string> installedSkins = new List <string>();
                installedSkins = GetInstalledSkins();

                foreach (string skin in installedSkins)
                {
                    dlg.Add(skin);
                }
                dlg.SelectedLabel = btnSkin.SelectedItem;
                dlg.DoModal(GetID);
                if (dlg.SelectedId == -1)
                {
                    return;
                }
                if (String.Compare(dlg.SelectedLabelText, btnSkin.Label, true) != 0)
                {
                    btnSkin.Label = dlg.SelectedLabelText;
                    OnSkinChanged();
                }
                return;
            }
            if (control == btnLanguage)
            {
                GUIDialogMenu dlg = (GUIDialogMenu)GUIWindowManager.GetWindow((int)Window.WINDOW_DIALOG_MENU);
                if (dlg == null)
                {
                    return;
                }
                dlg.Reset();
                dlg.SetHeading(248); // menu
                string[] languages = GUILocalizeStrings.SupportedLanguages();
                foreach (string lang in languages)
                {
                    dlg.Add(lang);
                }
                string currentLanguage = btnLanguage.Label;
                dlg.SelectedLabel = 0;
                for (int i = 0; i < languages.Length; i++)
                {
                    if (languages[i].ToLower() == currentLanguage.ToLower())
                    {
                        dlg.SelectedLabel = i;
                        break;
                    }
                }
                dlg.DoModal(GetID);
                if (dlg.SelectedId == -1)
                {
                    return;
                }
                if (String.Compare(dlg.SelectedLabelText, btnLanguage.Label, true) != 0)
                {
                    btnLanguage.Label = dlg.SelectedLabelText;
                    OnLanguageChanged();
                }
                return;
            }
            base.OnClicked(controlId, control, actionType);
        }