Add option - Show raw input of Double Pinyin
authorPeng Huang <shawn.p.huang@gmail.com>
Thu, 25 Mar 2010 11:35:30 +0000 (19:35 +0800)
committerPeng Huang <shawn.p.huang@gmail.com>
Thu, 25 Mar 2010 11:35:30 +0000 (19:35 +0800)
po/ibus-pinyin.pot
po/ru.po
po/zh_CN.po
setup/ibus-pinyin-preferences.ui
setup/main.py
src/Config.cc
src/Config.h
src/DoublePinyinEditor.cc

index bc5bde0..6f56242 100644 (file)
@@ -8,7 +8,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-03-25 19:11+0800\n"
+"POT-Creation-Date: 2010-03-25 19:34+0800\n"
 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
 "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -45,7 +45,7 @@ msgstr ""
 msgid "Pinyin preferences"
 msgstr ""
 
-#: ../setup/main.py:38 ../setup/ibus-pinyin-preferences.ui.h:7
+#: ../setup/main.py:39 ../setup/ibus-pinyin-preferences.ui.h:7
 #, no-c-format, python-format
 msgid "<big><b>IBus Pinyin %s</b></big>"
 msgstr ""
@@ -208,58 +208,62 @@ msgid ""
 msgstr ""
 
 #: ../setup/ibus-pinyin-preferences.ui.h:44
-msgid "Simplified"
+msgid "Show raw input of Double Pinyin"
 msgstr ""
 
 #: ../setup/ibus-pinyin-preferences.ui.h:45
-msgid "Traditional"
+msgid "Simplified"
 msgstr ""
 
 #: ../setup/ibus-pinyin-preferences.ui.h:46
-msgid "Use [,] [.] key to page up/down the lookup table."
+msgid "Traditional"
 msgstr ""
 
 #: ../setup/ibus-pinyin-preferences.ui.h:47
-msgid "Use [-] [=] key to page up/down the lookup table."
+msgid "Use [,] [.] key to page up/down the lookup table."
 msgstr ""
 
 #: ../setup/ibus-pinyin-preferences.ui.h:48
-msgid "Use double pinyin."
+msgid "Use [-] [=] key to page up/down the lookup table."
 msgstr ""
 
 #: ../setup/ibus-pinyin-preferences.ui.h:49
-msgid "Use full pinyin."
+msgid "Use double pinyin."
 msgstr ""
 
 #: ../setup/ibus-pinyin-preferences.ui.h:50
+msgid "Use full pinyin."
+msgstr ""
+
+#: ../setup/ibus-pinyin-preferences.ui.h:51
 msgid ""
 "Use left and right shift keys to select the second and thrid candidates."
 msgstr ""
 
-#: ../setup/ibus-pinyin-preferences.ui.h:51
+#: ../setup/ibus-pinyin-preferences.ui.h:52
 msgid "Vertical"
 msgstr ""
 
-#: ../setup/ibus-pinyin-preferences.ui.h:52
+#: ../setup/ibus-pinyin-preferences.ui.h:53
 msgid "ZGPY"
 msgstr ""
 
-#: ../setup/ibus-pinyin-preferences.ui.h:53
+#: ../setup/ibus-pinyin-preferences.ui.h:54
 msgid "ZRM"
 msgstr ""
 
-#: ../setup/ibus-pinyin-preferences.ui.h:54
+#: ../setup/ibus-pinyin-preferences.ui.h:55
 msgid "[,] [.] flip page"
 msgstr ""
 
-#: ../setup/ibus-pinyin-preferences.ui.h:55
+#: ../setup/ibus-pinyin-preferences.ui.h:56
 msgid "[-] [=] flip page"
 msgstr ""
 
-#: ../setup/ibus-pinyin-preferences.ui.h:56
+#: ../setup/ibus-pinyin-preferences.ui.h:57
 msgid "[Shift] select candidate"
 msgstr ""
 
-#: ../setup/ibus-pinyin-preferences.ui.h:57
+#: ../setup/ibus-pinyin-preferences.ui.h:58
 msgid "http://ibus.googlecode.com"
 msgstr ""
