IseConfig.Instance.ReadIseConfig();
LanguageManager.Instance.SetEnabledLanguages(IseConfig.Instance.EnabledLanguages);
- LanguageInfo currentLanguage = LanguageManager.Instance.GetLanguageInfo(LanguageManager.Instance.GetCurrentLanguage());
+ LanguageInfo currentLanguage = LanguageManager.Instance.GetLanguageInfo(IseConfig.Instance.SelectedLanguage);
SCLNUI SclNui = new SCLNUI(navigator, DirectoryInfo.Resource + "main_entry.xml");
+ SclNui.SetUpdatePending(true);
SclNui.SetInputMode(currentLanguage.SelectedInputMode);
SclNui.SetCurrentSublayout("DEFAULT");
SclNui.SetStringSubstitution("_LANGUAGE_", currentLanguage.DisplayName);
[DllImport(Libraries.SclNui, EntryPoint = "scl_nui_fini")]
internal static extern int SclNuiFini();
+ [DllImport(Libraries.SclNui, EntryPoint = "scl_nui_get_input_mode")]
+ internal static extern int SclNuiGetInputMode(out IntPtr mode);
+
[DllImport(Libraries.SclNui, EntryPoint = "scl_nui_set_input_mode")]
internal static extern int SclNuiSetInputMode(string mode);
navigator.Push(keyboardSettingPage);
}
- if (eventInfo.keyValue.Equals("Space") && afterPositionX != 0 && Math.Abs(beforePositionX - afterPositionX) > 100)
+ IntPtr inputMode;
+ SclNuiGetInputMode(out inputMode);
+ string mode = Marshal.PtrToStringAnsi(inputMode);
+ if (eventInfo.keyValue.Equals("Space") && afterPositionX != 0 && Math.Abs(beforePositionX - afterPositionX) > 100 && !mode.Equals("SYM_QTY_1"))
{
navigator.Pop();
SCLNUI SclNui = new SCLNUI(navigator, Application.Current.DirectoryInfo.Resource + "main_entry.xml");
+ SclNui.SetUpdatePending(true);
LanguageInfo nextLanguage = beforePositionX < afterPositionX ? LanguageManager.Instance.GetNextLanguage() : LanguageManager.Instance.GetPreviousLanguage();
LanguageManager.Instance.SelectLanguage(nextLanguage);
+ IseConfig.Instance.SelectedLanguage = nextLanguage.Name;
+ IseConfig.Instance.WriteIseConfig();
SclNui.SetInputMode(nextLanguage.SelectedInputMode);
SclNui.SetCurrentSublayout("DEFAULT");
SclNui.SetStringSubstitution("_LANGUAGE_", nextLanguage.DisplayName);
navigator.Push(SclNui);
}
- beforePositionX = 0;
+ if (eventInfo.keyValue.Equals("CUR_LANG"))
+ {
+ this.SetUpdatePending(true);
+ LanguageInfo currentLanguage = LanguageManager.Instance.GetLanguageInfo(LanguageManager.Instance.GetCurrentLanguage());
+ this.SetInputMode(currentLanguage.SelectedInputMode);
+ this.SetCurrentSublayout("DEFAULT");
+ this.SetStringSubstitution("_LANGUAGE_", currentLanguage.DisplayName);
+ this.SetUpdatePending(false);
+ }
+
+ beforePositionX = 0;
afterPositionX = 0;
Marshal.FreeHGlobal(pnt);
enableLanguages.Remove(e.Name);
LanguageManager.Instance.SetEnabledLanguages(enableLanguages);
IseConfig.Instance.EnabledLanguages = enableLanguages;
+ IseConfig.Instance.SelectedLanguage = nextLanguage.Name;
IseConfig.Instance.WriteIseConfig();
}
else
navigator.Pop();
LanguageInfo currentLanguage = LanguageManager.Instance.GetLanguageInfo(LanguageManager.Instance.GetCurrentLanguage());
SCLNUI SclNui = new SCLNUI(navigator, Application.Current.DirectoryInfo.Resource + "main_entry.xml");
+ SclNui.SetUpdatePending(true);
SclNui.SetInputMode(currentLanguage.SelectedInputMode);
SclNui.SetCurrentSublayout("DEFAULT");
SclNui.SetStringSubstitution("_LANGUAGE_", currentLanguage.DisplayName);