diff --git a/honoka/src/honoka_imengine.cpp b/honoka/src/honoka_imengine.cpp index ddbf1b2..edee986 100644 --- a/honoka/src/honoka_imengine.cpp +++ b/honoka/src/honoka_imengine.cpp @@ -610,6 +610,8 @@ if (m_lookup) { m_lookup_table.set_cursor_pos(m_convList.pos); update_lookup_table(m_lookup_table); + update_aux_string(m_convList.Title + getPosPerCount(m_convList.pos,m_convList.count())); + show_aux_string(); show_lookup_table(); } else { hide_lookup_table(); @@ -1038,6 +1040,8 @@ 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); + update_aux_string(m_convList.Title + getPosPerCount(m_convList.pos,m_convList.count())); + show_aux_string(); update_lookup_table(m_lookup_table); update_preedit_string(m_convList.kouho.at(m_convList.pos).kanji); update_preedit_caret(0); @@ -1116,6 +1120,8 @@ } } m_lookup_table.set_cursor_pos(m_convList.pos); + update_aux_string(m_convList.Title + getPosPerCount(m_convList.pos,m_convList.count())); + show_aux_string(); update_lookup_table(m_lookup_table); } @@ -1135,6 +1141,8 @@ update_preedit_string(m_convertor->getText(),m_convertor->getAttributeList()); update_preedit_caret(m_convertor->getCaretPos()); m_lookup_table.set_cursor_pos(m_convList.pos); + update_aux_string(m_convList.Title + getPosPerCount(m_convList.pos,m_convList.count())); + show_aux_string(); update_lookup_table(m_lookup_table); } @@ -1152,6 +1160,8 @@ update_preedit_string(m_convertor->getText(),m_convertor->getAttributeList()); update_preedit_caret(m_convertor->getCaretPos()); m_lookup_table.set_cursor_pos(m_convList.pos); + update_aux_string(m_convList.Title + getPosPerCount(m_convList.pos,m_convList.count())); + show_aux_string(); update_lookup_table(m_lookup_table); } @@ -1330,6 +1340,8 @@ else m_lookup_table.append_candidate(cList.kouho.at(i).kanji); } m_lookup_table.set_cursor_pos(cList.pos); + update_aux_string(cList.Title + getPosPerCount(cList.pos,cList.count())); + show_aux_string(); update_lookup_table(m_lookup_table); } @@ -1343,12 +1355,21 @@ createLookupTable(m_convList); if (m_convList.count() == 0) return; m_lookup = true; - update_aux_string(m_convList.Title); + update_aux_string(m_convList.Title + getPosPerCount(m_convList.pos,m_convList.count())); show_aux_string(); show_lookup_table(); } +/*! + \fn HonokaInstance::getPosPerCount(int p,int c) + */ +WideString HonokaInstance::getPosPerCount(int p,int c) +{ + char data[256]; + sprintf(data," [%d/%d]",p + 1,c); + return utf8_mbstowcs(String(data)); +} diff --git a/honoka/src/honoka_imengine.h b/honoka/src/honoka_imengine.h index d9e0554..7cfed09 100644 --- a/honoka/src/honoka_imengine.h +++ b/honoka/src/honoka_imengine.h @@ -153,6 +153,7 @@ bool changePredictor(const String &name); void autoConversion(); bool pluginCheck(HonokaPluginBase *p); + WideString getPosPerCount(int p,int c); private: HonokaKeyEventList k_conversion_start, // �Ѵ�����