| |
---|
| | scim_string_to_key_list(k, |
---|
| | _scim_config->read(String(HONOKA_CONFIG_KEY_PREDICTOR_PREFIX) + String("/") + predictors[i]->getName(),String(""))); |
---|
| | k_predictor.push_back(k); |
---|
| | } |
---|
| | for(unsigned int i = 0;i < filters.size();i ++) { |
---|
| | HonokaKeyEventList k; |
---|
| | scim_string_to_key_list(k, |
---|
| | _scim_config->read(String(HONOKA_CONFIG_KEY_FILTER_PREFIX) + String("/") + filters[i]->getName(),String(""))); |
---|
| | k_filter.push_back(k); |
---|
| | } |
---|
| | |
---|
| | if (save_setting) { |
---|
| | changePreEditor(_scim_config->read(String(HONOKA_PREVIOUS_PREEDITOR),String())); |
---|
| | changePredictor(_scim_config->read(String(HONOKA_PREVIOUS_PREDICTOR),String())); |
---|
| |
---|
| | if (k_predictor[i].comp(key)) { |
---|
| | if (predictors[i] == m_predictor) return true; |
---|
| | //m_predictor = predictors[i]; |
---|
| | changePredictor(predictors[i]->getName()); |
---|
| | updatePreEditor(); |
---|
| | return true; |
---|
| | } |
---|
| | } |
---|
| | for(unsigned int i = 0;i < k_filter.size();i ++) { |
---|
| | if (k_filter[i].comp(key)) { |
---|
| | if (filters[i] == m_filter) return true; |
---|
| | //m_predictor = predictors[i]; |
---|
| | changeFilter(filters[i]->getName()); |
---|
| | updatePreEditor(); |
---|
| | return true; |
---|
| | } |
---|
| | } |
---|
| |
---|
| | } |
---|
| | } |
---|
| | } |
---|
| | |
---|
| | // フィルタ選択キー |
---|
| | for(unsigned int i = 0;i < k_filter.size();i ++) { |
---|
| | if (k_filter[i].comp(key)) { |
---|
| | TextFilter *f = m_filter; |
---|
| | if (filters[i] != m_filter) changeFilter(filters[i]->getName()); |
---|
| | commit_string(m_filter->filter(segments)); |
---|
| | m_filter = f; |
---|
| | m_convertor->updateFrequency(); |
---|
| | if (prediction) if (m_predictor->isConnected()) m_predictor->update(getConvertedText(),m_preeditor->getText(true)); |
---|
| | m_preeditor->reset(); |
---|
| | m_convertor->reset(); |
---|
| | m_conversion = false; |
---|
| | updatePreEditor(); |
---|
| | m_lookup = false; |
---|
| | alp_count = 1; |
---|
| | if (m_def_convertor != m_convertor) m_convertor = m_def_convertor; |
---|
| | updateProperty(); |
---|
| | return true; |
---|
| | } |
---|
| | } |
---|
| | |
---|
| | |
---|
| | // それ以外のキーの場合、表示可能キーなら確定してPreEdit入力を再開。 |
---|
| | if (key.get_unicode_code()) { |
---|
| | commit_string(getConvertedText()); |
---|
| | m_convertor->updateFrequency(); |
---|
| |
---|
| | |