全体的なYOSOKUをPREDICTIONに統一。
1 parent b5b40b1 commit 05cfc4d95bedd6dd55ee088fdb858ef0feb65f36
@tamra tamra authored on 27 Jun 2005
Showing 4 changed files
View
4
honoka/src/honoka_def.h
#define HONOKA_CONFIG_KEY_CONVERSION_IKEIJI "/IMEngine/Honoka/Key/ConversionIkeiji"
#define HONOKA_DEFAULT_KEY_CONVERSION_IKEIJI "Shift+F8"
#define HONOKA_CONFIG_KEY_CONVERSION_RENSOU "/IMEngine/Honoka/Key/ConversionRensou"
#define HONOKA_DEFAULT_KEY_CONVERSION_RENSOU "Shift+F9"
#define HONOKA_CONFIG_KEY_SELECT_YOSOKU "/IMEngine/Honoka/Key/SelectYosoku"
#define HONOKA_DEFAULT_KEY_SELECT_YOSOKU "Tab"
#define HONOKA_CONFIG_KEY_SELECT_PREDICTION "/IMEngine/Honoka/Key/SelectYosoku"
#define HONOKA_DEFAULT_KEY_SELECT_PREDICTION "Tab"
#define HONOKA_CONFIG_KEY_AUTO_CONVERSION "/IMEngine/Honoka/Key/AutoConversion"
#define HONOKA_DEFAULT_KEY_AUTO_CONVERSION "Alt+a"
#define HONOKA_CONFIG_KEY_RECONVERSION "/IMEngine/Honoka/ReConversion"
#define HONOKA_DEFAULT_KEY_RECONVERSION "Alt+space"
View
26
honoka/src/honoka_imengine.cpp
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());
View
4
honoka/src/honoka_imengine.h
Convertor *m_multi;
protected:
bool process_preedit_key_event(const KeyEvent &key);
bool process_conversion_key_event(const KeyEvent &key);
bool process_yosoku_key_event(const KeyEvent &key);
bool process_prediction_key_event(const KeyEvent &key);
void startConversion(WideString s = WideString(), bool multi = false);
void createLookupTable(ResultList cList);
void init();
void updatePreEditor();
 
// for Wnn7
k_conversion_ikeiji, // 異形字変換
k_conversion_rensou, // 連想変換
k_select_yosoku, // 予測選択
k_select_prediction, // 予測選択
k_selection[9], // 候補選択ショートカット
k_dummy;
};
 
View
4
honoka/src/honoka_imengine_setup.cpp
NULL,
NULL,
},
{
HONOKA_CONFIG_KEY_SELECT_YOSOKU,
HONOKA_DEFAULT_KEY_SELECT_YOSOKU,
HONOKA_CONFIG_KEY_SELECT_PREDICTION,
HONOKA_DEFAULT_KEY_SELECT_PREDICTION,
N_("Yosoku keys:"),
N_("Select yosoku keys"),
N_("The key events to select from completion list. "),
NULL,