summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--setup/ibus-pinyin-preferences.glade75
-rw-r--r--setup/main.py3
-rw-r--r--src/Config.cc6
-rw-r--r--src/Config.h2
-rw-r--r--src/PinyinEngine.cc11
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);