index 2ea7815..2b86aaa 100644 (file)
--- a/po/ru.po
+++ b/po/ru.po
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: PACKAGE VERSION\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-03-25 19:11+0800\n"
+"POT-Creation-Date: 2010-03-25 19:34+0800\n"
 "PO-Revision-Date: 2009-10-14 09:44+0300\n"
 "Last-Translator: Alexey Kotlyarov <koterpillar@gmail.com>\n"
 "Language-Team: Russian\n"
@@ -46,7 +46,7 @@ msgstr "Упрощенные/традиционные иероглифы"
 msgid "Pinyin preferences"
 msgstr "Настройки пиньиня"
 
-#: ../setup/main.py:38 ../setup/ibus-pinyin-preferences.ui.h:7
+#: ../setup/main.py:39 ../setup/ibus-pinyin-preferences.ui.h:7
 #, no-c-format, python-format
 msgid "<big><b>IBus Pinyin %s</b></big>"
 msgstr "<big><b>IBus Пиньинь %s</b></big>"
@@ -213,62 +213,66 @@ msgstr ""
 "традиционных иероглифов."
 
 #: ../setup/ibus-pinyin-preferences.ui.h:44
+msgid "Show raw input of Double Pinyin"
+msgstr ""
+
+#: ../setup/ibus-pinyin-preferences.ui.h:45
 msgid "Simplified"
 msgstr "Упрощенные"
 
-#: ../setup/ibus-pinyin-preferences.ui.h:45
+#: ../setup/ibus-pinyin-preferences.ui.h:46
 msgid "Traditional"
 msgstr "Традиционные"
 
-#: ../setup/ibus-pinyin-preferences.ui.h:46
+#: ../setup/ibus-pinyin-preferences.ui.h:47
 msgid "Use [,] [.] key to page up/down the lookup table."
 msgstr ""
 "Использовать клавиши [,] [.] для перемещения вверх-вниз по таблице поиска."
 
-#: ../setup/ibus-pinyin-preferences.ui.h:47
+#: ../setup/ibus-pinyin-preferences.ui.h:48
 msgid "Use [-] [=] key to page up/down the lookup table."
 msgstr ""
 "Использовать клавиши [-] [=] для перемещения вверх-вниз по таблице поиска."
 
-#: ../setup/ibus-pinyin-preferences.ui.h:48
+#: ../setup/ibus-pinyin-preferences.ui.h:49
 msgid "Use double pinyin."
 msgstr "Использовать двойной пиньинь (шуанпинь)."
 
-#: ../setup/ibus-pinyin-preferences.ui.h:49
+#: ../setup/ibus-pinyin-preferences.ui.h:50
 msgid "Use full pinyin."
 msgstr "Использовать полный пиньинь."
 
-#: ../setup/ibus-pinyin-preferences.ui.h:50
+#: ../setup/ibus-pinyin-preferences.ui.h:51
 msgid ""
 "Use left and right shift keys to select the second and thrid candidates."
 msgstr ""
 "Использовать клавиши \"влево\" и \"вправо\" для выбора второго и третьего "
 "кандидатов"
 
-#: ../setup/ibus-pinyin-preferences.ui.h:51
+#: ../setup/ibus-pinyin-preferences.ui.h:52
 msgid "Vertical"
 msgstr ""
 
-#: ../setup/ibus-pinyin-preferences.ui.h:52
+#: ../setup/ibus-pinyin-preferences.ui.h:53
 msgid "ZGPY"
 msgstr "ZGPY"
 
-#: ../setup/ibus-pinyin-preferences.ui.h:53
+#: ../setup/ibus-pinyin-preferences.ui.h:54
 msgid "ZRM"
 msgstr "ZRM"
 
-#: ../setup/ibus-pinyin-preferences.ui.h:54
+#: ../setup/ibus-pinyin-preferences.ui.h:55
 msgid "[,] [.] flip page"
 msgstr "Использовать клавиши [,] [.] для переключения страниц"
 
-#: ../setup/ibus-pinyin-preferences.ui.h:55
+#: ../setup/ibus-pinyin-preferences.ui.h:56
 msgid "[-] [=] flip page"
 msgstr "Использовать клавиши [-] [=] для переключения страниц"
 
