| |
---|
| | String(HONOKA_DEFAULT_KEY_CONVERSION_RENSOU))); |
---|
| | scim_string_to_key_list(k_conversion_ikeiji, |
---|
| | _scim_config->read(String(HONOKA_CONFIG_KEY_CONVERSION_IKEIJI), |
---|
| | String(HONOKA_DEFAULT_KEY_CONVERSION_IKEIJI))); |
---|
| | scim_string_to_key_list(k_select_yosoku, |
---|
| | _scim_config->read(String(HONOKA_CONFIG_KEY_SELECT_YOSOKU), |
---|
| | String(HONOKA_DEFAULT_KEY_SELECT_YOSOKU))); |
---|
| | scim_string_to_key_list(k_select_prediction, |
---|
| | _scim_config->read(String(HONOKA_CONFIG_KEY_SELECT_PREDICTION), |
---|
| | String(HONOKA_DEFAULT_KEY_SELECT_PREDICTION))); |
---|
| | scim_string_to_key_list(k_auto_conversion, |
---|
| | _scim_config->read(String(HONOKA_CONFIG_KEY_AUTO_CONVERSION), |
---|
| | String(HONOKA_DEFAULT_KEY_AUTO_CONVERSION))); |
---|
| | scim_string_to_key_list(k_next_convertor, |
---|
| |
---|
| | if (ke.mask & SCIM_KEY_CapsLockMask) ke.mask -= SCIM_KEY_CapsLockMask; |
---|
| | if (ke.mask & SCIM_KEY_NumLockMask) ke.mask -= SCIM_KEY_NumLockMask; |
---|
| | // if (ke.mask & SCIM_KEY_ScrollLockMask) ke.mask -= SCIM_KEY_ScrollLockMask; |
---|
| | if (m_conversion) return process_conversion_key_event(ke); |
---|
| | else if (m_prediction) return process_yosoku_key_event(ke); |
---|
| | else if (m_prediction) return process_prediction_key_event(ke); |
---|
| | else return process_preedit_key_event(ke) ; |
---|
| | } |
---|
| | |
---|
| | |
---|
| |
---|
| | m_preeditor->toWide(); |
---|
| | updatePreEditor(); |
---|
| | return true; |
---|
| | } else |
---|
| | if (k_select_yosoku.comp(key) && prediction) { |
---|
| | if (k_select_prediction.comp(key) && prediction) { |
---|
| | if ((m_convList.kType == PREDICTION) && (m_convList.count())) { |
---|
| | return process_yosoku_key_event(key); |
---|
| | return process_prediction_key_event(key); |
---|
| | } |
---|
| | } |
---|
| | } |
---|
| | |
---|
| |
---|
| | |
---|
| | |
---|
| | |
---|
| | /*! |
---|
| | \fn HonokaInstance::process_yosoku_key_event(const KeyEvent &key) |
---|
| | \fn HonokaInstance::process_prediction_key_event(const KeyEvent &key) |
---|
| | */ |
---|
| | bool HonokaInstance::process_yosoku_key_event(const KeyEvent &key) |
---|
| | bool HonokaInstance::process_prediction_key_event(const KeyEvent &key) |
---|
| | { |
---|
| | // 予測選択時のキーイベント処理。 |
---|
| | if (!m_prediction) { |
---|
| | m_prediction = true; |
---|
| |
---|
| | if (k_lookup_pagedown.comp(key)) { |
---|
| | lookup_table_page_down(); |
---|
| | return true; |
---|
| | } else |
---|
| | if (k_conversion_next.comp(key) || k_conversion_prev.comp(key) || k_select_yosoku.comp(key)) { |
---|
| | if (k_conversion_next.comp(key) || k_conversion_prev.comp(key) || k_select_prediction.comp(key)) { |
---|
| | k_conversion_prev.comp(key) ? m_convList.pos --: m_convList.pos ++; |
---|
| | if (m_convList.pos >= m_convList.count()) m_convList.pos = 0; |
---|
| | else if (m_convList.pos < 0) m_convList.pos = m_convList.count() - 1; |
---|
| | m_lookup_table.set_cursor_pos(m_convList.pos); |
---|
| |
---|
| | |
---|
| | hide_aux_string(); |
---|
| | if (!m_convertor->isConnected()) { |
---|
| | if (!m_convertor->connect()) { |
---|
| | update_aux_string(utf8_mbstowcs(String(_("could not connect to jserver.")))); |
---|
| | update_aux_string(utf8_mbstowcs(String(_("could not connect to server.")))); |
---|
| | show_aux_string(); |
---|
| | return; |
---|
| | } |
---|
| | } |
---|
| | |
---|
| | m_convertor->setYomiText(s); |
---|
| | if (m_convertor->ren_conversion() == -1) { |
---|
| | update_aux_string(utf8_mbstowcs(String(_("could not connect to jserver.")))); |
---|
| | update_aux_string(utf8_mbstowcs(String(_("could not connect to server.")))); |
---|
| | show_aux_string(); |
---|
| | return; |
---|
| | } |
---|
| | m_convList.kouho.clear(); |
---|
| |
---|
| | { |
---|
| | // 自動変換処理コード。 |
---|
| | if (!m_convertor->isConnected()) { |
---|
| | if (!m_convertor->connect()) { |
---|
| | update_aux_string(utf8_mbstowcs(String(_("could not connect to jserver.")))); |
---|
| | update_aux_string(utf8_mbstowcs(String(_("could not connect to server.")))); |
---|
| | show_aux_string(); |
---|
| | show_preedit_string(); |
---|
| | update_preedit_string(m_preeditor->getText(),m_preeditor->getAttributeList()); |
---|
| | update_preedit_caret(m_preeditor->getPos()); |
---|
| |
---|
| | |
---|
| | m_convertor->reset(); |
---|
| | m_convertor->setYomiText(m_preeditor->getText(true)); |
---|
| | if (m_convertor->ren_conversion() == -1) { |
---|
| | update_aux_string(utf8_mbstowcs(String(_("could not connect to jserver.")))); |
---|
| | update_aux_string(utf8_mbstowcs(String(_("could not connect to server.")))); |
---|
| | show_aux_string(); |
---|
| | show_preedit_string(); |
---|
| | update_preedit_string(m_preeditor->getText(),m_preeditor->getAttributeList()); |
---|
| | update_preedit_caret(m_preeditor->getPos()); |
---|
| |
---|
| | |