From a1159df009777e1edd5847c9b384d42fda8edbbc Mon Sep 17 00:00:00 2001 From: Sungmin Kwak Date: Wed, 5 Sep 2012 21:58:32 +0900 Subject: [PATCH] Keyboard mode change happens after going to language settings --- debian/changelog | 8 ++ packaging/ise-default.spec | 2 +- src/ise.cpp | 148 +++++++++++++++++++------------------ 3 files changed, 84 insertions(+), 74 deletions(-) diff --git a/debian/changelog b/debian/changelog index 3e358c4f..6406ee95 100755 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,11 @@ +ise-default (0.3.026-1) unstable; urgency=low + + * Keyboard mode change happens after going to language settings + * Git: slp/pkgs/i/ise-default + * Tag: ise-default_0.3.026-1 + + -- Ankush Dua Wed, 05 Sep 2012 17:33:30 +0530 + ise-default (0.3.025-1) unstable; urgency=low * Update po files. diff --git a/packaging/ise-default.spec b/packaging/ise-default.spec index ef95b142..3d612b85 100755 --- a/packaging/ise-default.spec +++ b/packaging/ise-default.spec @@ -1,6 +1,6 @@ Name: ise-default Summary: Tizen keyboard -Version: 0.3.025 +Version: 0.3.026 Release: 1 Group: TO_BE/FILLED_IN License: Flora Software License diff --git a/src/ise.cpp b/src/ise.cpp index 80fe921a..3cfea543 100755 --- a/src/ise.cpp +++ b/src/ise.cpp @@ -878,99 +878,101 @@ void ise_show(int ic) bRotated = TRUE; } - if (ic != gPrevInputContext || gFLayoutChanged || !gFInputContextSet - || bRotated || (g_currentLanguage != gExplicitLanguageSetting - && gExplicitLanguageSetting != NOT_USED)) { - set_single_commit(IseDefaultValue[gIseLayout].SingleCommit); - change_inputmode(IseDefaultValue[gIseLayout].InputMode); + if (IseDefaultValue[gIseLayout].mcfInputMode == INPUT_MODE_NATIVE) { + mcfInputMode = mcfInputModeByLanguage[IseDefaultValue[gIseLayout].KeypadMode][langID]; + } else if (gIseLayout == ISE_LAYOUT_STYLE_URL) { + mcfInputMode = mcfInputModeByLanguage[IseDefaultValue[gIseLayout].KeypadMode][langID]; + } else if (gIseLayout == ISE_LAYOUT_STYLE_EMAIL) { + mcfInputMode = mcfInputModeByLanguage[IseDefaultValue[gIseLayout].KeypadMode][langID]; + } else { + mcfInputMode = IseDefaultValue[gIseLayout].mcfInputMode; + } - if (IseDefaultValue[gIseLayout].mcfInputMode == INPUT_MODE_NATIVE) { - mcfInputMode = mcfInputModeByLanguage[IseDefaultValue[gIseLayout].KeypadMode][langID]; - } else if (gIseLayout == ISE_LAYOUT_STYLE_URL) { - mcfInputMode = mcfInputModeByLanguage[IseDefaultValue[gIseLayout].KeypadMode][langID]; - } else if (gIseLayout == ISE_LAYOUT_STYLE_EMAIL) { - mcfInputMode = mcfInputModeByLanguage[IseDefaultValue[gIseLayout].KeypadMode][langID]; - } else { - mcfInputMode = IseDefaultValue[gIseLayout].mcfInputMode; - } + if (gFKeypadMode && gIseScreenDegree != 90 + && gIseScreenDegree != 270) { + newInputMode = IseDefaultInputModes[mcfInputMode][0]; + } else { + newInputMode = IseDefaultInputModes[mcfInputMode][1]; + } - if (gFKeypadMode && gIseScreenDegree != 90 - && gIseScreenDegree != 270) { - newInputMode = IseDefaultInputModes[mcfInputMode][0]; - } else { - newInputMode = IseDefaultInputModes[mcfInputMode][1]; - } - if (newInputMode != NOT_USED) { - mcfInputMode = newInputMode; - } - if (mcfInputMode >= 0 && mcfInputMode < MAX_INPUT_MODE) { - g_currentLanguage = langID; - IseLangDataSelectState[g_currentLanguage] = true; - change_ldb_option(internalLangToLang[langID]); - change_keypad((uint32)IseKeypadMode[mcfInputMode] - [(gCore->get_display_mode() == MCFDISPLAY_LANDSCAPE) ? 1 : 0]); - - if (ic != gPrevInputContext) { - change_completion_option(IseInitialCompletionMode[mcfInputMode][get_Ise_default_context().OnOff]); - } + if (newInputMode != NOT_USED) { + mcfInputMode = newInputMode; + } - gCore->set_input_mode(mcfInputMode, TRUE); + if (mcfInputMode >= 0 && mcfInputMode < MAX_INPUT_MODE) { + g_currentLanguage = langID; + IseLangDataSelectState[g_currentLanguage] = true; + change_ldb_option(internalLangToLang[langID]); + change_keypad((uint32)IseKeypadMode[mcfInputMode] + [(gCore->get_display_mode() == MCFDISPLAY_LANDSCAPE) ? 1 : 0]); - mcf8 subLayoutID = IseDefaultValue[gIseLayout].subLayoutID; - if(gCore->get_cur_sublayout_id() != subLayoutID) - { - gCore->set_cur_sublayout_id(subLayoutID); - bShouldUpdate = TRUE; - } + if (ic != gPrevInputContext) { + change_completion_option(IseInitialCompletionMode[mcfInputMode][get_Ise_default_context().OnOff]); + } - if (ic != gPrevInputContext) { - gInitialInputMode = mcfInputMode; - } + gCore->set_input_mode(mcfInputMode, TRUE); - language = mcfLanguageByInputMode[mcfInputMode]; + mcf8 subLayoutID = IseDefaultValue[gIseLayout].subLayoutID; + if(gCore->get_cur_sublayout_id() != subLayoutID) + { + gCore->set_cur_sublayout_id(subLayoutID); + bShouldUpdate = TRUE; } - if (get_Ise_default_context().Language != language - && language != NOT_USED) { - change_ldb_option(language); + if (ic != gPrevInputContext) { + gInitialInputMode = mcfInputMode; } - if (TRUE && + language = mcfLanguageByInputMode[mcfInputMode]; + } + + if (get_Ise_default_context().Language != language + && language != NOT_USED) { + change_ldb_option(language); + } + + if (TRUE && #ifdef SUPPORTS_LAYOUT_STYLE_MONTH - gCore->get_input_mode() != INPUT_MODE_4X4_MONTH && + gCore->get_input_mode() != INPUT_MODE_4X4_MONTH && #endif #ifdef SUPPORTS_LAYOUT_STYLE_NUMBERONLY - gCore->get_input_mode() != INPUT_MODE_4X4_NUMONLY && + gCore->get_input_mode() != INPUT_MODE_4X4_NUMONLY && #endif #ifdef SUPPORTS_LAYOUT_STYLE_IP - gCore->get_input_mode() != INPUT_MODE_4X4_IPv6_123 && + gCore->get_input_mode() != INPUT_MODE_4X4_IPv6_123 && #endif - TRUE) { - _set_prediction_private_key(); - } + TRUE) { + _set_prediction_private_key(); + } - /* We need to set shift state after setting input mode, - since setting input mode restores shift state back to off */ - if(gExternalShiftLockMode) { - change_shiftmode(SHIFTMODE_ON); - helper_agent.update_input_context(ECORE_IMF_INPUT_PANEL_SHIFT_MODE_EVENT, - ECORE_IMF_INPUT_PANEL_SHIFT_MODE_ON); - if (gCore->get_shift_state() != MCF_SHIFT_STATE_ON) { - gCore->set_shift_state(MCF_SHIFT_STATE_ON); - bShouldUpdate = TRUE; - } - } else { - change_shiftmode(IseDefaultValue[gIseLayout].ShiftMode); - helper_agent.update_input_context(ECORE_IMF_INPUT_PANEL_SHIFT_MODE_EVENT, - (IseDefaultValue[gIseLayout].ShiftMode == SHIFTMODE_OFF) - ? ECORE_IMF_INPUT_PANEL_SHIFT_MODE_OFF : ECORE_IMF_INPUT_PANEL_SHIFT_MODE_ON); - if (IseDefaultValue[gIseLayout].ShiftMode != gCore->get_shift_state()) { - gCore->set_shift_state((MCFShiftState)IseDefaultValue[gIseLayout].ShiftMode); - bShouldUpdate = TRUE; - } + /* We need to set shift state after setting input mode, + since setting input mode restores shift state back to off */ + if(gExternalShiftLockMode) { + change_shiftmode(SHIFTMODE_ON); + helper_agent.update_input_context(ECORE_IMF_INPUT_PANEL_SHIFT_MODE_EVENT, + ECORE_IMF_INPUT_PANEL_SHIFT_MODE_ON); + if (gCore->get_shift_state() != MCF_SHIFT_STATE_ON) { + gCore->set_shift_state(MCF_SHIFT_STATE_ON); + bShouldUpdate = TRUE; + } + } else { + change_shiftmode(IseDefaultValue[gIseLayout].ShiftMode); + helper_agent.update_input_context(ECORE_IMF_INPUT_PANEL_SHIFT_MODE_EVENT, + (IseDefaultValue[gIseLayout].ShiftMode == SHIFTMODE_OFF) + ? ECORE_IMF_INPUT_PANEL_SHIFT_MODE_OFF : ECORE_IMF_INPUT_PANEL_SHIFT_MODE_ON); + if (IseDefaultValue[gIseLayout].ShiftMode != gCore->get_shift_state()) { + gCore->set_shift_state((MCFShiftState)IseDefaultValue[gIseLayout].ShiftMode); + bShouldUpdate = TRUE; } } + if (ic != gPrevInputContext || gFLayoutChanged || !gFInputContextSet + || bRotated || (g_currentLanguage != gExplicitLanguageSetting + && gExplicitLanguageSetting != NOT_USED)) { + set_single_commit(IseDefaultValue[gIseLayout].SingleCommit); + change_inputmode(IseDefaultValue[gIseLayout].InputMode); + } + gCore->show(); gCore->disable_input_events(FALSE); -- 2.34.1