-#: ../setup/ibus-pinyin-preferences.ui.h:56
+#: ../setup/ibus-pinyin-preferences.ui.h:57
 msgid "[Shift] select candidate"
 msgstr "Использовать [Shift] для выбора кандидатов"
 
-#: ../setup/ibus-pinyin-preferences.ui.h:57
+#: ../setup/ibus-pinyin-preferences.ui.h:58
 msgid "http://ibus.googlecode.com"
 msgstr "http://ibus.googlecode.com"
index 27ded66..73a6648 100644 (file)
@@ -7,7 +7,7 @@ msgid ""
 msgstr ""
 "Project-Id-Version: ibus-pinyin 1.2.99\n"
 "Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2010-03-25 19:11+0800\n"
+"POT-Creation-Date: 2010-03-25 19:34+0800\n"
 "PO-Revision-Date: 2009-09-20 16:05+8\n"
 "Last-Translator: Peng Huang <shawn.p.huang@gmail.com>\n"
 "Language-Team: Peng Huang <shawn.p.huang@gmail.com>\n"
@@ -44,7 +44,7 @@ msgstr "简体/繁体中文"
 msgid "Pinyin preferences"
 msgstr "拼音首选项"
 
-#: ../setup/main.py:38 ../setup/ibus-pinyin-preferences.ui.h:7
+#: ../setup/main.py:39 ../setup/ibus-pinyin-preferences.ui.h:7
 #, no-c-format, python-format
 msgid "<big><b>IBus Pinyin %s</b></big>"
 msgstr "<big><b>IBus 拼音 %s</b></big>"
@@ -207,58 +207,62 @@ msgid ""
 msgstr "当输入法处于繁体模式时,使用繁体候选词。"
 
 #: ../setup/ibus-pinyin-preferences.ui.h:44
+msgid "Show raw input of Double Pinyin"
+msgstr "显示双拼原始输入"
+
+#: ../setup/ibus-pinyin-preferences.ui.h:45
 msgid "Simplified"
 msgstr "简体"
 
-#: ../setup/ibus-pinyin-preferences.ui.h:45
+#: ../setup/ibus-pinyin-preferences.ui.h:46
 msgid "Traditional"
 msgstr "繁体"
 
-#: ../setup/ibus-pinyin-preferences.ui.h:46
+#: ../setup/ibus-pinyin-preferences.ui.h:47
 msgid "Use [,] [.] key to page up/down the lookup table."
 msgstr "按[,][.]键翻页。"
 
-#: ../setup/ibus-pinyin-preferences.ui.h:47
+#: ../setup/ibus-pinyin-preferences.ui.h:48
 msgid "Use [-] [=] key to page up/down the lookup table."
 msgstr "使用[-][=]键翻页。"
 
-#: ../setup/ibus-pinyin-preferences.ui.h:48
+#: ../setup/ibus-pinyin-preferences.ui.h:49
 msgid "Use double pinyin."
 msgstr "使用双拼。"
 
-#: ../setup/ibus-pinyin-preferences.ui.h:49
+#: ../setup/ibus-pinyin-preferences.ui.h:50
 msgid "Use full pinyin."
 msgstr "使用全拼。"
 
-#: ../setup/ibus-pinyin-preferences.ui.h:50
+#: ../setup/ibus-pinyin-preferences.ui.h:51
 msgid ""
 "Use left and right shift keys to select the second and thrid candidates."
 msgstr "使用左右[shift]键选择第二个和第三个候选词。"
 
-#: ../setup/ibus-pinyin-preferences.ui.h:51
+#: ../setup/ibus-pinyin-preferences.ui.h:52
 msgid "Vertical"
 msgstr "竖直"
 
-#: ../setup/ibus-pinyin-preferences.ui.h:52
+#: ../setup/ibus-pinyin-preferences.ui.h:53
 msgid "ZGPY"
 msgstr "紫光拼音"
 
-#: ../setup/ibus-pinyin-preferences.ui.h:53
+#: ../setup/ibus-pinyin-preferences.ui.h:54
 msgid "ZRM"
 msgstr "自然码"
 
-#: ../setup/ibus-pinyin-preferences.ui.h:54
+#: ../setup/ibus-pinyin-preferences.ui.h:55
 msgid "[,] [.] flip page"
 msgstr "[,][.]键翻页"
 
