diff options
-rw-r--r-- | setup/ibus-pinyin-preferences.glade | 75 | ||||
-rw-r--r-- | setup/main.py | 3 | ||||
-rw-r--r-- | src/Config.cc | 6 | ||||
-rw-r--r-- | src/Config.h | 2 | ||||
-rw-r--r-- | src/PinyinEngine.cc | 11 |
5 files changed, 69 insertions, 28 deletions
diff --git a/setup/ibus-pinyin-preferences.glade b/setup/ibus-pinyin-preferences.glade index ee4b04e..114ae93 100644 --- a/setup/ibus-pinyin-preferences.glade +++ b/setup/ibus-pinyin-preferences.glade @@ -54,6 +54,7 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> + <property name="tooltip_text" translatable="yes">Use full pinyin.</property> <property name="active">True</property> <property name="draw_indicator">True</property> <property name="group">DoublePinyin</property> @@ -68,6 +69,7 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> + <property name="tooltip_text" translatable="yes">Use double pinyin.</property> <property name="draw_indicator">True</property> </object> <packing> @@ -82,6 +84,7 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> + <property name="tooltip_text" translatable="yes">Enable simple pinyin (like zh g).</property> <property name="active">True</property> <property name="draw_indicator">True</property> </object> @@ -93,6 +96,7 @@ <child> <object class="GtkHBox" id="hbox1"> <property name="visible">True</property> + <property name="tooltip_text" translatable="yes">Select double pinyin schema.</property> <property name="spacing">6</property> <property name="homogeneous">True</property> <child> @@ -145,6 +149,7 @@ <child> <object class="GtkFrame" id="frame4"> <property name="visible">True</property> + <property name="tooltip_text" translatable="yes">Setup the initial state of pinyin input method.</property> <property name="label_xalign">0</property> <property name="shadow_type">none</property> <child> @@ -157,6 +162,8 @@ <property name="visible">True</property> <property name="n_rows">4</property> <property name="n_columns">3</property> + <property name="column_spacing">12</property> + <property name="row_spacing">6</property> <child> <object class="GtkLabel" id="label9"> <property name="visible">True</property> @@ -352,28 +359,18 @@ <child> <object class="GtkTable" id="table3"> <property name="visible">True</property> - <property name="n_rows">5</property> + <property name="n_rows">6</property> <property name="n_columns">2</property> <property name="column_spacing">12</property> <property name="row_spacing">6</property> <property name="homogeneous">True</property> <child> - <object class="GtkLabel" id="label16"> - <property name="visible">True</property> - <property name="xalign">0</property> - <property name="label" translatable="yes">Number of candidates:</property> - <property name="use_markup">True</property> - </object> - <packing> - <property name="x_options">GTK_FILL</property> - </packing> - </child> - <child> <object class="GtkCheckButton" id="ShiftSelectCandidate"> <property name="label" translatable="yes">Press [Shift] key to select candidate</property> <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> + <property name="tooltip_text" translatable="yes">Use left and right shift keys to select the second and thrid candidates.</property> <property name="draw_indicator">True</property> </object> <packing> @@ -388,6 +385,7 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> + <property name="tooltip_text" translatable="yes">Use [-] [=] key to page up/down the lookup table.</property> <property name="active">True</property> <property name="draw_indicator">True</property> </object> @@ -403,6 +401,7 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> + <property name="tooltip_text" translatable="yes">Use [,] [.] key to page up/down the lookup table.</property> <property name="active">True</property> <property name="draw_indicator">True</property> </object> @@ -418,6 +417,7 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> + <property name="tooltip_text" translatable="yes">Enable automatic commit phrase.</property> <property name="draw_indicator">True</property> </object> <packing> @@ -427,17 +427,54 @@ </packing> </child> <child> - <object class="GtkHScale" id="hscaleLookupTablePageSize"> + <object class="GtkCheckButton" id="TradCandidate"> + <property name="label" translatable="yes">Show candidates in traditional Chinese</property> <property name="visible">True</property> <property name="can_focus">True</property> - <property name="update_policy">delayed</property> - <property name="adjustment">LookupTablePageSize</property> - <property name="digits">0</property> - <property name="value_pos">left</property> + <property name="receives_default">False</property> + <property name="tooltip_text" translatable="yes">Show candidates in traditional Chinese, if the input method is in traditional Chinese inputing mode.</property> + <property name="draw_indicator">True</property> </object> <packing> - <property name="left_attach">1</property> <property name="right_attach">2</property> + <property name="top_attach">5</property> + <property name="bottom_attach">6</property> + </packing> + </child> + <child> + <object class="GtkHBox" id="hbox3"> + <property name="visible">True</property> + <property name="tooltip_text" translatable="yes">Setup the number of candidates show in one page of lookup table.</property> + <property name="spacing">12</property> + <child> + <object class="GtkLabel" id="label16"> + <property name="visible">True</property> + <property name="xalign">0</property> + <property name="label" translatable="yes">Number of candidates:</property> + <property name="use_markup">True</property> + </object> + <packing> + <property name="expand">False</property> + <property name="position">0</property> + </packing> + </child> + <child> + <object class="GtkHScale" id="hscaleLookupTablePageSize"> + <property name="visible">True</property> + <property name="can_focus">True</property> + <property name="update_policy">delayed</property> + <property name="adjustment">LookupTablePageSize</property> + <property name="digits">0</property> + <property name="value_pos">left</property> + </object> + <packing> + <property name="position">1</property> + </packing> + </child> + </object> + <packing> + <property name="right_attach">2</property> + <property name="x_options">GTK_FILL</property> </packing> </child> </object> @@ -585,6 +622,7 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> + <property name="tooltip_text" translatable="yes">Enable pinyin correcting.</property> <property name="active">True</property> <property name="draw_indicator">True</property> </object> @@ -1017,6 +1055,7 @@ <property name="visible">True</property> <property name="can_focus">True</property> <property name="receives_default">False</property> + <property name="tooltip_text" translatable="yes">Enable fuzzy pinyin.</property> <property name="draw_indicator">True</property> </object> </child> diff --git a/setup/main.py b/setup/main.py index d50bdfa..ec0c57a 100644 --- a/setup/main.py +++ b/setup/main.py @@ -100,6 +100,7 @@ class PreferencesDialog: self.__minus_equal_page = self.__builder.get_object("MinusEqualPage") self.__comma_period_page = self.__builder.get_object("CommaPeriodPage") self.__auto_commit = self.__builder.get_object("AutoCommit") + self.__trad_candidate = self.__builder.get_object("TradCandidate") self.__half_width_puncts = self.__builder.get_object("HalfWidthPuncts") # read values @@ -108,6 +109,7 @@ class PreferencesDialog: self.__minus_equal_page.set_active(self.__get_value("MinusEqualPage", True)) self.__comma_period_page.set_active(self.__get_value("CommaPeriodPage", True)) self.__auto_commit.set_active(self.__get_value("AutoCommit", False)) + self.__trad_candidate.set_active(self.__get_value("TradCandidate", False)) self.__half_width_puncts.set_text(self.__get_value("HalfWidthPuncts", "+-*/=%")) # connect signals @@ -118,6 +120,7 @@ class PreferencesDialog: self.__minus_equal_page.connect("toggled", self.__toggled_cb, "MinusEqualPage") self.__comma_period_page.connect("toggled", self.__toggled_cb, "CommaPeriodPage") self.__auto_commit.connect("toggled", self.__toggled_cb, "AutoCommit") + self.__trad_candidate.connect("toggled", self.__toggled_cb, "TradCandidate") self.__lookup_table_page_size.connect("value-changed", __lookup_table_page_size_changed_cb) def __entry_activate_cb(widget, name): diff --git a/src/Config.cc b/src/Config.cc index 3503632..160c03b 100644 --- a/src/Config.cc +++ b/src/Config.cc @@ -20,6 +20,7 @@ gboolean Config::m_init_chinese = TRUE; gboolean Config::m_init_full = FALSE; gboolean Config::m_init_full_punct = TRUE; gboolean Config::m_init_simp_chinese = TRUE; +gboolean Config::m_trad_candidate = FALSE; static const StaticString engine_pinyin ("engine/Pinyin"); static const StaticString correct_pinyin ("CorrectPinyin"); @@ -38,6 +39,7 @@ static const StaticString init_chinese ("InitChinese"); static const StaticString init_full ("InitFull"); static const StaticString init_full_punct ("InitFullPunct"); static const StaticString init_simp_chinese ("InitSimplifiedChinese"); +static const StaticString trad_candidate ("TradCandidate"); static const struct { StaticString name; @@ -93,6 +95,8 @@ Config::readDefaultValues (void) m_init_full_punct = read (engine_pinyin, init_full_punct, true); m_init_simp_chinese = read (engine_pinyin, init_simp_chinese, true); + m_trad_candidate = read (engine_pinyin, trad_candidate, false); + /* others */ m_page_size = read (engine_pinyin, page_size, 5); m_shift_select_candidate = read (engine_pinyin, shift_select_candidate, false); @@ -183,6 +187,8 @@ Config::valueChangedCallback (IBusConfig *config, m_init_full_punct = normalizeGValue (value, true); else if (init_simp_chinese == name) m_init_simp_chinese = normalizeGValue (value, true); + else if (trad_candidate == name) + m_trad_candidate = normalizeGValue (value, false); /* lookup table page size */ else if (page_size == name) m_page_size = normalizeGValue (value, 5); diff --git a/src/Config.h b/src/Config.h index ef62769..2f04ded 100644 --- a/src/Config.h +++ b/src/Config.h @@ -28,6 +28,7 @@ public: static gboolean initFull (void) { return m_init_full; } static gboolean initFullPunct (void) { return m_init_full_punct; } static gboolean initSimpChinese (void) { return m_init_simp_chinese; } + static gboolean tradCandidate (void) { return m_trad_candidate; } private: bool read (const gchar *section, const gchar *name, bool defval); @@ -59,6 +60,7 @@ private: static gboolean m_init_full; static gboolean m_init_full_punct; static gboolean m_init_simp_chinese; + static gboolean m_trad_candidate; }; }; diff --git a/src/PinyinEngine.cc b/src/PinyinEngine.cc index 6217ef4..33d1f34 100644 --- a/src/PinyinEngine.cc +++ b/src/PinyinEngine.cc @@ -887,15 +887,7 @@ PinyinEngine::updateLookupTable (void) return; } -#if 1 - for (guint i = 0; i < candidate_nr; i++) { - StaticText text (m_phrase_editor.candidate (i)); - if (m_phrase_editor.candidateIsUserPhease (i)) - text.appendAttribute (IBUS_ATTR_TYPE_FOREGROUND, 0x000000ef, 0, -1); - m_lookup_table.appendCandidate (text); - } -#else - if (G_LIKELY (m_mode_simp)) { + if (G_LIKELY (m_phrase_editor.modeSimp () || !Config::tradCandidate)) { for (guint i = 0; i < candidate_nr; i++) { StaticText text (m_phrase_editor.candidate (i)); if (m_phrase_editor.candidateIsUserPhease (i)) @@ -913,7 +905,6 @@ PinyinEngine::updateLookupTable (void) m_lookup_table.appendCandidate (text); } } -#endif ibus_engine_update_lookup_table_fast (m_engine, m_lookup_table, TRUE); |