-#: ../setup/ibus-pinyin-preferences.ui.h:55
+#: ../setup/ibus-pinyin-preferences.ui.h:56
 msgid "[-] [=] flip page"
 msgstr "[-][=]键翻页"
 
-#: ../setup/ibus-pinyin-preferences.ui.h:56
+#: ../setup/ibus-pinyin-preferences.ui.h:57
 msgid "[Shift] select candidate"
 msgstr "[Shift]键选词"
 
-#: ../setup/ibus-pinyin-preferences.ui.h:57
+#: ../setup/ibus-pinyin-preferences.ui.h:58
 msgid "http://ibus.googlecode.com"
 msgstr "http://ibus.googlecode.com"
index 425ae9e..1613473 100644 (file)
@@ -97,7 +97,6 @@
                                 <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>
                                       <object class="GtkComboBox" id="DoublePinyinSchema">
                                         <property name="visible">True</property>
                                         <property name="sensitive">False</property>
+                                        <property name="tooltip_text" translatable="yes">Select double pinyin schema.</property>
                                         <property name="model">liststoreDoublePinyin</property>
                                         <property name="button_sensitivity">on</property>
                                       </object>
                             <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="bottom_attach">2</property>
                                   </packing>
                                 </child>
+                                <child>
+                                  <object class="GtkCheckButton" id="DoublePinyinShowRaw">
+                                    <property name="label" translatable="yes">Show raw input of Double Pinyin</property>
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="receives_default">False</property>
+                                    <property name="tooltip_text" translatable="yes">Show raw input of Double Pinyin</property>
+                                    <property name="draw_indicator">True</property>
+                                  </object>
+                                  <packing>
+                                    <property name="right_attach">2</property>
+                                    <property name="top_attach">5</property>
+                                    <property name="bottom_attach">6</property>
+                                  </packing>
+                                </child>
                               </object>
                             </child>
                           </object>
index 6ded867..ac18d66 100644 (file)
@@ -34,6 +34,7 @@ class PreferencesDialog:
         self.__double_pinyin = self.__builder.get_object("DoublePinyin")
         self.__double_pinyin_schema = self.__builder.get_object("DoublePinyinSchema")
         self.__double_pinyin_schema_label = self.__builder.get_object("labelDoublePinyinSchema")
+        self.__double_pinyin_show_raw = self.__builder.get_object("DoublePinyinShowRaw")
         self.__name_version = self.__builder.get_object("NameVersion")
         self.__name_version.set_markup(_("<big><b>IBus Pinyin %s</b></big>") % version.get_version())
 
@@ -45,14 +46,17 @@ class PreferencesDialog:
         self.__incomplete_pinyin.set_active(self.__get_value("IncompletePinyin", True))
         self.__full_pinyin.set_active(not self.__get_value("DoublePinyin", False))
         self.__double_pinyin_schema.set_active(self.__get_value("DoublePinyinSchema", 0))
+        self.__double_pinyin_show_raw.set_active(self.__get_value("DoublePinyinShowRaw", False))
         if self.__full_pinyin.get_active():
             # self.__incomplete_pinyin.set_sensitive(True)
             self.__double_pinyin_schema.set_sensitive(False)
             self.__double_pinyin_schema_label.set_sensitive(False)
+            self.__double_pinyin_show_raw.set_sensitive(False)
         else:
             # self.__incomplete_pinyin.set_sensitive(False)
             self.__double_pinyin_schema.set_sensitive(True)
             self.__double_pinyin_schema_label.set_sensitive(True)
+            self.__double_pinyin_show_raw.set_sensitive(True)
 
         def __full_pinyin_toggled_cb(widget):
             val = widget.get_active()
@@ -64,6 +68,7 @@ class PreferencesDialog:
             self.__set_value("DoublePinyin", val)
             self.__double_pinyin_schema.set_sensitive(val)
             self.__double_pinyin_schema_label.set_sensitive(val)
+            self.__double_pinyin_show_raw.set_sensitive(val)
 
         def __double_pinyin_schema_changed_cb(widget):
             self.__set_value("DoublePinyinSchema", widget.get_active())
@@ -73,6 +78,7 @@ class PreferencesDialog:
         self.__double_pinyin.connect("toggled", __double_pinyin_toggled_cb)
         self.__incomplete_pinyin.connect("toggled", self.__toggled_cb, "IncompletePinyin")
         self.__double_pinyin_schema.connect("changed", __double_pinyin_schema_changed_cb)
+        self.__double_pinyin_show_raw.connect("toggled", self.__toggled_cb, "DoublePinyinShowRaw")
 
     def __init_init_state(self):
         # init state
index bbbd2b7..622d134 100644 (file)
@@ -16,6 +16,7 @@ gboolean Config::m_auto_commit = FALSE;
 
 gboolean Config::m_double_pinyin = FALSE;
 gint Config::m_double_pinyin_schema = 0;
+gboolean Config::m_double_pinyin_show_raw = FALSE;
 
 gboolean Config::m_init_chinese = TRUE;
 gboolean Config::m_init_full = FALSE;
@@ -36,6 +37,7 @@ static const StaticString auto_commit ("AutoCommit");
 
 static const StaticString double_pinyin ("DoublePinyin");
 static const StaticString double_pinyin_schema ("DoublePinyinSchema");
+static const StaticString double_pinyin_show_raw ("DoublePinyinShowRaw");
 
 static const StaticString init_chinese ("InitChinese");
 static const StaticString init_full ("InitFull");
@@ -91,6 +93,11 @@ Config::readDefaultValues (void)
     /* double pinyin */
     m_double_pinyin = read (engine_pinyin, double_pinyin, false);
     m_double_pinyin_schema = read (engine_pinyin, double_pinyin_schema, 0);
+    if (m_double_pinyin_schema >= 5) {
+        m_double_pinyin_schema = 0;
+        g_warn_if_reached ();
+    }
+    m_double_pinyin_show_raw = read (engine_pinyin, double_pinyin_show_raw, false);
 
     /* init states */
     m_init_chinese = read (engine_pinyin, init_chinese, true);
@@ -189,8 +196,15 @@ Config::valueChangedCallback (IBusConfig    *config,
     /* double pinyin */
     if (double_pinyin == name)
         m_double_pinyin = normalizeGValue (value, false);
-    else if (double_pinyin_schema == name)
+    else if (double_pinyin_schema == name) {
         m_double_pinyin_schema = normalizeGValue (value, 0);
+        if (m_double_pinyin_schema >= 5) {
+            m_double_pinyin_schema = 0;
+            g_warn_if_reached ();
+        }
+    }
+    else if (double_pinyin_show_raw == name)
+        m_double_pinyin_show_raw = normalizeGValue (value, false);
     /* init states */
     else if (init_chinese == name)
         m_init_chinese = normalizeGValue (value, true);
index cbacae1..5d0f83b 100644 (file)
@@ -25,6 +25,7 @@ public:
     static gboolean autoCommit (void) { return m_auto_commit; }
     static gboolean doublePinyin (void) { return m_double_pinyin; }
     static gint doublePinyinSchema (void) { return m_double_pinyin_schema; }
+    static gboolean doublePinyinShowRaw (void) { return m_double_pinyin_show_raw; }
     static gboolean initChinese (void) { return m_init_chinese; }
     static gboolean initFull (void) { return m_init_full; }
     static gboolean initFullPunct (void) { return m_init_full_punct; }
@@ -57,6 +58,7 @@ private:
 
     static gboolean m_double_pinyin;
     static gint m_double_pinyin_schema;
+    static gboolean m_double_pinyin_show_raw;
 
     static gboolean m_init_chinese;
     static gboolean m_init_full;
index e0a1c48..1843c3f 100644 (file)
@@ -355,6 +355,9 @@ DoublePinyinEditor::updatePinyin (gboolean all)
 void
 DoublePinyinEditor::updateAuxiliaryTextAfter (String &buffer)
 {
+    if (G_LIKELY (!Config::doublePinyinShowRaw ()))
+        return;
+
     if (G_LIKELY (Config::orientation () == IBUS_ORIENTATION_HORIZONTAL)) {
         buffer << "        [ ";
     }