[ibus-pinyin] Rebuilt for libpinyin-0.5.92
Peng Wu
pwu at fedoraproject.org
Tue Mar 27 08:14:25 UTC 2012
commit 70bb791cd619ca0c485d9fc4e2d639eed870257d
Author: Peng Wu <alexepico at gmail.com>
Date: Tue Mar 27 16:09:24 2012 +0800
Rebuilt for libpinyin-0.5.92
ibus-pinyin-libpinyin-integration.patch | 4677 ++++++++++++++++++++++++++++++-
ibus-pinyin.spec | 6 +-
2 files changed, 4575 insertions(+), 108 deletions(-)
---
diff --git a/ibus-pinyin-libpinyin-integration.patch b/ibus-pinyin-libpinyin-integration.patch
index 1b64324..6afcb21 100644
--- a/ibus-pinyin-libpinyin-integration.patch
+++ b/ibus-pinyin-libpinyin-integration.patch
@@ -1,7 +1,7 @@
From 4d0b70d57a872931404868ec3eafd9ae0e5b4441 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 29 Aug 2011 14:14:46 +0800
-Subject: [PATCH 001/107] begin to integrate
+Subject: [PATCH 001/116] begin to integrate
---
src/PYPinyinBaseEditor.h | 91 ++++++++++++++++++++++++++++++++++++++++++++++
@@ -112,7 +112,7 @@ index 0000000..0bed00a
From 2fcee36056380fa72fcfab98f55508151b068e1c Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 30 Aug 2011 18:24:02 +0800
-Subject: [PATCH 002/107] begin to write libpinyin backend singleton
+Subject: [PATCH 002/116] begin to write libpinyin backend singleton
---
src/PYLibPinyin.h | 36 ++++++++++++++++++++++++++++++++++++
@@ -168,7 +168,7 @@ index 0000000..cfd8566
From 7a74baf03f6bdf37d033efa6a66feab936ab255b Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 1 Sep 2011 11:24:02 +0800
-Subject: [PATCH 003/107] rename editor class
+Subject: [PATCH 003/116] rename editor class
---
src/PYLibPinyin.h | 5 +++++
@@ -242,7 +242,7 @@ index 0bed00a..ee200a1 100644
From e5da1763d6db253ae4f89880974dfa094ca43c92 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 1 Sep 2011 13:02:24 +0800
-Subject: [PATCH 004/107] rename editor header
+Subject: [PATCH 004/116] rename editor header
---
src/PYLibPinyinBaseEditor.h | 92 +++++++++++++++++++++++++++++++++++++++++++
@@ -454,7 +454,7 @@ index ee200a1..0000000
From 772a6b8cb77f01f1832ea25c88db6d9d9d4f3ab9 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 1 Sep 2011 15:13:09 +0800
-Subject: [PATCH 005/107] begin to write libpinyin base editor
+Subject: [PATCH 005/116] begin to write libpinyin base editor
---
src/PYLibPinyinBaseEditor.cc | 318 ++++++++++++++++++++++++++++++++++++++++++
@@ -806,7 +806,7 @@ index ee200a1..c7b0d2b 100644
From d14c7c5cef6f21421fe0bc19b1179b202f416e3b Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 1 Sep 2011 15:51:53 +0800
-Subject: [PATCH 006/107] fixes compile
+Subject: [PATCH 006/116] fixes compile
---
src/Makefile.am | 3 +++
@@ -866,7 +866,7 @@ index c7b0d2b..d682a7b 100644
From 5e4d1aba9a99203f8cf664ef0ac6a00368bf8623 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 2 Sep 2011 10:34:06 +0800
-Subject: [PATCH 007/107] add special phrases handle in libpinyin base editor
+Subject: [PATCH 007/116] add special phrases handle in libpinyin base editor
---
src/PYLibPinyinBaseEditor.cc | 27 +++++++++++++++++++++------
@@ -949,7 +949,7 @@ index d682a7b..fa5755c 100644
From 18a7fac7337e7f6d1ec953454cd26ec8a99525b1 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 2 Sep 2011 14:30:11 +0800
-Subject: [PATCH 008/107] begin to write concrete pinyin editors
+Subject: [PATCH 008/116] begin to write concrete pinyin editors
---
src/PYLibPinyinDoublePinyinEditor.h | 57 +++++++++++++++++++++++++++++++++
@@ -1093,7 +1093,7 @@ index 0000000..dcc1728
From 6294d7dd68f2a3a9d17830bf6c4768af6a374cd1 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 2 Sep 2011 15:26:21 +0800
-Subject: [PATCH 009/107] rename files
+Subject: [PATCH 009/116] rename files
---
src/PYLibPinyinBaseEditor.cc | 332 -----------------------------------
@@ -2245,7 +2245,7 @@ index 0000000..fa5755c
From 2a351f4f7a5ac32459b94622340de901561b9764 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 2 Sep 2011 15:39:31 +0800
-Subject: [PATCH 010/107] add libpinyin pinyin editor header
+Subject: [PATCH 010/116] add libpinyin pinyin editor header
---
src/PYPPinyinEditor.h | 56 +++++++++++++++++++++++++++++++++++++++++++++++++
@@ -2321,7 +2321,7 @@ index 0000000..4213395
From f8dca3a01a6f976fd41a13bb01dac6ab8134eb0f Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 2 Sep 2011 15:49:13 +0800
-Subject: [PATCH 011/107] rename base editor
+Subject: [PATCH 011/116] rename base editor
---
src/Makefile.am | 6 +++-
@@ -2641,7 +2641,7 @@ index 4213395..fd2b2ce 100644
From 9d7be99bc520bd98cf52fa88f947f3787e411fde Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 2 Sep 2011 16:49:00 +0800
-Subject: [PATCH 012/107] begin to write pinyin editor
+Subject: [PATCH 012/116] begin to write pinyin editor
---
src/PYPPinyinEditor.cc | 202 ++++++++++++++++++++++++++++++++++++++++++++++++
@@ -2864,7 +2864,7 @@ index a259a99..a78544d 100644
From 3799224a7f951a40b47f202e428d1d390b53fd25 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 5 Sep 2011 16:59:49 +0800
-Subject: [PATCH 013/107] begin to write bopomofo editor
+Subject: [PATCH 013/116] begin to write bopomofo editor
---
src/PYPBopomofoEditor.cc | 374 ++++++++++++++++++++++++++++++++++++++++++++++
@@ -3343,7 +3343,7 @@ index 0000000..bcbf85d
From e9f90e33c992e4c463235862acd20a5329381f8e Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 5 Sep 2011 17:13:31 +0800
-Subject: [PATCH 014/107] fixes compile
+Subject: [PATCH 014/116] fixes compile
---
src/Makefile.am | 2 ++
@@ -3426,7 +3426,7 @@ index bcbf85d..f78375f 100644
From 4e279112646c10657191b8529d0b96d15a9d14dd Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 8 Sep 2011 15:13:17 +0800
-Subject: [PATCH 015/107] add libpinyin deps
+Subject: [PATCH 015/116] add libpinyin deps
---
configure.ac | 5 +++++
@@ -3499,7 +3499,7 @@ index 3d64bc4..f222557 100644
From 979bbe6338cf796d97953b0a95d13fc00f0bf650 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 8 Sep 2011 18:02:51 +0800
-Subject: [PATCH 016/107] begin to write libpinyin backend
+Subject: [PATCH 016/116] begin to write libpinyin backend
---
src/Makefile.am | 1 +
@@ -3595,7 +3595,7 @@ index d3bc90c..c07b435 100644
From c79a32bd545251896d6bc02f27235669abe86774 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 14 Sep 2011 17:49:47 +0800
-Subject: [PATCH 017/107] add set options to libpinyin back end
+Subject: [PATCH 017/116] add set options to libpinyin back end
---
src/PYLibPinyin.cc | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++
@@ -3704,7 +3704,7 @@ index c07b435..83aa1fc 100644
From 48e7bb8f1db150e6e0ea4b76e1d28d7f349c432d Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 15 Sep 2011 15:19:49 +0800
-Subject: [PATCH 018/107] remove special phrase
+Subject: [PATCH 018/116] remove special phrase
---
src/PYPPhoneticEditor.cc | 41 -----------------------------------------
@@ -3816,7 +3816,7 @@ index f222557..f7a3704 100644
From d8fc6ba5611fd6bb00282446a71da970c249695a Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 16 Sep 2011 15:43:35 +0800
-Subject: [PATCH 019/107] refactor libpinyin phonetic editor
+Subject: [PATCH 019/116] refactor libpinyin phonetic editor
---
src/PYPPhoneticEditor.cc | 59 +++++++++++++++++++++++++++++++++++++++------
@@ -3953,7 +3953,7 @@ index f7a3704..a3b03ff 100644
From a7516b6b7dd80fb57fb8b5db176f907584975b4c Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 16 Sep 2011 15:51:12 +0800
-Subject: [PATCH 020/107] clean up libpinyin bopomofo editor
+Subject: [PATCH 020/116] clean up libpinyin bopomofo editor
---
src/PYPBopomofoEditor.cc | 39 +++++++++++++--------------------------
@@ -4037,7 +4037,7 @@ index cb64abd..35c9ed2 100644
From a65345601ddcc396d0742c9c46164b8acf567d2b Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 16 Sep 2011 17:31:56 +0800
-Subject: [PATCH 021/107] add m_pinyin_len back
+Subject: [PATCH 021/116] add m_pinyin_len back
---
src/PYPPhoneticEditor.cc | 20 +++++++++++---------
@@ -4132,7 +4132,7 @@ index a3b03ff..32a5245 100644
From 009663c6c618612a022bfb4cb9dd422e439f573f Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 19 Sep 2011 16:10:48 +0800
-Subject: [PATCH 022/107] write pinyin editor in progress
+Subject: [PATCH 022/116] write pinyin editor in progress
---
src/PYPPhoneticEditor.h | 2 +-
@@ -4259,7 +4259,7 @@ index a78544d..a435b82 100644
From acca31ee1da743f2f4850eb6562dba73aa9c6a7d Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 19 Sep 2011 16:26:42 +0800
-Subject: [PATCH 023/107] begin to write libpinyin full pinyin editor
+Subject: [PATCH 023/116] begin to write libpinyin full pinyin editor
---
src/Makefile.am | 1 +
@@ -4356,7 +4356,7 @@ index 0000000..9712d97
From 48297caeed02607f0f124510d488d71e69b8e303 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 20 Sep 2011 13:52:05 +0800
-Subject: [PATCH 024/107] write update pinyin
+Subject: [PATCH 024/116] write update pinyin
---
src/PYPFullPinyinEditor.cc | 31 +++++++++++++++++++++++++++++++
@@ -4422,7 +4422,7 @@ index a6e74c4..afb52d5 100644
From a71b5e486260f98e527d6fe9b538a1af2089b6ed Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 20 Sep 2011 16:12:46 +0800
-Subject: [PATCH 025/107] add char edit
+Subject: [PATCH 025/116] add char edit
---
src/PYPFullPinyinEditor.cc | 39 +++++++++++++++++++++++++++++++++++++++
@@ -4485,7 +4485,7 @@ index 5194ef8..2b8babc 100644
From 0af6961241de8fe55420ae3196582ccf3a7a883e Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 21 Sep 2011 10:14:49 +0800
-Subject: [PATCH 026/107] write full pinyin editor in progress
+Subject: [PATCH 026/116] write full pinyin editor in progress
---
src/PYPFullPinyinEditor.cc | 131 +++++++++++++++++++++++++++++++++++++++++++-
@@ -4640,7 +4640,7 @@ index 2b8babc..7e764c7 100644
From c692d73e9a7953f785dfc6b75b458d2056baa717 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 21 Sep 2011 10:34:46 +0800
-Subject: [PATCH 027/107] use m_pinyin_poses in full pinyin editor
+Subject: [PATCH 027/116] use m_pinyin_poses in full pinyin editor
---
src/PYPFullPinyinEditor.cc | 32 ++++++++++++++++++++++----------
@@ -4721,7 +4721,7 @@ index 7e764c7..0a05c5a 100644
From 45fc184f99a90c32d282732b5adf1199b219016c Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 21 Sep 2011 11:25:58 +0800
-Subject: [PATCH 028/107] use pinyin pos
+Subject: [PATCH 028/116] use pinyin pos
---
src/PYPPhoneticEditor.cc | 14 ++++++++------
@@ -4782,7 +4782,7 @@ index a435b82..68617a3 100644
From 9d968ec9eb391d26b1762dfeae1699e92a4e6614 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 21 Sep 2011 11:39:17 +0800
-Subject: [PATCH 029/107] re-factor full pinyin editor
+Subject: [PATCH 029/116] re-factor full pinyin editor
---
src/PYPFullPinyinEditor.cc | 83 +++++++++++++++++++------------------------
@@ -4946,7 +4946,7 @@ index afb52d5..11e53cb 100644
From 1bf1279f74ca5eb26e1250d862d5c6d722cc10f6 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 21 Sep 2011 12:22:55 +0800
-Subject: [PATCH 030/107] add update aux text func for full pinyin
+Subject: [PATCH 030/116] add update aux text func for full pinyin
---
src/PYPFullPinyinEditor.cc | 37 +++++++++++++++++++++++++++++++++++++
@@ -5056,7 +5056,7 @@ index fd2b2ce..41aafc6 100644
From 05035a2ca103c6dc795bcd810df7fba86f22f8a7 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 21 Sep 2011 14:02:14 +0800
-Subject: [PATCH 031/107] begin to add double pinyin editor
+Subject: [PATCH 031/116] begin to add double pinyin editor
---
src/Makefile.am | 1 +
@@ -5129,7 +5129,7 @@ index 0000000..5eb2067
From 490d506672590d37242cbb45cc8ec871d6f23137 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 21 Sep 2011 14:18:36 +0800
-Subject: [PATCH 032/107] move cursor edit funcs to pinyin editor
+Subject: [PATCH 032/116] move cursor edit funcs to pinyin editor
---
src/PYPDoublePinyinEditor.h | 2 +
@@ -5586,7 +5586,7 @@ index 41aafc6..974d2a5 100644
From dde9caeb198ab9756555ac8e040090941e53abba Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 21 Sep 2011 14:52:09 +0800
-Subject: [PATCH 033/107] add update pinyin
+Subject: [PATCH 033/116] add update pinyin
---
src/PYPDoublePinyinEditor.cc | 16 ++++++++++++++++
@@ -5676,7 +5676,7 @@ index 9c1644e..05de60d 100644
From cb25a0b9ee36d12d09ef9a0644888bfd2066252a Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 22 Sep 2011 14:24:09 +0800
-Subject: [PATCH 034/107] write double pinyin editor
+Subject: [PATCH 034/116] write double pinyin editor
---
src/PYPDoublePinyinEditor.cc | 93 ++++++++++++++++++++++++++++++++++++++++++
@@ -5841,7 +5841,7 @@ index 08fc04e..8108002 100644
From 204a6f858e9a2e6577f78d2368474d048b643098 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 22 Sep 2011 14:35:40 +0800
-Subject: [PATCH 035/107] begin to write bopomofo editor
+Subject: [PATCH 035/116] begin to write bopomofo editor
---
src/PYPBopomofoEditor.cc | 119 ----------------------------------------------
@@ -6054,7 +6054,7 @@ index 974d2a5..00b49ce 100644
From 3b2103d9293ce891f4b47173f60b194916046b18 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 22 Sep 2011 15:00:11 +0800
-Subject: [PATCH 036/107] write bopomofo editor in progress
+Subject: [PATCH 036/116] write bopomofo editor in progress
---
src/PYPBopomofoEditor.cc | 68 ++++++++++++++++++++++++++++++++++++++++++++++
@@ -6164,7 +6164,7 @@ index 00b49ce..974d2a5 100644
From aea71c5a524cb814cb1697ed4b97a944eb899db6 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 22 Sep 2011 15:18:37 +0800
-Subject: [PATCH 037/107] write bopomofo editor
+Subject: [PATCH 037/116] write bopomofo editor
---
src/PYPBopomofoEditor.cc | 35 ++++++++++++++++++++++++++++++++++-
@@ -6260,7 +6260,7 @@ index 8108002..5599416 100644
From 567aec11de7f8df43a12deda4227ebd975ef6d2e Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 22 Sep 2011 15:31:06 +0800
-Subject: [PATCH 038/107] remove m_pinyins
+Subject: [PATCH 038/116] remove m_pinyins
---
src/PYPBopomofoEditor.cc | 1 -
@@ -6371,7 +6371,7 @@ index 56a8ee4..9d522bf 100644
From 809905b63d340e823190625ccd82a248fe66e2b8 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 22 Sep 2011 15:49:29 +0800
-Subject: [PATCH 039/107] fixes Makefile.am
+Subject: [PATCH 039/116] fixes Makefile.am
---
src/Makefile.am | 2 ++
@@ -6410,7 +6410,7 @@ index 0c7e46f..db4f9b4 100644
From 57911c37fc0f515d7459e1c7e95ce356bb0d9f66 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 23 Sep 2011 14:44:10 +0800
-Subject: [PATCH 040/107] add set chewing options
+Subject: [PATCH 040/116] add set chewing options
---
src/PYLibPinyin.cc | 29 ++++++++++++++++++++++++++++-
@@ -6489,7 +6489,7 @@ index 83aa1fc..538930c 100644
From 80723f3558c00e6f5008434ae8c568fdcf0ac8e4 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 26 Sep 2011 15:33:00 +0800
-Subject: [PATCH 041/107] add libpinyin pinyin/chewing scheme options
+Subject: [PATCH 041/116] add libpinyin pinyin/chewing scheme options
---
src/PYLibPinyin.cc | 45 ++++++++++++++++++++++++++++++++++++++-------
@@ -6601,7 +6601,7 @@ index 538930c..3d40b1d 100644
From 3497f64da0b6b6e7ffb85769b05e49f04221b08f Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 28 Sep 2011 15:08:11 +0800
-Subject: [PATCH 042/107] add PYPPinyinEngine.h
+Subject: [PATCH 042/116] add PYPPinyinEngine.h
---
src/Makefile.am | 1 +
@@ -6714,7 +6714,7 @@ index 0000000..d8040c1
From 1de241261875c35144a0a732849e057bc9bcc962 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 28 Sep 2011 17:09:11 +0800
-Subject: [PATCH 043/107] add libpinyin pinyin engine
+Subject: [PATCH 043/116] add libpinyin pinyin engine
---
src/Makefile.am | 1 +
@@ -7072,7 +7072,7 @@ index 0000000..2877702
From b7042d52ffb286de6231a43b3c53947a78c19155 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 28 Sep 2011 17:30:41 +0800
-Subject: [PATCH 044/107] write bopomofo editor
+Subject: [PATCH 044/116] write bopomofo editor
---
src/PYPBopomofoEditor.cc | 131 ++++++++++++++++++++++++++++++++++++++++++++++
@@ -7376,7 +7376,7 @@ index 9d522bf..f2d7309 100644
From a06c8ad7f26ca41a2c52bd824bed0fc0461ba58b Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 28 Sep 2011 17:35:18 +0800
-Subject: [PATCH 045/107] re-factor pinyin editor
+Subject: [PATCH 045/116] re-factor pinyin editor
---
src/PYPPinyinEditor.cc | 73 +-----------------------------------------------
@@ -7507,7 +7507,7 @@ index 974d2a5..87fe210 100644
From 6a7e7ef94cc3e457fcd81bb9988ff83a9e1c9406 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 28 Sep 2011 17:51:56 +0800
-Subject: [PATCH 046/107] polish code
+Subject: [PATCH 046/116] polish code
---
src/PYPPinyinEngine.cc | 29 +++++++++--------------------
@@ -7597,7 +7597,7 @@ index d8040c1..7a2d635 100644
From 5c5f74abcc1f29a8da8c66dbb9db9a58dbb4cf4a Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 29 Sep 2011 10:28:25 +0800
-Subject: [PATCH 047/107] fixes libpinyin pinyin engine
+Subject: [PATCH 047/116] fixes libpinyin pinyin engine
---
src/PYPPinyinEngine.cc | 4 +++-
@@ -7636,7 +7636,7 @@ index f8e20ee..1fc4933 100644
From b35d3416c2ea19f1ec33b622db3968f1c78804e2 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 29 Sep 2011 11:03:50 +0800
-Subject: [PATCH 048/107] re-factor libpinyin backend
+Subject: [PATCH 048/116] re-factor libpinyin backend
---
src/PYLibPinyin.cc | 22 ++++++++++++++++------
@@ -7729,7 +7729,7 @@ index f786b70..d24cc3c 100644
From 08242f69f3740431d0fadc352fbcad7535827eb1 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 29 Sep 2011 13:46:48 +0800
-Subject: [PATCH 049/107] add PYPBopomofoEngine.h
+Subject: [PATCH 049/116] add PYPBopomofoEngine.h
---
src/Makefile.am | 1 +
@@ -7846,7 +7846,7 @@ index 0000000..f767908
From 6438ef7044c5d6d5e6e187dfd7d5c57deb601e8c Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 29 Sep 2011 14:59:44 +0800
-Subject: [PATCH 050/107] add PYPBopomofoEngine.cc
+Subject: [PATCH 050/116] add PYPBopomofoEngine.cc
---
src/Makefile.am | 1 +
@@ -8133,7 +8133,7 @@ index 0000000..e48e9af
From 4de98d738a224f4e7a72e01c2be24d280fbb4f3a Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 29 Sep 2011 15:08:52 +0800
-Subject: [PATCH 051/107] add libpinyin engines to PYEngine.cc
+Subject: [PATCH 051/116] add libpinyin engines to PYEngine.cc
---
src/PYEngine.cc | 25 ++++++++++++++++++++-----
@@ -8189,7 +8189,7 @@ index 7987146..3a34afc 100644
From 5eafd4293c651be31bd1fdc8e406f8db48dcd8af Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 30 Sep 2011 10:30:11 +0800
-Subject: [PATCH 052/107] add show setup
+Subject: [PATCH 052/116] add show setup
---
src/PYPBopomofoEngine.cc | 3 ++-
@@ -8241,7 +8241,7 @@ index 1fc4933..c163cfc 100644
From fd1f18c48e6fbec50e8c908552c446c60363a94b Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 30 Sep 2011 10:54:25 +0800
-Subject: [PATCH 053/107] add lazy init
+Subject: [PATCH 053/116] add lazy init
---
src/PYLibPinyin.cc | 45 ++++++++++++++++++++++++++++++++++++++++-----
@@ -8340,7 +8340,7 @@ index 212bf53..44ed727 100644
From e5870dfe0dc3a85182b8f92322ac25127de10af5 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 7 Oct 2011 12:53:14 +0800
-Subject: [PATCH 054/107] write libpinyin backend
+Subject: [PATCH 054/116] write libpinyin backend
---
src/PYLibPinyin.cc | 10 ++++++++++
@@ -8402,7 +8402,7 @@ index a7097fe..d76e612 100644
From 1e7522cfd85fbf7ed2ef512ae8f093039f7a699d Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 7 Oct 2011 13:05:20 +0800
-Subject: [PATCH 055/107] write PYConfig
+Subject: [PATCH 055/116] write PYConfig
---
src/PYConfig.cc | 7 +++++++
@@ -8440,7 +8440,7 @@ index 1373607..9e539c8 100644
From 1e18f80266808ba71138775d73244abff6f2fdd7 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Sat, 8 Oct 2011 10:03:26 +0800
-Subject: [PATCH 056/107] alloc/free pinyin instance
+Subject: [PATCH 056/116] alloc/free pinyin instance
---
src/PYMain.cc | 2 +-
@@ -8576,7 +8576,7 @@ index 87fe210..3c61918 100644
From 4f1d32d049a3769fb09b43dc130353a1f1b8766b Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Sat, 8 Oct 2011 10:11:35 +0800
-Subject: [PATCH 057/107] add engines
+Subject: [PATCH 057/116] add engines
---
src/PYMain.cc | 32 +++++++++++++++++++++++++++++++-
@@ -8653,7 +8653,7 @@ index ae7c4cd..4031582 100644
From 4f6d9fdb5723b7d9141524dfcb3c049ee37a2ed7 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Sat, 8 Oct 2011 10:37:40 +0800
-Subject: [PATCH 058/107] fixes full editor
+Subject: [PATCH 058/116] fixes full editor
---
src/PYPFullPinyinEditor.cc | 5 ++++-
@@ -8725,7 +8725,7 @@ index c163cfc..4aae9a9 100644
From c22d0d6a24c969821e60f624fd93b1851fc334ab Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Sat, 8 Oct 2011 11:29:03 +0800
-Subject: [PATCH 059/107] fixes double pinyin
+Subject: [PATCH 059/116] fixes double pinyin
---
src/PYPDoublePinyinEditor.cc | 8 +++++++-
@@ -8780,7 +8780,7 @@ index 0b7d603..69ed5ab 100644
From 6a11e90a42cbca5c4a0990b5af780a61e4770d1e Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Sat, 8 Oct 2011 11:40:11 +0800
-Subject: [PATCH 060/107] fixes chewing editor
+Subject: [PATCH 060/116] fixes chewing editor
---
src/PYEngine.cc | 2 +-
@@ -8836,7 +8836,7 @@ index f13fcc9..1a330cc 100644
From 68542b98d00d853e4a697a037905e10bc4671d5d Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Sat, 8 Oct 2011 18:53:12 +0800
-Subject: [PATCH 061/107] add to pinyin.xml.in.in
+Subject: [PATCH 061/116] add to pinyin.xml.in.in
---
src/pinyin.xml.in.in | 28 ++++++++++++++++++++++++++++
@@ -8888,7 +8888,7 @@ index 94b803a..f8ada12 100644
From c8ca05ddaeb49f990ce486ad66b2d0eb84c57b7c Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Sat, 8 Oct 2011 19:01:16 +0800
-Subject: [PATCH 062/107] fixes update preedit text
+Subject: [PATCH 062/116] fixes update preedit text
---
src/PYPBopomofoEditor.cc | 14 ++++++++------
@@ -8954,7 +8954,7 @@ index 817f621..3d7deff 100644
From bb096fc88fdfb03deb8e29f0865676f540ce3669 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 10 Oct 2011 13:08:27 +0800
-Subject: [PATCH 063/107] update main.py
+Subject: [PATCH 063/116] update main.py
---
setup/main.py | 21 +++++++++++++++------
@@ -9033,7 +9033,7 @@ index 0e3a729..197ea8b 100644
From 4b6fb2b018f52b1af75fa8aebb629497fef5a07f Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 10 Oct 2011 14:08:17 +0800
-Subject: [PATCH 064/107] add update when select candidate
+Subject: [PATCH 064/116] add update when select candidate
---
src/PYPBopomofoEditor.cc | 2 ++
@@ -9103,7 +9103,7 @@ index 3d7deff..4b8aa21 100644
From f93acc44b3cc2c14ed739c9a70ca2538dd970789 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 10 Oct 2011 15:25:20 +0800
-Subject: [PATCH 065/107] fixes commit/reset
+Subject: [PATCH 065/116] fixes commit/reset
---
src/PYPPhoneticEditor.cc | 1 +
@@ -9128,7 +9128,7 @@ index a5d7675..c50b265 100644
From 84ba51d4a668b8b6d7f93f2c142b9def4c1fba09 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 10 Oct 2011 17:30:39 +0800
-Subject: [PATCH 066/107] fixes space handle
+Subject: [PATCH 066/116] fixes space handle
---
src/PYPPhoneticEditor.cc | 7 ++-----
@@ -9180,7 +9180,7 @@ index 4b8aa21..195d0e3 100644
From 5250368d8b054195b68388fe9675778f582f28ed Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 11 Oct 2011 11:14:18 +0800
-Subject: [PATCH 067/107] fixes choose candidate
+Subject: [PATCH 067/116] fixes choose candidate
---
src/PYPPhoneticEditor.cc | 8 +++++++-
@@ -9213,7 +9213,7 @@ index dc494d5..6be7079 100644
From a83024ca7e24c5a1bd3054f7824d985e2f67bbf8 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 25 Oct 2011 14:11:13 +0800
-Subject: [PATCH 068/107] update pinyin.xml.in.in
+Subject: [PATCH 068/116] update pinyin.xml.in.in
---
src/pinyin.xml.in.in | 10 ++++++++--
@@ -9260,7 +9260,7 @@ index f8ada12..d2b267d 100644
From 4d6a548b773ab5d59641208b5668a000287075d3 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 25 Oct 2011 14:36:36 +0800
-Subject: [PATCH 069/107] add user data directory support
+Subject: [PATCH 069/116] add user data directory support
---
src/PYLibPinyin.cc | 16 +++++++++++++++-
@@ -9310,7 +9310,7 @@ index d76e612..077e7e0 100644
From 59b266d410cedb70f2b8b2aa8c1619184b2fb0ee Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 26 Oct 2011 10:10:58 +0800
-Subject: [PATCH 070/107] add save support
+Subject: [PATCH 070/116] add save support
---
src/PYLibPinyin.cc | 51 ++++++++++++++++++++++++++++++++++++++++++++++
@@ -9466,7 +9466,7 @@ index 195d0e3..e676f6d 100644
From 8c9b93ed7da9df14257b6f8d555a8b5a6defccae Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 27 Oct 2011 11:36:59 +0800
-Subject: [PATCH 071/107] hide bopomofo
+Subject: [PATCH 071/116] hide bopomofo
---
src/pinyin.xml.in.in | 23 ++++-------------------
@@ -9526,7 +9526,7 @@ index d2b267d..93b14a1 100644
From ad473e4b6d938b5e4cba72ecb49a4e5cc756cb4a Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 31 Oct 2011 11:18:09 +0800
-Subject: [PATCH 072/107] improves pinyin.xml
+Subject: [PATCH 072/116] improves pinyin.xml
---
src/pinyin.xml.in.in | 6 +++---
@@ -9570,7 +9570,7 @@ index 93b14a1..862801b 100644
From ff59fc1cc01c973d43cef4365293b906690c6481 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 3 Nov 2011 11:31:05 +0800
-Subject: [PATCH 073/107] fixes select candidate
+Subject: [PATCH 073/116] fixes select candidate
---
src/PYPPhoneticEditor.cc | 4 ++++
@@ -9598,7 +9598,7 @@ index 6be7079..dc66689 100644
From 1aa1e525b824b52795fdd84551077f4fdd1d3982 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 3 Nov 2011 13:19:12 +0800
-Subject: [PATCH 074/107] add compile flags
+Subject: [PATCH 074/116] add compile flags
---
configure.ac | 14 +++++++++++++-
@@ -9817,7 +9817,7 @@ index 4031582..49fd7ec 100644
From c17b5a6fba9af303e7d8c1d8a2575aeccc6fe596 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 7 Nov 2011 12:53:41 +0800
-Subject: [PATCH 075/107] fixes 'hon' auto correction
+Subject: [PATCH 075/116] fixes 'hon' auto correction
---
src/PYPFullPinyinEditor.cc | 4 +++-
@@ -9845,7 +9845,7 @@ index 69ed5ab..07073b6 100644
From 9ea1f7abfe470fd0b2f4832eee612e98d62072b4 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 7 Nov 2011 13:14:06 +0800
-Subject: [PATCH 076/107] update header
+Subject: [PATCH 076/116] update header
---
src/PYPBopomofoEditor.h | 10 ----------
@@ -9955,7 +9955,7 @@ index 3c61918..815b7a0 100644
From b068207b550f53309f5950ee14a2124224c36841 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 7 Nov 2011 13:33:28 +0800
-Subject: [PATCH 077/107] copy move cursor by word functions
+Subject: [PATCH 077/116] copy move cursor by word functions
---
src/PYPPhoneticEditor.cc | 99 ++++++++++++++++++++++++++++++++++++++++++++++
@@ -10075,7 +10075,7 @@ index dc66689..ac94ba7 100644
From 266f166b84f396dac50f4cdc4106527a635ade4b Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 7 Nov 2011 13:39:58 +0800
-Subject: [PATCH 078/107] remove cursor by word functions
+Subject: [PATCH 078/116] remove cursor by word functions
---
src/PYPBopomofoEditor.cc | 98 ----------------------------------------------
@@ -10300,7 +10300,7 @@ index e676f6d..7acf3a9 100644
From d51411dd4f9e728c68ccdf9949198fa6f16b753f Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 7 Nov 2011 14:22:19 +0800
-Subject: [PATCH 079/107] show guessed sentence in lookup table
+Subject: [PATCH 079/116] show guessed sentence in lookup table
---
src/PYPPhoneticEditor.cc | 35 ++++++++++++++++++++++++++++++-----
@@ -10382,7 +10382,7 @@ index ac94ba7..a249b54 100644
From 4b12c07f98d9e0cb437034ad5215b9001e98321e Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 7 Nov 2011 14:40:06 +0800
-Subject: [PATCH 080/107] fixes select candidate
+Subject: [PATCH 080/116] fixes select candidate
---
src/PYPPhoneticEditor.cc | 16 +++++++++++++++-
@@ -10431,7 +10431,7 @@ index a249b54..c5c8041 100644
From 2db3c83f7ed2dbcba3c579cfe9963577eaf58a59 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 7 Nov 2011 14:50:54 +0800
-Subject: [PATCH 081/107] add get lookup cursor function
+Subject: [PATCH 081/116] add get lookup cursor function
---
src/PYPPhoneticEditor.cc | 35 ++++++++++++++++++++---------------
@@ -10536,7 +10536,7 @@ index b2235f3..1360e58 100644
From 7a10a4c189f8f28333c4bd8857a9bba4fd009a59 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 7 Nov 2011 15:09:46 +0800
-Subject: [PATCH 082/107] show the rest of guessed sentence
+Subject: [PATCH 082/116] show the rest of guessed sentence
---
src/PYPPhoneticEditor.cc | 8 +++++---
@@ -10575,7 +10575,7 @@ index b9dbc85..4f2c1e1 100644
From 705c791f5c535bc02c349c6ea686d6b69db6b559 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 8 Nov 2011 13:03:31 +0800
-Subject: [PATCH 083/107] clean code
+Subject: [PATCH 083/116] clean code
---
src/PYPPhoneticEditor.cc | 40 +++++++++++++++++-----------------------
@@ -10652,7 +10652,7 @@ index 4f2c1e1..e79e492 100644
From 4052c696561ff06e74029cd1ec43355295e15e8c Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 8 Nov 2011 13:14:34 +0800
-Subject: [PATCH 084/107] remove duplicated candidates
+Subject: [PATCH 084/116] remove duplicated candidates
---
src/PYPPhoneticEditor.cc | 9 ++++++++-
@@ -10696,7 +10696,7 @@ index e79e492..b5903ae 100644
From 3fbb80c187f3dc4b7296d838a78a054fe82d3266 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 8 Nov 2011 14:14:48 +0800
-Subject: [PATCH 085/107] fixes first candidate
+Subject: [PATCH 085/116] fixes first candidate
---
src/PYPPhoneticEditor.cc | 8 ++++++--
@@ -10729,7 +10729,7 @@ index b5903ae..b691e88 100644
From 0fb453ad10c68a4a4462c1e163afd5825696d9d3 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 14 Nov 2011 14:23:10 +0800
-Subject: [PATCH 086/107] fixes fill candidates
+Subject: [PATCH 086/116] fixes fill candidates
---
src/PYPPhoneticEditor.cc | 3 +++
@@ -10756,7 +10756,7 @@ index b691e88..a713a71 100644
From 092b927577798f6e4742c6a0d8e98fcd4d30adea Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 22 Nov 2011 10:54:35 +0800
-Subject: [PATCH 087/107] fixes pinyin yunmu 'v' handle
+Subject: [PATCH 087/116] fixes pinyin yunmu 'v' handle
---
src/PYPFullPinyinEditor.cc | 13 ++++++++++++-
@@ -10793,7 +10793,7 @@ index 07073b6..9c019e3 100644
From 31abb4ac2825319bd33bd9f6748cc4627ab5311e Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Fri, 25 Nov 2011 15:23:41 +0800
-Subject: [PATCH 088/107] fixes process space in libpinyin phonetic editor
+Subject: [PATCH 088/116] fixes process space in libpinyin phonetic editor
---
src/PYPPhoneticEditor.cc | 9 ++++++++-
@@ -10826,7 +10826,7 @@ index a713a71..32a30a2 100644
From 904ce4a5ade3e04c063081b549b75efafad73f56 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 20 Dec 2011 16:42:41 +0800
-Subject: [PATCH 089/107] add LibPinyin Config
+Subject: [PATCH 089/116] add LibPinyin Config
---
src/Makefile.am | 2 +
@@ -11471,7 +11471,7 @@ index 0000000..19d3ba5
From fa92d8b0c2100ed37983f1bd210695d16ce9182b Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 20 Dec 2011 17:05:00 +0800
-Subject: [PATCH 090/107] forked PY::Config
+Subject: [PATCH 090/116] forked PY::Config
---
src/PYLibPinyin.cc | 96 ++++++++++++----------------------------------------
@@ -11656,7 +11656,7 @@ index 32919b9..c264395 100644
From e0af17eacda954dadaf84c474e6dedd707986f80 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 20 Dec 2011 17:28:48 +0800
-Subject: [PATCH 091/107] use new parsers
+Subject: [PATCH 091/116] use new parsers
---
src/Makefile.am | 2 +-
@@ -11990,7 +11990,7 @@ index 7acf3a9..2391485 100644
From 98118c2e9ef40e1ce33806a03d206a0e6027e65f Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 21 Dec 2011 12:53:51 +0800
-Subject: [PATCH 092/107] update bopomofo editor
+Subject: [PATCH 092/116] update bopomofo editor
---
src/PYPBopomofoEditor.cc | 43 ++++++++++++++++-------------------------
@@ -12140,7 +12140,7 @@ index 3ef36b3..2111143 100644
From 163b21e23f0621e6cfaf424b914aa33bda891294 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 22 Dec 2011 10:54:11 +0800
-Subject: [PATCH 093/107] switch to LibPinyin*Config
+Subject: [PATCH 093/116] switch to LibPinyin*Config
---
src/PYLibPinyin.cc | 4 ++--
@@ -12330,7 +12330,7 @@ index 4aae9a9..2526d30 100644
From 9d175347f6bbe6b1655c34fee71fb7aad3b24e31 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 27 Dec 2011 10:47:15 +0800
-Subject: [PATCH 094/107] fixes PYConfig
+Subject: [PATCH 094/116] fixes PYConfig
---
src/PYConfig.cc | 9 ---------
@@ -12388,7 +12388,7 @@ index da3d770..43bedd6 100644
From 27b889202f81006fb16566b4f460fd353a5ff689 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 27 Dec 2011 14:05:04 +0800
-Subject: [PATCH 095/107] fixes crash
+Subject: [PATCH 095/116] fixes crash
---
src/PYPBopomofoEditor.cc | 2 +-
@@ -12428,7 +12428,7 @@ index 2111143..1fd0705 100644
From e944e7d63af8152b20bffdd4ddeb3bd7fa786e31 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 27 Dec 2011 18:59:07 +0800
-Subject: [PATCH 096/107] fixes code style
+Subject: [PATCH 096/116] fixes code style
---
src/PYLibPinyin.cc | 6 ++++--
@@ -12504,7 +12504,7 @@ index 19d3ba5..13a48cd 100644
From 998401f0c4c239fe6e804ab7b403b19c151fd13f Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Wed, 28 Dec 2011 14:39:53 +0800
-Subject: [PATCH 097/107] work around gsettings
+Subject: [PATCH 097/116] work around gsettings
---
src/PYPConfig.cc | 9 +++++++++
@@ -12541,7 +12541,7 @@ index 43bedd6..415e396 100644
From 4bbebc9dd00b98304232e12231548dd78782d6c7 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 29 Dec 2011 18:06:46 +0800
-Subject: [PATCH 098/107] fixes crash
+Subject: [PATCH 098/116] fixes crash
---
src/PYPPinyinEditor.cc | 12 +++++++-----
@@ -12578,7 +12578,7 @@ index 2391485..c1e951e 100644
From e2139d4027af85160748af525f4d624f4b236347 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 5 Jan 2012 12:46:08 +0800
-Subject: [PATCH 099/107] fixes PY::Config
+Subject: [PATCH 099/116] fixes PY::Config
---
src/PYConfig.cc | 2 --
@@ -12604,7 +12604,7 @@ index 6241647..1373607 100644
From 37d46d80dd635e916549bb035a90be16cb433ade Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Sat, 14 Jan 2012 10:38:12 +0800
-Subject: [PATCH 100/107] use USE_RESPLIT_TABLE
+Subject: [PATCH 100/116] use USE_RESPLIT_TABLE
---
src/PYLibPinyin.cc | 3 ++-
@@ -12631,7 +12631,7 @@ index f8858e7..6f318f5 100644
From f6b0dc8ef534ce7c514c99ba1706e91b1ce0b2fb Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 16 Jan 2012 13:31:27 +0800
-Subject: [PATCH 101/107] fixes <num>+.<num>+
+Subject: [PATCH 101/116] fixes <num>+.<num>+
---
src/PYPBopomofoEngine.cc | 3 ++-
@@ -12673,7 +12673,7 @@ index 2526d30..30131c2 100644
From 6566626d54e59afbf32ada25e0ca32f0f7eda045 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Sun, 29 Jan 2012 10:20:35 +0800
-Subject: [PATCH 102/107] fixes PYConfig.cc
+Subject: [PATCH 102/116] fixes PYConfig.cc
---
src/PYConfig.cc | 9 +++++++++
@@ -12724,7 +12724,7 @@ index 415e396..155a637 100644
From ddee3cc2d3154d7715261aa5d0b7593b8ab0cd73 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Sun, 29 Jan 2012 10:30:43 +0800
-Subject: [PATCH 103/107] enable libbopomofo
+Subject: [PATCH 103/116] enable libbopomofo
---
src/pinyin.xml.in.in | 16 ++++++++++++++++
@@ -12763,7 +12763,7 @@ index 862801b..9476937 100644
From 48aa7a0e16f876464e0162db13c2162f12052e33 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 30 Jan 2012 10:36:27 +0800
-Subject: [PATCH 104/107] fixes chewing options
+Subject: [PATCH 104/116] fixes chewing options
---
src/PYLibPinyin.cc | 3 ++-
@@ -12790,7 +12790,7 @@ index 6f318f5..c1b1f92 100644
From 6565bdd3842e44647e007319b192193b36d396b2 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Mon, 30 Jan 2012 10:49:57 +0800
-Subject: [PATCH 105/107] fixes process bopomofo
+Subject: [PATCH 105/116] fixes process bopomofo
---
src/PYPBopomofoEditor.cc | 3 +++
@@ -12817,7 +12817,7 @@ index 40f6236..c3b0402 100644
From e485aee4d5f1c0eb6abd6562f296e7dee3e92f3e Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Tue, 7 Feb 2012 11:38:04 +0800
-Subject: [PATCH 106/107] use enter key to commit english word
+Subject: [PATCH 106/116] use enter key to commit english word
---
src/PYPPhoneticEditor.cc | 3 ++-
@@ -12844,7 +12844,7 @@ index 82cdbf3..4bd68fc 100644
From 3ccb1e9dadc52dcaa31f7f8cce9edac8a6b3d498 Mon Sep 17 00:00:00 2001
From: Peng Wu <alexepico at gmail.com>
Date: Thu, 9 Feb 2012 11:09:40 +0800
-Subject: [PATCH 107/107] update pinyin.xml
+Subject: [PATCH 107/116] update pinyin.xml
---
src/pinyin.xml.in.in | 4 ++--
@@ -12875,3 +12875,4466 @@ index 9476937..24add14 100644
--
1.7.7.6
+
+From de0ae3f9568f3d139a0790f23d2cba948d1180cf Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Wed, 15 Feb 2012 13:32:19 +0800
+Subject: [PATCH 108/116] clean pinyin.xml.in.in
+
+---
+ src/pinyin.xml.in.in | 8 --------
+ 1 files changed, 0 insertions(+), 8 deletions(-)
+
+diff --git a/src/pinyin.xml.in.in b/src/pinyin.xml.in.in
+index 24add14..b0075e1 100644
+--- a/src/pinyin.xml.in.in
++++ b/src/pinyin.xml.in.in
+@@ -23,8 +23,6 @@ Peng Wu <alexepico at gmail.com></author>
+ <longname>Pinyin</longname>
+ <description>Pinyin input method</description>
+ <rank>99</rank>
+- @IBUS_HOTKEYS_XML@
+- @IBUS_SYMBOL_XML@
+ </engine>
+ <engine>
+ <name>bopomofo</name>
+@@ -38,8 +36,6 @@ Peng Wu <alexepico at gmail.com></author>
+ <longname>Bopomofo</longname>
+ <description>Bopomofo input method</description>
+ <rank>98</rank>
+- @IBUS_HOTKEYS_XML@
+- @IBUS_SYMBOL_XML@
+ </engine>
+ <engine>
+ <name>libpinyin</name>
+@@ -54,8 +50,6 @@ Peng Wu <alexepico at gmail.com></author>
+ <longname>Intelligent Pinyin</longname>
+ <description>Intelligent Pinyin input method</description>
+ <rank>99</rank>
+- @IBUS_HOTKEYS_XML@
+- @IBUS_SYMBOL_XML@
+ </engine>
+ <engine>
+ <name>libbopomofo</name>
+@@ -70,8 +64,6 @@ Peng Wu <alexepico at gmail.com></author>
+ <longname>Intelligent Bopomofo</longname>
+ <description>Intelligent Bopomofo input method</description>
+ <rank>99</rank>
+- @IBUS_HOTKEYS_XML@
+- @IBUS_SYMBOL_XML@
+ </engine>
+ </engines>
+ </component>
+--
+1.7.7.6
+
+
+From e352759e39907c1f6152bade4d1559d31916a0e2 Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Wed, 15 Feb 2012 15:17:38 +0800
+Subject: [PATCH 109/116] fixes pinyin.xml.in.in
+
+---
+ src/pinyin.xml.in.in | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/src/pinyin.xml.in.in b/src/pinyin.xml.in.in
+index b0075e1..244a405 100644
+--- a/src/pinyin.xml.in.in
++++ b/src/pinyin.xml.in.in
+@@ -53,7 +53,7 @@ Peng Wu <alexepico at gmail.com></author>
+ </engine>
+ <engine>
+ <name>libbopomofo</name>
+- <language>zh_CN</language>
++ <language>zh_TW</language>
+ <license>GPL</license>
+ <author>Peng Huang <shawn.p.huang at gmail.com>
+ BYVoid <byvoid1 at gmail.com>
+--
+1.7.7.6
+
+
+From 17a3ca51fccbbda4520be38ebbdc8f45673ffdff Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Tue, 20 Mar 2012 15:45:58 +0800
+Subject: [PATCH 110/116] remove ibus dconf work around
+
+---
+ src/PYConfig.cc | 9 ---------
+ src/PYPConfig.cc | 9 ---------
+ 2 files changed, 0 insertions(+), 18 deletions(-)
+
+diff --git a/src/PYConfig.cc b/src/PYConfig.cc
+index 9d29aba..1373607 100644
+--- a/src/PYConfig.cc
++++ b/src/PYConfig.cc
+@@ -20,19 +20,10 @@
+ */
+ #include "PYConfig.h"
+
+-#include <strings.h>
+ #include "PYTypes.h"
+ #include "PYBus.h"
+ #include "PYDoublePinyinTable.h"
+
+-#ifdef HAVE_IBUS_CONFIG_GET_VALUES
+-/* work around gsettings. */
+-static bool operator == (const gchar *lhs, const std::string &rhs)
+-{
+- return strcasecmp (lhs, rhs.c_str ()) == 0;
+-}
+-#endif
+-
+ namespace PY {
+
+ const gchar * const CONFIG_CORRECT_PINYIN = "CorrectPinyin";
+diff --git a/src/PYPConfig.cc b/src/PYPConfig.cc
+index 155a637..43bedd6 100644
+--- a/src/PYPConfig.cc
++++ b/src/PYPConfig.cc
+@@ -20,19 +20,10 @@
+ */
+ #include "PYPConfig.h"
+
+-#include <strings.h>
+ #include <pinyin.h>
+ #include "PYBus.h"
+ #include "PYLibPinyin.h"
+
+-#ifdef HAVE_IBUS_CONFIG_GET_VALUES
+-/* work around gsettings. */
+-static bool operator == (const gchar *lhs, const std::string &rhs)
+-{
+- return strcasecmp (lhs, rhs.c_str ()) == 0;
+-}
+-#endif
+-
+ namespace PY {
+
+ const gchar * const CONFIG_CORRECT_PINYIN = "CorrectPinyin";
+--
+1.7.7.6
+
+
+From 0774ffed825adcf4cc3c1f9112be478a2be48918 Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Mon, 26 Mar 2012 12:07:01 +0800
+Subject: [PATCH 111/116] fork setup ui
+
+---
+ setup/ibus-libpinyin-preferences.ui | 1746 +++++++++++++++++++++++++++++++++++
+ setup/main2.py | 429 +++++++++
+ 2 files changed, 2175 insertions(+), 0 deletions(-)
+ create mode 100644 setup/ibus-libpinyin-preferences.ui
+ create mode 100644 setup/main2.py
+
+diff --git a/setup/ibus-libpinyin-preferences.ui b/setup/ibus-libpinyin-preferences.ui
+new file mode 100644
+index 0000000..febe032
+--- /dev/null
++++ b/setup/ibus-libpinyin-preferences.ui
+@@ -0,0 +1,1746 @@
++<?xml version="1.0" encoding="UTF-8"?>
++<interface>
++ <requires lib="gtk+" version="2.14"/>
++ <!-- interface-naming-policy project-wide -->
++ <object class="GtkDialog" id="dialog">
++ <property name="width_request">400</property>
++ <property name="border_width">5</property>
++ <property name="title" translatable="yes">Preferences</property>
++ <property name="window_position">center-always</property>
++ <property name="icon_name">gtk-preferences</property>
++ <property name="type_hint">normal</property>
++ <child internal-child="vbox">
++ <object class="GtkVBox" id="dialog-vbox1">
++ <property name="visible">True</property>
++ <property name="spacing">2</property>
++ <child>
++ <object class="GtkNotebook" id="pages">
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="tab_vborder">3</property>
++ <child>
++ <object class="GtkAlignment" id="pageGeneral">
++ <property name="visible">True</property>
++ <property name="top_padding">12</property>
++ <property name="bottom_padding">12</property>
++ <property name="left_padding">12</property>
++ <property name="right_padding">12</property>
++ <child>
++ <object class="GtkVBox" id="vbox13">
++ <property name="visible">True</property>
++ <property name="spacing">18</property>
++ <child>
++ <object class="GtkFrame" id="frame4">
++ <property name="visible">True</property>
++ <property name="label_xalign">0</property>
++ <property name="shadow_type">none</property>
++ <child>
++ <object class="GtkAlignment" id="alignment7">
++ <property name="visible">True</property>
++ <property name="top_padding">6</property>
++ <property name="left_padding">12</property>
++ <child>
++ <object class="GtkTable" id="table4">
++ <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>
++ <property name="homogeneous">True</property>
++ <child>
++ <object class="GtkLabel" id="label9">
++ <property name="visible">True</property>
++ <property name="xalign">0</property>
++ <property name="label" translatable="yes">Language:</property>
++ </object>
++ </child>
++ <child>
++ <object class="GtkLabel" id="label10">
++ <property name="visible">True</property>
++ <property name="xalign">0</property>
++ <property name="label" translatable="yes">Half/full width:</property>
++ </object>
++ <packing>
++ <property name="top_attach">1</property>
++ <property name="bottom_attach">2</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkLabel" id="label11">
++ <property name="visible">True</property>
++ <property name="xalign">0</property>
++ <property name="label" translatable="yes">Punctuations:</property>
++ </object>
++ <packing>
++ <property name="top_attach">2</property>
++ <property name="bottom_attach">3</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkRadioButton" id="InitChinese">
++ <property name="label" translatable="yes">Chinese</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="draw_indicator">True</property>
++ <property name="group">InitEnglish</property>
++ </object>
++ <packing>
++ <property name="left_attach">1</property>
++ <property name="right_attach">2</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkRadioButton" id="InitEnglish">
++ <property name="label" translatable="yes">English</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="left_attach">2</property>
++ <property name="right_attach">3</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkRadioButton" id="InitFull">
++ <property name="label" translatable="yes">Full</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="draw_indicator">True</property>
++ <property name="group">InitHalf</property>
++ </object>
++ <packing>
++ <property name="left_attach">1</property>
++ <property name="right_attach">2</property>
++ <property name="top_attach">1</property>
++ <property name="bottom_attach">2</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkRadioButton" id="InitHalf">
++ <property name="label" translatable="yes">Half</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="left_attach">2</property>
++ <property name="right_attach">3</property>
++ <property name="top_attach">1</property>
++ <property name="bottom_attach">2</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkRadioButton" id="InitFullPunct">
++ <property name="label" translatable="yes">Full</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="draw_indicator">True</property>
++ <property name="group">InitHalfPunct</property>
++ </object>
++ <packing>
++ <property name="left_attach">1</property>
++ <property name="right_attach">2</property>
++ <property name="top_attach">2</property>
++ <property name="bottom_attach">3</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkRadioButton" id="InitHalfPunct">
++ <property name="label" translatable="yes">Half</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="left_attach">2</property>
++ <property name="right_attach">3</property>
++ <property name="top_attach">2</property>
++ <property name="bottom_attach">3</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkLabel" id="label18">
++ <property name="visible">True</property>
++ <property name="xalign">0</property>
++ <property name="label" translatable="yes">Chinese:</property>
++ </object>
++ <packing>
++ <property name="top_attach">3</property>
++ <property name="bottom_attach">4</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkRadioButton" id="InitSimplifiedChinese">
++ <property name="label" translatable="yes">Simplified</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="draw_indicator">True</property>
++ <property name="group">InitTraditionalChinese</property>
++ </object>
++ <packing>
++ <property name="left_attach">1</property>
++ <property name="right_attach">2</property>
++ <property name="top_attach">3</property>
++ <property name="bottom_attach">4</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkRadioButton" id="InitTraditionalChinese">
++ <property name="label" translatable="yes">Traditional</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="left_attach">2</property>
++ <property name="right_attach">3</property>
++ <property name="top_attach">3</property>
++ <property name="bottom_attach">4</property>
++ </packing>
++ </child>
++ </object>
++ </child>
++ </object>
++ </child>
++ <child type="label">
++ <object class="GtkLabel" id="label7">
++ <property name="visible">True</property>
++ <property name="label" translatable="yes"><b>Initial state</b></property>
++ <property name="use_markup">True</property>
++ </object>
++ </child>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="fill">False</property>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkFrame" id="frame5">
++ <property name="visible">True</property>
++ <property name="label_xalign">0</property>
++ <property name="shadow_type">none</property>
++ <child>
++ <object class="GtkAlignment" id="alignment8">
++ <property name="visible">True</property>
++ <property name="top_padding">6</property>
++ <property name="left_padding">12</property>
++ <child>
++ <object class="GtkVBox" id="vbox8">
++ <property name="visible">True</property>
++ <property name="spacing">6</property>
++ <child>
++ <object class="GtkHBox" id="hbox3">
++ <property name="visible">True</property>
++ <property name="spacing">12</property>
++ <property name="homogeneous">True</property>
++ <child>
++ <object class="GtkLabel" id="label4">
++ <property name="visible">True</property>
++ <property name="xalign">0</property>
++ <property name="label" translatable="yes">Orientation of candidates:</property>
++ <property name="use_markup">True</property>
++ </object>
++ <packing>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkComboBox" id="LookupTableOrientation">
++ <property name="visible">True</property>
++ <property name="model">liststoreLookupTableOrientation</property>
++ <property name="button_sensitivity">on</property>
++ </object>
++ <packing>
++ <property name="position">1</property>
++ </packing>
++ </child>
++ </object>
++ <packing>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkHBox" id="hbox4">
++ <property name="visible">True</property>
++ <property name="spacing">12</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="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="position">1</property>
++ </packing>
++ </child>
++ </object>
++ </child>
++ </object>
++ </child>
++ <child type="label">
++ <object class="GtkLabel" id="label8">
++ <property name="visible">True</property>
++ <property name="label" translatable="yes"><b>UI</b></property>
++ <property name="use_markup">True</property>
++ </object>
++ </child>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="fill">False</property>
++ <property name="position">1</property>
++ </packing>
++ </child>
++ </object>
++ </child>
++ </object>
++ </child>
++ <child type="tab">
++ <object class="GtkLabel" id="label19">
++ <property name="visible">True</property>
++ <property name="label" translatable="yes">General</property>
++ </object>
++ <packing>
++ <property name="tab_fill">False</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkAlignment" id="pagePinyinMode">
++ <property name="visible">True</property>
++ <property name="top_padding">12</property>
++ <property name="bottom_padding">12</property>
++ <property name="left_padding">12</property>
++ <property name="right_padding">12</property>
++ <child>
++ <object class="GtkVBox" id="vbox4">
++ <property name="visible">True</property>
++ <property name="spacing">18</property>
++ <child>
++ <object class="GtkFrame" id="frame3">
++ <property name="visible">True</property>
++ <property name="label_xalign">0</property>
++ <property name="shadow_type">none</property>
++ <child>
++ <object class="GtkAlignment" id="alignment6">
++ <property name="visible">True</property>
++ <property name="top_padding">6</property>
++ <property name="left_padding">12</property>
++ <child>
++ <object class="GtkVBox" id="vbox9">
++ <property name="visible">True</property>
++ <property name="spacing">6</property>
++ <child>
++ <object class="GtkHBox" id="hbox6">
++ <property name="visible">True</property>
++ <property name="spacing">6</property>
++ <property name="homogeneous">True</property>
++ <child>
++ <object class="GtkRadioButton" id="FullPinyin">
++ <property name="label" translatable="yes">Full pinyin</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="draw_indicator">True</property>
++ <property name="group">DoublePinyin</property>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkHBox" id="hbox7">
++ <property name="visible">True</property>
++ <property name="spacing">6</property>
++ <child>
++ <object class="GtkRadioButton" id="DoublePinyin">
++ <property name="label" translatable="yes">Double pinyin</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkComboBox" id="DoublePinyinSchema">
++ <property name="visible">True</property>
++ <property name="sensitive">False</property>
++ <property name="model">liststoreDoublePinyin</property>
++ <property name="button_sensitivity">on</property>
++ </object>
++ <packing>
++ <property name="position">1</property>
++ </packing>
++ </child>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="position">1</property>
++ </packing>
++ </child>
++ </object>
++ <packing>
++ <property name="position">0</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="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="position">1</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="IncompletePinyin">
++ <property name="label" translatable="yes">Incomplete pinyin</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="position">2</property>
++ </packing>
++ </child>
++ </object>
++ </child>
++ </object>
++ </child>
++ <child type="label">
++ <object class="GtkLabel" id="label6">
++ <property name="visible">True</property>
++ <property name="label" translatable="yes"><b>Pinyin mode</b></property>
++ <property name="use_markup">True</property>
++ </object>
++ </child>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkFrame" id="frame6">
++ <property name="visible">True</property>
++ <property name="label_xalign">0</property>
++ <property name="shadow_type">none</property>
++ <child>
++ <object class="GtkAlignment" id="alignment11">
++ <property name="visible">True</property>
++ <property name="top_padding">6</property>
++ <property name="left_padding">12</property>
++ <child>
++ <object class="GtkVBox" id="vbox11">
++ <property name="visible">True</property>
++ <property name="spacing">6</property>
++ <child>
++ <object class="GtkTable" id="table2">
++ <property name="visible">True</property>
++ <property name="n_rows">2</property>
++ <property name="n_columns">2</property>
++ <property name="column_spacing">6</property>
++ <property name="row_spacing">6</property>
++ <property name="homogeneous">True</property>
++ <child>
++ <object class="GtkCheckButton" id="ShiftSelectCandidate">
++ <property name="label" translatable="yes">[Shift] select candidate</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="MinusEqualPage">
++ <property name="label" translatable="yes">[-] [=] flip page</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="left_attach">1</property>
++ <property name="right_attach">2</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="CommaPeriodPage">
++ <property name="label" translatable="yes">[,] [.] flip page</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="top_attach">1</property>
++ <property name="bottom_attach">2</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="AutoCommit">
++ <property name="label" translatable="yes">Auto commit</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</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">1</property>
++ <property name="bottom_attach">2</property>
++ </packing>
++ </child>
++ </object>
++ <packing>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ </object>
++ </child>
++ </object>
++ </child>
++ <child type="label">
++ <object class="GtkLabel" id="label20">
++ <property name="visible">True</property>
++ <property name="label" translatable="yes"><b>Input Custom</b></property>
++ <property name="use_markup">True</property>
++ </object>
++ </child>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="position">1</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkFrame" id="frame9">
++ <property name="visible">True</property>
++ <property name="label_xalign">0</property>
++ <property name="shadow_type">none</property>
++ <child>
++ <object class="GtkAlignment" id="alignment4">
++ <property name="visible">True</property>
++ <property name="top_padding">6</property>
++ <property name="left_padding">12</property>
++ <child>
++ <object class="GtkTable" id="table5">
++ <property name="visible">True</property>
++ <property name="n_rows">6</property>
++ <property name="n_columns">2</property>
++ <property name="column_spacing">6</property>
++ <property name="row_spacing">6</property>
++ <child>
++ <object class="GtkCheckButton" id="CorrectPinyin_GN_NG">
++ <property name="label">gn => ng</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="top_attach">1</property>
++ <property name="bottom_attach">2</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="CorrectPinyin_MG_NG">
++ <property name="label">mg => ng</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="top_attach">2</property>
++ <property name="bottom_attach">3</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="CorrectPinyin_IOU_IU">
++ <property name="label">iou => iu</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="top_attach">3</property>
++ <property name="bottom_attach">4</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="CorrectPinyin_UEI_UI">
++ <property name="label">uei => ui</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</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">1</property>
++ <property name="bottom_attach">2</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="CorrectPinyin_UEN_UN">
++ <property name="label">uen => un</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</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">2</property>
++ <property name="bottom_attach">3</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="CorrectPinyin_UE_VE">
++ <property name="label">ue => ve</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</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">3</property>
++ <property name="bottom_attach">4</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="CorrectPinyin_V_U">
++ <property name="label">v =>u, ve => ue, van => uan and etc</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="right_attach">2</property>
++ <property name="top_attach">4</property>
++ <property name="bottom_attach">5</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="CorrectPinyin">
++ <property name="label" translatable="yes">Enable correct pinyin</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="right_attach">2</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="CorrectPinyin_ON_ONG">
++ <property name="label">on => ong</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="top_attach">5</property>
++ <property name="bottom_attach">6</property>
++ </packing>
++ </child>
++ <child>
++ <placeholder/>
++ </child>
++ </object>
++ </child>
++ </object>
++ </child>
++ <child type="label">
++ <object class="GtkLabel" id="label22">
++ <property name="visible">True</property>
++ <property name="label" translatable="yes"><b>Correct pinyin</b></property>
++ <property name="use_markup">True</property>
++ </object>
++ </child>
++ </object>
++ <packing>
++ <property name="position">2</property>
++ </packing>
++ </child>
++ </object>
++ </child>
++ </object>
++ <packing>
++ <property name="position">1</property>
++ </packing>
++ </child>
++ <child type="tab">
++ <object class="GtkLabel" id="label1">
++ <property name="visible">True</property>
++ <property name="label" translatable="yes">Pinyin mode</property>
++ </object>
++ <packing>
++ <property name="position">1</property>
++ <property name="tab_fill">False</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkAlignment" id="pageBopomofoMode">
++ <property name="visible">True</property>
++ <property name="top_padding">12</property>
++ <property name="bottom_padding">12</property>
++ <property name="left_padding">12</property>
++ <property name="right_padding">12</property>
++ <child>
++ <object class="GtkVBox" id="vbox10">
++ <property name="visible">True</property>
++ <property name="spacing">18</property>
++ <child>
++ <object class="GtkFrame" id="frame8">
++ <property name="visible">True</property>
++ <property name="label_xalign">0</property>
++ <property name="shadow_type">none</property>
++ <child>
++ <object class="GtkAlignment" id="alignment15">
++ <property name="visible">True</property>
++ <property name="top_padding">6</property>
++ <property name="left_padding">12</property>
++ <child>
++ <object class="GtkVBox" id="vbox15">
++ <property name="visible">True</property>
++ <property name="spacing">6</property>
++ <child>
++ <object class="GtkCheckButton" id="IncompleteBopomofo">
++ <property name="label" translatable="yes">Incomplete Bopomofo</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkHBox" id="hbox5">
++ <property name="visible">True</property>
++ <child>
++ <object class="GtkLabel" id="labelBopomofoKeyboardMapping">
++ <property name="visible">True</property>
++ <property name="xalign">0</property>
++ <property name="label" translatable="yes">Keyboard Mapping:</property>
++ </object>
++ <packing>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkComboBox" id="BopomofoKeyboardMapping">
++ <property name="visible">True</property>
++ <property name="model">liststoreBopomofoKeyboardMapping</property>
++ <property name="button_sensitivity">on</property>
++ </object>
++ <packing>
++ <property name="position">1</property>
++ </packing>
++ </child>
++ </object>
++ <packing>
++ <property name="position">1</property>
++ </packing>
++ </child>
++ </object>
++ </child>
++ </object>
++ </child>
++ <child type="label">
++ <object class="GtkLabel" id="label2">
++ <property name="visible">True</property>
++ <property name="label" translatable="yes"><b>Bopomofo mode</b></property>
++ <property name="use_markup">True</property>
++ </object>
++ </child>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="fill">False</property>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkFrame" id="frame1">
++ <property name="visible">True</property>
++ <property name="label_xalign">0</property>
++ <property name="shadow_type">none</property>
++ <child>
++ <object class="GtkAlignment" id="alignment1">
++ <property name="visible">True</property>
++ <property name="top_padding">6</property>
++ <property name="left_padding">12</property>
++ <child>
++ <object class="GtkVBox" id="vbox2">
++ <property name="visible">True</property>
++ <property name="spacing">6</property>
++ <child>
++ <object class="GtkHBox" id="hbox9">
++ <property name="visible">True</property>
++ <child>
++ <object class="GtkLabel" id="labelSelectionKeys">
++ <property name="visible">True</property>
++ <property name="xalign">0</property>
++ <property name="label" translatable="yes">Selection Keys:</property>
++ </object>
++ <packing>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkComboBox" id="SelectKeys">
++ <property name="visible">True</property>
++ <property name="model">liststoreSelectionKeys</property>
++ <property name="button_sensitivity">on</property>
++ </object>
++ <packing>
++ <property name="position">1</property>
++ </packing>
++ </child>
++ </object>
++ <packing>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="GuideKey">
++ <property name="label" translatable="yes">Enable Guidekey for Candidates Selection</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="position">1</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="AuxiliarySelectKey_F">
++ <property name="label" translatable="yes">Enable Auxiliary Select Keys F1 .. F10</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="position">2</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="AuxiliarySelectKey_KP">
++ <property name="label" translatable="yes">Enable Auxiliary Select Keys Numbers on Keypad</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="position">3</property>
++ </packing>
++ </child>
++ </object>
++ </child>
++ </object>
++ </child>
++ <child type="label">
++ <object class="GtkLabel" id="label23">
++ <property name="visible">True</property>
++ <property name="label" translatable="yes"><b>Selection mode</b></property>
++ <property name="use_markup">True</property>
++ </object>
++ </child>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="fill">False</property>
++ <property name="position">1</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkFrame" id="frame10">
++ <property name="visible">True</property>
++ <property name="label_xalign">0</property>
++ <property name="shadow_type">none</property>
++ <child>
++ <object class="GtkAlignment" id="alignment16">
++ <property name="visible">True</property>
++ <property name="top_padding">6</property>
++ <property name="left_padding">12</property>
++ <child>
++ <object class="GtkVBox" id="vbox16">
++ <property name="visible">True</property>
++ <property name="spacing">6</property>
++ <child>
++ <object class="GtkLabel" id="LabelEnter">
++ <property name="visible">True</property>
++ <property name="xalign">0</property>
++ <property name="label" translatable="yes">Feature of Enter key:</property>
++ </object>
++ <packing>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkRadioButton" id="CommitFirstCandidate">
++ <property name="label" translatable="yes">Commit first candidate</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ <property name="group">CommitOriginalText</property>
++ </object>
++ <packing>
++ <property name="position">1</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkRadioButton" id="CommitOriginalText">
++ <property name="label" translatable="yes">Commit original text</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="position">2</property>
++ </packing>
++ </child>
++ </object>
++ </child>
++ </object>
++ </child>
++ <child type="label">
++ <object class="GtkLabel" id="labelOther">
++ <property name="visible">True</property>
++ <property name="label" translatable="yes"><b>Other</b></property>
++ <property name="use_markup">True</property>
++ </object>
++ </child>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="fill">False</property>
++ <property name="position">2</property>
++ </packing>
++ </child>
++ </object>
++ </child>
++ </object>
++ <packing>
++ <property name="position">2</property>
++ </packing>
++ </child>
++ <child type="tab">
++ <object class="GtkLabel" id="label13">
++ <property name="visible">True</property>
++ <property name="label" translatable="yes">Bopomofo mode</property>
++ </object>
++ <packing>
++ <property name="position">2</property>
++ <property name="tab_fill">False</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkAlignment" id="pageFuzzy">
++ <property name="visible">True</property>
++ <property name="top_padding">12</property>
++ <property name="bottom_padding">12</property>
++ <property name="left_padding">12</property>
++ <property name="right_padding">12</property>
++ <child>
++ <object class="GtkVBox" id="vbox1">
++ <property name="visible">True</property>
++ <property name="spacing">12</property>
++ <child>
++ <object class="GtkAlignment" id="alignment2">
++ <property name="visible">True</property>
++ <property name="top_padding">6</property>
++ <property name="left_padding">12</property>
++ <child>
++ <object class="GtkTable" id="table1">
++ <property name="visible">True</property>
++ <property name="n_rows">12</property>
++ <property name="n_columns">2</property>
++ <property name="column_spacing">6</property>
++ <property name="row_spacing">6</property>
++ <property name="homogeneous">True</property>
++ <child>
++ <object class="GtkCheckButton" id="FuzzyPinyin_C_CH">
++ <property name="label">c => ch</property>
++ <property name="visible">True</property>
++ <property name="sensitive">False</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="top_attach">1</property>
++ <property name="bottom_attach">2</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="FuzzyPinyin_Z_ZH">
++ <property name="label">z => zh</property>
++ <property name="visible">True</property>
++ <property name="sensitive">False</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="top_attach">2</property>
++ <property name="bottom_attach">3</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="FuzzyPinyin_S_SH">
++ <property name="label">s => sh</property>
++ <property name="visible">True</property>
++ <property name="sensitive">False</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="top_attach">3</property>
++ <property name="bottom_attach">4</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="FuzzyPinyin_L_N">
++ <property name="label">l => n</property>
++ <property name="visible">True</property>
++ <property name="sensitive">False</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="top_attach">4</property>
++ <property name="bottom_attach">5</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="FuzzyPinyin_F_H">
++ <property name="label">f => h</property>
++ <property name="visible">True</property>
++ <property name="sensitive">False</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="top_attach">5</property>
++ <property name="bottom_attach">6</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="FuzzyPinyin_L_R">
++ <property name="label">l => r</property>
++ <property name="visible">True</property>
++ <property name="sensitive">False</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="top_attach">6</property>
++ <property name="bottom_attach">7</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="FuzzyPinyin_K_G">
++ <property name="label">k => g</property>
++ <property name="visible">True</property>
++ <property name="sensitive">False</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="top_attach">7</property>
++ <property name="bottom_attach">8</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="FuzzyPinyin_AN_ANG">
++ <property name="label">an => ang</property>
++ <property name="visible">True</property>
++ <property name="sensitive">False</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="top_attach">8</property>
++ <property name="bottom_attach">9</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="FuzzyPinyin_EN_ENG">
++ <property name="label">en => eng</property>
++ <property name="visible">True</property>
++ <property name="sensitive">False</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="top_attach">9</property>
++ <property name="bottom_attach">10</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="FuzzyPinyin_IN_ING">
++ <property name="label">in => ing</property>
++ <property name="visible">True</property>
++ <property name="sensitive">False</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="active">True</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="top_attach">10</property>
++ <property name="bottom_attach">11</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="FuzzyPinyin_CH_C">
++ <property name="label">ch => c</property>
++ <property name="visible">True</property>
++ <property name="sensitive">False</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</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">1</property>
++ <property name="bottom_attach">2</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="FuzzyPinyin_ZH_Z">
++ <property name="label">zh => z</property>
++ <property name="visible">True</property>
++ <property name="sensitive">False</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</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">2</property>
++ <property name="bottom_attach">3</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="FuzzyPinyin_SH_S">
++ <property name="label">sh => s</property>
++ <property name="visible">True</property>
++ <property name="sensitive">False</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</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">3</property>
++ <property name="bottom_attach">4</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="FuzzyPinyin_N_L">
++ <property name="label">n => l</property>
++ <property name="visible">True</property>
++ <property name="sensitive">False</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</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">4</property>
++ <property name="bottom_attach">5</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="FuzzyPinyin_H_F">
++ <property name="label">h => f</property>
++ <property name="visible">True</property>
++ <property name="sensitive">False</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</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="GtkCheckButton" id="FuzzyPinyin_R_L">
++ <property name="label">r => l</property>
++ <property name="visible">True</property>
++ <property name="sensitive">False</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</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">6</property>
++ <property name="bottom_attach">7</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="FuzzyPinyin_G_K">
++ <property name="label">g => k</property>
++ <property name="visible">True</property>
++ <property name="sensitive">False</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</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">7</property>
++ <property name="bottom_attach">8</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="FuzzyPinyin_ANG_AN">
++ <property name="label">ang => an</property>
++ <property name="visible">True</property>
++ <property name="sensitive">False</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</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">8</property>
++ <property name="bottom_attach">9</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="FuzzyPinyin_ENG_EN">
++ <property name="label">eng => en</property>
++ <property name="visible">True</property>
++ <property name="sensitive">False</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</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">9</property>
++ <property name="bottom_attach">10</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="FuzzyPinyin_ING_IN">
++ <property name="label">ing => in</property>
++ <property name="visible">True</property>
++ <property name="sensitive">False</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</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">10</property>
++ <property name="bottom_attach">11</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="FuzzyPinyin">
++ <property name="label" translatable="yes">Enable fuzzy syllable</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="right_attach">2</property>
++ </packing>
++ </child>
++ <child>
++ <placeholder/>
++ </child>
++ <child>
++ <placeholder/>
++ </child>
++ </object>
++ </child>
++ </object>
++ <packing>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ </object>
++ </child>
++ </object>
++ <packing>
++ <property name="position">3</property>
++ </packing>
++ </child>
++ <child type="tab">
++ <object class="GtkLabel" id="label3">
++ <property name="visible">True</property>
++ <property name="label" translatable="yes">Fuzzy syllable</property>
++ </object>
++ <packing>
++ <property name="position">3</property>
++ <property name="tab_fill">False</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkAlignment" id="pageDictionary">
++ <property name="visible">True</property>
++ <property name="top_padding">12</property>
++ <property name="bottom_padding">12</property>
++ <property name="left_padding">12</property>
++ <property name="right_padding">12</property>
++ <child>
++ <object class="GtkVBox" id="vbox5">
++ <property name="visible">True</property>
++ <child>
++ <object class="GtkFrame" id="frame7">
++ <property name="visible">True</property>
++ <property name="label_xalign">0</property>
++ <property name="shadow_type">none</property>
++ <child>
++ <object class="GtkAlignment" id="alignment13">
++ <property name="visible">True</property>
++ <property name="top_padding">6</property>
++ <property name="left_padding">12</property>
++ <child>
++ <object class="GtkVBox" id="vbox12">
++ <property name="visible">True</property>
++ <property name="spacing">6</property>
++ <child>
++ <object class="GtkHBox" id="hbox2">
++ <property name="visible">True</property>
++ <property name="spacing">12</property>
++ <child>
++ <object class="GtkCheckButton" id="SpecialPhrases">
++ <property name="label" translatable="yes">Use custom phrases</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">False</property>
++ <property name="draw_indicator">True</property>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkButton" id="EditSpecialPhrases">
++ <property name="label" translatable="yes">Edit custom phrases</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">True</property>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="fill">False</property>
++ <property name="position">1</property>
++ </packing>
++ </child>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="fill">False</property>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ </object>
++ </child>
++ </object>
++ </child>
++ <child type="label">
++ <object class="GtkLabel" id="label17">
++ <property name="visible">True</property>
++ <property name="label" translatable="yes"><b>Dictionary option</b></property>
++ <property name="use_markup">True</property>
++ </object>
++ </child>
++ </object>
++ <packing>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ </object>
++ </child>
++ </object>
++ <packing>
++ <property name="position">4</property>
++ </packing>
++ </child>
++ <child type="tab">
++ <object class="GtkLabel" id="label12">
++ <property name="visible">True</property>
++ <property name="label" translatable="yes">Dictionary</property>
++ </object>
++ <packing>
++ <property name="position">4</property>
++ <property name="tab_fill">False</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkAlignment" id="pageAbout">
++ <property name="visible">True</property>
++ <property name="top_padding">12</property>
++ <property name="bottom_padding">12</property>
++ <property name="left_padding">12</property>
++ <property name="right_padding">12</property>
++ <child>
++ <object class="GtkVBox" id="vbox6">
++ <property name="visible">True</property>
++ <property name="spacing">6</property>
++ <child>
++ <object class="GtkVBox" id="vbox7">
++ <property name="visible">True</property>
++ <property name="spacing">6</property>
++ <child>
++ <object class="GtkImage" id="image1">
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="pixel_size">32</property>
++ <property name="icon_name">gtk-about</property>
++ </object>
++ <packing>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkLabel" id="NameVersion">
++ <property name="visible">True</property>
++ <property name="label" translatable="yes"><big><b>IBus Pinyin %s</b></big></property>
++ <property name="use_markup">True</property>
++ <property name="selectable">True</property>
++ </object>
++ <packing>
++ <property name="position">1</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkLabel" id="label14">
++ <property name="visible">True</property>
++ <property name="label" translatable="yes">Pinyin input method for IBus</property>
++ <property name="selectable">True</property>
++ </object>
++ <packing>
++ <property name="position">2</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkLabel" id="label15">
++ <property name="visible">True</property>
++ <property name="label" translatable="yes"><small>Copyright (c) 2009-2010 Peng Huang</small></property>
++ <property name="use_markup">True</property>
++ <property name="wrap">True</property>
++ <property name="selectable">True</property>
++ </object>
++ <packing>
++ <property name="position">3</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkLinkButton" id="linkbutton1">
++ <property name="label" translatable="yes">http://ibus.googlecode.com</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="receives_default">True</property>
++ <property name="relief">none</property>
++ <property name="uri">http://ibus.googlecode.com</property>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="fill">False</property>
++ <property name="position">4</property>
++ </packing>
++ </child>
++ <child>
++ <object class="GtkLabel" id="label21">
++ <property name="visible">True</property>
++ <property name="label" translatable="yes"><small>
++<b>Authors:</b>
++Peng Huang
++BYVoid
++Peng Wu
++
++<b>Contributors:</b>
++koterpilla, Zerng07
++</small></property>
++ <property name="use_markup">True</property>
++ <property name="justify">center</property>
++ <property name="selectable">True</property>
++ </object>
++ <packing>
++ <property name="position">5</property>
++ </packing>
++ </child>
++ </object>
++ <packing>
++ <property name="fill">False</property>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ </object>
++ </child>
++ </object>
++ <packing>
++ <property name="position">5</property>
++ </packing>
++ </child>
++ <child type="tab">
++ <object class="GtkLabel" id="label5">
++ <property name="visible">True</property>
++ <property name="label" translatable="yes">About</property>
++ </object>
++ <packing>
++ <property name="position">5</property>
++ <property name="tab_fill">False</property>
++ </packing>
++ </child>
++ </object>
++ <packing>
++ <property name="position">1</property>
++ </packing>
++ </child>
++ <child internal-child="action_area">
++ <object class="GtkHButtonBox" id="dialog-action_area1">
++ <property name="visible">True</property>
++ <property name="layout_style">end</property>
++ <child>
++ <object class="GtkButton" id="buttonClose">
++ <property name="label">gtk-close</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="has_focus">True</property>
++ <property name="is_focus">True</property>
++ <property name="can_default">True</property>
++ <property name="has_default">True</property>
++ <property name="receives_default">True</property>
++ <property name="use_stock">True</property>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="fill">False</property>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="pack_type">end</property>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ </object>
++ </child>
++ <action-widgets>
++ <action-widget response="0">buttonClose</action-widget>
++ </action-widgets>
++ </object>
++ <object class="GtkListStore" id="liststoreDoublePinyin">
++ <columns>
++ <!-- column-name schema -->
++ <column type="gchararray"/>
++ </columns>
++ <data>
++ <row>
++ <col id="0" translatable="yes">MSPY</col>
++ </row>
++ <row>
++ <col id="0" translatable="yes">ZRM</col>
++ </row>
++ <row>
++ <col id="0" translatable="yes">ABC</col>
++ </row>
++ <row>
++ <col id="0" translatable="yes">ZGPY</col>
++ </row>
++ <row>
++ <col id="0" translatable="yes">PYJJ</col>
++ </row>
++ <row>
++ <col id="0" translatable="yes">XHE</col>
++ </row>
++ </data>
++ </object>
++ <object class="GtkAdjustment" id="LookupTablePageSize">
++ <property name="value">1</property>
++ <property name="lower">1</property>
++ <property name="upper">11</property>
++ <property name="step_increment">1</property>
++ <property name="page_increment">1</property>
++ <property name="page_size">1</property>
++ </object>
++ <object class="GtkListStore" id="liststoreLookupTableOrientation">
++ <columns>
++ <!-- column-name orientation -->
++ <column type="gchararray"/>
++ </columns>
++ <data>
++ <row>
++ <col id="0" translatable="yes">Horizontal</col>
++ </row>
++ <row>
++ <col id="0" translatable="yes">Vertical</col>
++ </row>
++ </data>
++ </object>
++ <object class="GtkListStore" id="liststoreBopomofoKeyboardMapping">
++ <columns>
++ <!-- column-name keyboard_mapping -->
++ <column type="gchararray"/>
++ </columns>
++ <data>
++ <row>
++ <col id="0" translatable="yes">Standard</col>
++ </row>
++ <row>
++ <col id="0" translatable="yes">GinYieh</col>
++ </row>
++ <row>
++ <col id="0" translatable="yes">Eten</col>
++ </row>
++ <row>
++ <col id="0" translatable="yes">IBM</col>
++ </row>
++ </data>
++ </object>
++ <object class="GtkListStore" id="liststoreSelectionKeys">
++ <columns>
++ <!-- column-name select_keys -->
++ <column type="gchararray"/>
++ </columns>
++ <data>
++ <row>
++ <col id="0">1234567890</col>
++ </row>
++ <row>
++ <col id="0">asdfghjkl;</col>
++ </row>
++ <row>
++ <col id="0">1qaz2wsxed</col>
++ </row>
++ <row>
++ <col id="0">asdfzxcvgb</col>
++ </row>
++ <row>
++ <col id="0">1234qweras</col>
++ </row>
++ <row>
++ <col id="0">aoeu;qjkix</col>
++ </row>
++ <row>
++ <col id="0">aoeuhtnsid</col>
++ </row>
++ <row>
++ <col id="0">aoeuidhtns</col>
++ </row>
++ <row>
++ <col id="0">qweasdzxcr</col>
++ </row>
++ </data>
++ </object>
++</interface>
+diff --git a/setup/main2.py b/setup/main2.py
+new file mode 100644
+index 0000000..197ea8b
+--- /dev/null
++++ b/setup/main2.py
+@@ -0,0 +1,429 @@
++# vim:set et ts=4 sts=4:
++# -*- coding: utf-8 -*-
++#
++# ibus-pinyin - The Chinese PinYin engine for IBus
++#
++# Copyright (c) 2008-2010 Peng Huang <shawn.p.huang at gmail.com>
++# Copyright (c) 2010 BYVoid <byvoid1 at gmail.com>
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2, or (at your option)
++# any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++import sys
++import gtk
++import ibus
++import locale
++import os
++import version
++import gettext
++from xdg import BaseDirectory
++
++_ = lambda a : gettext.dgettext("ibus-pinyin", a)
++
++class PreferencesDialog:
++ def __init__(self,engine,libpinyin):
++ locale.setlocale(locale.LC_ALL, "")
++ localedir = os.getenv("IBUS_LOCALEDIR")
++ gettext.bindtextdomain("ibus-pinyin", localedir)
++ gettext.bind_textdomain_codeset("ibus-pinyin", "UTF-8")
++
++ self.__libpinyin = libpinyin
++ self.__bus = ibus.Bus()
++ self.__config = self.__bus.get_config()
++ self.__builder = gtk.Builder()
++ self.__builder.set_translation_domain("ibus-pinyin")
++ self.__builder.add_from_file("ibus-pinyin-preferences.ui")
++ self.__dialog = self.__builder.get_object("dialog")
++ self.__init_pages()
++
++ if engine == "pinyin":
++ self.__config_namespace = "engine/Pinyin"
++ self.__init_general()
++ self.__init_pinyin()
++ self.__init_fuzzy()
++ if not self.__libpinyin:
++ self.__init_dictionary()
++ self.__init_about()
++ elif engine == "bopomofo":
++ self.__config_namespace = "engine/Bopomofo"
++ self.__init_general()
++ self.__init_bopomofo()
++ self.__init_fuzzy()
++ if not self.__libpinyin:
++ self.__init_dictionary()
++ self.__init_about()
++ self.__convert_fuzzy_pinyin_to_bopomofo()
++
++ else:
++ print("Error: Unknown Engine")
++ exit()
++
++ self.__pages.set_current_page(0)
++
++ def __init_pages(self):
++ self.__pages = self.__builder.get_object("pages")
++ self.__page_general = self.__builder.get_object("pageGeneral")
++ self.__page_pinyin_mode = self.__builder.get_object("pagePinyinMode")
++ self.__page_bopomofo_mode = self.__builder.get_object("pageBopomofoMode")
++ self.__page_fuzzy = self.__builder.get_object("pageFuzzy")
++ self.__page_dictionary = self.__builder.get_object("pageDictionary")
++ self.__page_about = self.__builder.get_object("pageAbout")
++
++ self.__page_general.hide()
++ self.__page_pinyin_mode.hide()
++ self.__page_bopomofo_mode.hide()
++ self.__page_fuzzy.hide()
++ self.__page_dictionary.hide()
++ self.__page_about.hide()
++
++ def __init_general(self):
++ # page General
++ self.__page_general.show()
++
++ # init state
++ self.__init_chinese = self.__builder.get_object("InitChinese")
++ self.__init_english = self.__builder.get_object("InitEnglish")
++ self.__init_full = self.__builder.get_object("InitFull")
++ self.__init_half = self.__builder.get_object("InitHalf")
++ self.__init_full_punct = self.__builder.get_object("InitFullPunct")
++ self.__init_half_punct = self.__builder.get_object("InitHalfPunct")
++ self.__init_simp = self.__builder.get_object("InitSimplifiedChinese")
++ self.__init_trad = self.__builder.get_object("IniTraditionalChinese")
++
++ # UI
++ self.__lookup_table_page_size = self.__builder.get_object("LookupTablePageSize")
++ self.__lookup_table_orientation = self.__builder.get_object("LookupTableOrientation")
++ renderer = gtk.CellRendererText()
++ self.__lookup_table_orientation.pack_start(renderer)
++ self.__lookup_table_orientation.set_attributes(renderer, text=0)
++
++ # read values
++ self.__init_chinese.set_active(self.__get_value("InitChinese", True))
++ self.__init_full.set_active(self.__get_value("InitFull", False))
++ self.__init_full_punct.set_active(self.__get_value("InitFullPunct", True))
++ self.__init_simp.set_active(self.__get_value("InitSimplifiedChinese", True))
++ self.__lookup_table_orientation.set_active(self.__get_value("LookupTableOrientation", 0))
++ self.__lookup_table_page_size.set_value(self.__get_value("LookupTablePageSize", 5))
++
++ # connect signals
++ self.__init_chinese.connect("toggled", self.__toggled_cb, "InitChinese")
++ self.__init_full.connect("toggled", self.__toggled_cb, "InitFull")
++ self.__init_full_punct.connect("toggled", self.__toggled_cb, "InitFullPunct")
++ self.__init_simp.connect("toggled", self.__toggled_cb, "InitSimplifiedChinese")
++
++ def __lookup_table_page_size_changed_cb(adjustment):
++ self.__set_value("LookupTablePageSize", int(adjustment.get_value()))
++
++ def __lookup_table_orientation_changed_cb(widget):
++ self.__set_value("LookupTableOrientation", widget.get_active())
++
++ self.__lookup_table_orientation.connect("changed", __lookup_table_orientation_changed_cb)
++ self.__lookup_table_page_size.connect("value-changed", __lookup_table_page_size_changed_cb)
++
++ def __init_pinyin(self):
++ # page
++ self.__page_pinyin_mode.show()
++
++ # pinyin
++ self.__full_pinyin = self.__builder.get_object("FullPinyin")
++ self.__incomplete_pinyin = self.__builder.get_object("IncompletePinyin")
++ 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")
++ if self.__libpinyin:
++ self.__double_pinyin_show_raw.hide ()
++
++ renderer = gtk.CellRendererText()
++ self.__double_pinyin_schema.pack_start(renderer)
++ self.__double_pinyin_schema.set_attributes(renderer, text=0)
++
++ # read value
++ 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))
++ 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 __double_pinyin_toggled_cb(widget):
++ val = widget.get_active()
++ 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())
++
++ # connect signals
++ 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")
++
++ self.__init_input_custom()
++ self.__init_correct_pinyin()
++
++ def __init_bopomofo(self):
++ # page Bopomodo Mode
++ self.__page_bopomofo_mode.show()
++
++ # bopomofo mode
++ self.__incomplete_bopomofo = self.__builder.get_object("IncompleteBopomofo")
++ self.__bopomofo_keyboard_mapping = self.__builder.get_object("BopomofoKeyboardMapping")
++ renderer = gtk.CellRendererText()
++ self.__bopomofo_keyboard_mapping.pack_start(renderer)
++ self.__bopomofo_keyboard_mapping.set_attributes(renderer, text=0)
++
++ # selection mode
++ self.__select_keys = self.__builder.get_object("SelectKeys")
++ self.__select_keys.pack_start(renderer)
++ self.__select_keys.set_attributes(renderer, text=0)
++ self.__guide_key = self.__builder.get_object("GuideKey")
++ self.__auxiliary_select_key_f = self.__builder.get_object("AuxiliarySelectKey_F")
++ self.__auxiliary_select_key_kp = self.__builder.get_object("AuxiliarySelectKey_KP")
++
++ # other
++ self.__enter_key = self.__builder.get_object("CommitFirstCandidate")
++
++ # read value
++ self.__bopomofo_keyboard_mapping.set_active(self.__get_value("BopomofoKeyboardMapping", 0))
++ self.__incomplete_bopomofo.set_active(self.__get_value("IncompletePinyin", False))
++ self.__select_keys.set_active(self.__get_value("SelectKeys", 0))
++ self.__guide_key.set_active(self.__get_value("GuideKey", 1))
++ self.__auxiliary_select_key_f.set_active(self.__get_value("AuxiliarySelectKey_F", 1))
++ self.__auxiliary_select_key_kp.set_active(self.__get_value("AuxiliarySelectKey_KP", 1))
++ self.__enter_key.set_active(self.__get_value("EnterKey", True))
++
++ # connect signals
++ def __bopomofo_keyboard_mapping_changed_cb(widget):
++ self.__set_value("BopomofoKeyboardMapping", widget.get_active())
++ def __select_keys_changed_cb(widget):
++ self.__set_value("SelectKeys", widget.get_active())
++
++ self.__bopomofo_keyboard_mapping.connect("changed", __bopomofo_keyboard_mapping_changed_cb)
++ self.__incomplete_bopomofo.connect("toggled", self.__toggled_cb, "IncompletePinyin")
++ self.__select_keys.connect("changed", __select_keys_changed_cb)
++ self.__guide_key.connect("toggled", self.__toggled_cb, "GuideKey")
++ self.__auxiliary_select_key_f.connect("toggled", self.__toggled_cb, "AuxiliarySelectKey_F")
++ self.__auxiliary_select_key_kp.connect("toggled", self.__toggled_cb, "AuxiliarySelectKey_KP")
++ self.__enter_key.connect("toggled", self.__toggled_cb, "EnterKey")
++
++ def __init_input_custom(self):
++ # others
++ self.__shift_select_candidate = self.__builder.get_object("ShiftSelectCandidate")
++ 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")
++
++ # read values
++ self.__shift_select_candidate.set_active(self.__get_value("ShiftSelectCandidate", False))
++ 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))
++
++ # connect signals
++ self.__shift_select_candidate.connect("toggled", self.__toggled_cb, "ShiftSelectCandidate")
++ 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")
++
++ def __init_correct_pinyin(self):
++ # auto correct
++ self.__correct_pinyin = self.__builder.get_object("CorrectPinyin")
++ self.__correct_pinyin_widgets = [
++ ("CorrectPinyin_GN_NG", True),
++ ("CorrectPinyin_MG_NG", True),
++ ("CorrectPinyin_IOU_IU", True),
++ ("CorrectPinyin_UEI_UI", True),
++ ("CorrectPinyin_UEN_UN", True),
++ ("CorrectPinyin_UE_VE", True),
++ ("CorrectPinyin_V_U", True),
++ ("CorrectPinyin_ON_ONG", True),
++ ]
++
++ def __correct_pinyin_toggled_cb(widget):
++ val = widget.get_active()
++ map(lambda w: self.__builder.get_object(w[0]).set_sensitive(val),
++ self.__correct_pinyin_widgets)
++ self.__correct_pinyin.connect("toggled", __correct_pinyin_toggled_cb)
++
++ # init value
++ self.__correct_pinyin.set_active(self.__get_value("CorrectPinyin", True))
++ for name, defval in self.__correct_pinyin_widgets:
++ widget = self.__builder.get_object(name)
++ widget.set_active(self.__get_value(name, defval))
++
++ self.__correct_pinyin.connect("toggled", self.__toggled_cb, "CorrectPinyin")
++ for name, defval in self.__correct_pinyin_widgets:
++ widget = self.__builder.get_object(name)
++ widget.connect("toggled", self.__toggled_cb, name)
++
++ def __init_fuzzy(self):
++ # page Fuzzy
++ self.__page_fuzzy.show()
++
++ # fuzzy pinyin
++ self.__fuzzy_pinyin = self.__builder.get_object("FuzzyPinyin")
++ self.__fuzzy_pinyin_widgets = [
++ ("FuzzyPinyin_C_CH", True),
++ ("FuzzyPinyin_Z_ZH", True),
++ ("FuzzyPinyin_S_SH", True),
++ ("FuzzyPinyin_CH_C", False),
++ ("FuzzyPinyin_ZH_Z", False),
++ ("FuzzyPinyin_SH_S", False),
++ ("FuzzyPinyin_L_N", True),
++ ("FuzzyPinyin_F_H", True),
++ ("FuzzyPinyin_L_R", False),
++ ("FuzzyPinyin_K_G", True),
++ ("FuzzyPinyin_N_L", False),
++ ("FuzzyPinyin_H_F", False),
++ ("FuzzyPinyin_R_L", False),
++ ("FuzzyPinyin_G_K", False),
++ ("FuzzyPinyin_AN_ANG", True),
++ ("FuzzyPinyin_EN_ENG", True),
++ ("FuzzyPinyin_IN_ING", True),
++ ("FuzzyPinyin_ANG_AN", True),
++ ("FuzzyPinyin_ENG_EN", True),
++ ("FuzzyPinyin_ING_IN", True),
++ # ("FuzzyPinyin_IAN_IANG", True),
++ # ("FuzzyPinyin_UAN_UANG", True),
++ # ("FuzzyPinyin_IANG_IAN", True),
++ # ("FuzzyPinyin_UANG_UAN", True),
++ ]
++
++ def __fuzzy_pinyin_toggled_cb(widget):
++ val = widget.get_active()
++ map(lambda w: self.__builder.get_object(w[0]).set_sensitive(val),
++ self.__fuzzy_pinyin_widgets)
++ self.__fuzzy_pinyin.connect("toggled", __fuzzy_pinyin_toggled_cb)
++
++ # init value
++ self.__fuzzy_pinyin.set_active(self.__get_value("FuzzyPinyin", False))
++ for name, defval in self.__fuzzy_pinyin_widgets:
++ widget = self.__builder.get_object(name)
++ widget.set_active(self.__get_value(name, defval))
++
++ self.__fuzzy_pinyin.connect("toggled", self.__toggled_cb, "FuzzyPinyin")
++ for name, defval in self.__fuzzy_pinyin_widgets:
++ widget = self.__builder.get_object(name)
++ widget.connect("toggled", self.__toggled_cb, name)
++
++ def __convert_fuzzy_pinyin_to_bopomofo(self):
++ options = [
++ ("FuzzyPinyin_C_CH", "ㄘ => ㄔ"),
++ ("FuzzyPinyin_Z_ZH", "ㄗ => ㄓ"),
++ ("FuzzyPinyin_S_SH", "ㄙ => ㄕ"),
++ ("FuzzyPinyin_CH_C", "ㄔ => ㄘ"),
++ ("FuzzyPinyin_ZH_Z", "ㄓ => ㄗ"),
++ ("FuzzyPinyin_SH_S", "ㄕ => ㄙ"),
++ ("FuzzyPinyin_L_N", "ㄌ => ㄋ"),
++ ("FuzzyPinyin_F_H", "ㄈ => ㄏ"),
++ ("FuzzyPinyin_L_R", "ㄌ => ㄖ"),
++ ("FuzzyPinyin_K_G", "ㄎ => ㄍ"),
++ ("FuzzyPinyin_N_L", "ㄋ => ㄌ"),
++ ("FuzzyPinyin_H_F", "ㄏ => ㄈ"),
++ ("FuzzyPinyin_R_L", "ㄖ => ㄌ"),
++ ("FuzzyPinyin_G_K", "ㄍ => ㄎ"),
++ ("FuzzyPinyin_AN_ANG", "ㄢ => ㄤ"),
++ ("FuzzyPinyin_EN_ENG", "ㄣ => ㄥ"),
++ ("FuzzyPinyin_IN_ING", "ㄧㄣ => ㄧㄥ"),
++ ("FuzzyPinyin_ANG_AN", "ㄤ => ㄢ"),
++ ("FuzzyPinyin_ENG_EN", "ㄥ => ㄣ"),
++ ("FuzzyPinyin_ING_IN", "ㄧㄥ => ㄧㄣ"),
++ # ("FuzzyPinyin_IAN_IANG", "ㄧㄢ => ㄧㄤ"),
++ # ("FuzzyPinyin_UAN_UANG", "ㄨㄢ => ㄨㄤ"),
++ # ("FuzzyPinyin_IANG_IAN", "ㄧㄤ => ㄧㄢ"),
++ # ("FuzzyPinyin_UANG_UAN", "ㄨㄤ => ㄨㄢ"),
++ ]
++
++ for name, label in options:
++ self.__builder.get_object(name).set_label(label)
++
++
++ def __init_dictionary(self):
++ # page Dictionary
++ self.__page_dictionary.show()
++
++ # dictionary
++ self.__special_phrases = self.__builder.get_object("SpecialPhrases")
++ self.__edit_special_phrases = self.__builder.get_object("EditSpecialPhrases")
++
++ # read values
++ self.__special_phrases.set_active(self.__get_value("SpecialPhrases", True))
++
++ def __edit_special_phrases_clicked_cb(widget):
++ from xdg import BaseDirectory
++ import shutil
++ path = os.path.join(BaseDirectory.xdg_config_home, "ibus", "pinyin")
++ os.path.exists(path) or os.makedirs(path)
++ path = os.path.join(path, "phrases.txt")
++ if not os.path.exists(path):
++ datadir = os.getenv("IBUS_DATAROOTDIR") or "/usr/share"
++ src = os.path.join(datadir, "ibus-pinyin", "phrases.txt")
++ shutil.copyfile(src, path)
++ os.system("xdg-open %s" % path)
++
++ # connect signals
++ self.__special_phrases.connect("toggled", self.__toggled_cb, "SpecialPhrases")
++ self.__edit_special_phrases.connect("clicked", __edit_special_phrases_clicked_cb)
++
++ def __init_about(self):
++ # page About
++ self.__page_about.show()
++
++ self.__name_version = self.__builder.get_object("NameVersion")
++ self.__name_version.set_markup(_("<big><b>IBus Pinyin %s</b></big>") % version.get_version())
++
++ def __changed_cb(self, widget, name):
++ self.__set_value(name, widget.get_active())
++
++ def __toggled_cb(self, widget, name):
++ self.__set_value(name, widget.get_active ())
++
++ def __get_value(self, name, defval):
++ value = self.__config.get_value(self.__config_namespace, name, "test_default_value_9898")
++ if value != "test_default_value_9898":
++ return value
++ self.__set_value(name, defval)
++ return defval
++
++ def __set_value(self, name, val):
++ self.__config.set_value(self.__config_namespace, name, val)
++
++ def run(self):
++ return self.__dialog.run()
++
++def main():
++ name = "pinyin"
++ libpinyin = False
++ for arg in sys.argv[1:]:
++ if arg == "--libpinyin":
++ libpinyin = True
++ else:
++ name = arg
++ if name not in ("pinyin", "bopomofo"):
++ name = "pinyin"
++ PreferencesDialog(name, libpinyin).run()
++
++
++if __name__ == "__main__":
++ main()
+--
+1.7.7.6
+
+
+From d093c2d0837266fe21ff01016819dd4e2bfdd83c Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Mon, 26 Mar 2012 13:50:28 +0800
+Subject: [PATCH 112/116] update main.py
+
+---
+ setup/main.py | 21 ++++++---------------
+ setup/main2.py | 22 +++++++---------------
+ 2 files changed, 13 insertions(+), 30 deletions(-)
+
+diff --git a/setup/main.py b/setup/main.py
+index 197ea8b..0e3a729 100644
+--- a/setup/main.py
++++ b/setup/main.py
+@@ -31,13 +31,12 @@ from xdg import BaseDirectory
+ _ = lambda a : gettext.dgettext("ibus-pinyin", a)
+
+ class PreferencesDialog:
+- def __init__(self,engine,libpinyin):
++ def __init__(self,engine):
+ locale.setlocale(locale.LC_ALL, "")
+ localedir = os.getenv("IBUS_LOCALEDIR")
+ gettext.bindtextdomain("ibus-pinyin", localedir)
+ gettext.bind_textdomain_codeset("ibus-pinyin", "UTF-8")
+
+- self.__libpinyin = libpinyin
+ self.__bus = ibus.Bus()
+ self.__config = self.__bus.get_config()
+ self.__builder = gtk.Builder()
+@@ -51,16 +50,14 @@ class PreferencesDialog:
+ self.__init_general()
+ self.__init_pinyin()
+ self.__init_fuzzy()
+- if not self.__libpinyin:
+- self.__init_dictionary()
++ self.__init_dictionary()
+ self.__init_about()
+ elif engine == "bopomofo":
+ self.__config_namespace = "engine/Bopomofo"
+ self.__init_general()
+ self.__init_bopomofo()
+ self.__init_fuzzy()
+- if not self.__libpinyin:
+- self.__init_dictionary()
++ self.__init_dictionary()
+ self.__init_about()
+ self.__convert_fuzzy_pinyin_to_bopomofo()
+
+@@ -141,8 +138,6 @@ class PreferencesDialog:
+ 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")
+- if self.__libpinyin:
+- self.__double_pinyin_show_raw.hide ()
+
+ renderer = gtk.CellRendererText()
+ self.__double_pinyin_schema.pack_start(renderer)
+@@ -414,15 +409,11 @@ class PreferencesDialog:
+
+ def main():
+ name = "pinyin"
+- libpinyin = False
+- for arg in sys.argv[1:]:
+- if arg == "--libpinyin":
+- libpinyin = True
+- else:
+- name = arg
++ if len(sys.argv) == 2:
++ name = sys.argv[1]
+ if name not in ("pinyin", "bopomofo"):
+ name = "pinyin"
+- PreferencesDialog(name, libpinyin).run()
++ PreferencesDialog(name).run()
+
+
+ if __name__ == "__main__":
+diff --git a/setup/main2.py b/setup/main2.py
+index 197ea8b..a21acad 100644
+--- a/setup/main2.py
++++ b/setup/main2.py
+@@ -31,13 +31,12 @@ from xdg import BaseDirectory
+ _ = lambda a : gettext.dgettext("ibus-pinyin", a)
+
+ class PreferencesDialog:
+- def __init__(self,engine,libpinyin):
++ def __init__(self,engine):
+ locale.setlocale(locale.LC_ALL, "")
+ localedir = os.getenv("IBUS_LOCALEDIR")
+ gettext.bindtextdomain("ibus-pinyin", localedir)
+ gettext.bind_textdomain_codeset("ibus-pinyin", "UTF-8")
+
+- self.__libpinyin = libpinyin
+ self.__bus = ibus.Bus()
+ self.__config = self.__bus.get_config()
+ self.__builder = gtk.Builder()
+@@ -51,16 +50,14 @@ class PreferencesDialog:
+ self.__init_general()
+ self.__init_pinyin()
+ self.__init_fuzzy()
+- if not self.__libpinyin:
+- self.__init_dictionary()
++ #self.__init_dictionary()
+ self.__init_about()
+ elif engine == "bopomofo":
+ self.__config_namespace = "engine/Bopomofo"
+ self.__init_general()
+ self.__init_bopomofo()
+ self.__init_fuzzy()
+- if not self.__libpinyin:
+- self.__init_dictionary()
++ #self.__init_dictionary()
+ self.__init_about()
+ self.__convert_fuzzy_pinyin_to_bopomofo()
+
+@@ -141,8 +138,7 @@ class PreferencesDialog:
+ 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")
+- if self.__libpinyin:
+- self.__double_pinyin_show_raw.hide ()
++ self.__double_pinyin_show_raw.hide ()
+
+ renderer = gtk.CellRendererText()
+ self.__double_pinyin_schema.pack_start(renderer)
+@@ -414,15 +410,11 @@ class PreferencesDialog:
+
+ def main():
+ name = "pinyin"
+- libpinyin = False
+- for arg in sys.argv[1:]:
+- if arg == "--libpinyin":
+- libpinyin = True
+- else:
+- name = arg
++ if len(sys.argv) == 2:
++ name = sys.argv[1]
+ if name not in ("pinyin", "bopomofo"):
+ name = "pinyin"
+- PreferencesDialog(name, libpinyin).run()
++ PreferencesDialog(name).run()
+
+
+ if __name__ == "__main__":
+--
+1.7.7.6
+
+
+From fbe55876db048bc375c99d0b7fa7dc023061d0b9 Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Mon, 26 Mar 2012 13:58:35 +0800
+Subject: [PATCH 113/116] update setup dialog
+
+---
+ configure.ac | 1 +
+ setup/Makefile.am | 21 ++++++++++++++++++++-
+ setup/ibus-setup-libpinyin.in | 30 ++++++++++++++++++++++++++++++
+ setup/main2.py | 2 +-
+ src/PYPBopomofoEngine.cc | 2 +-
+ src/PYPPinyinEngine.cc | 2 +-
+ 6 files changed, 54 insertions(+), 4 deletions(-)
+ create mode 100644 setup/ibus-setup-libpinyin.in
+
+diff --git a/configure.ac b/configure.ac
+index 02de9b7..3b63a2b 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -220,6 +220,7 @@ src/Makefile
+ src/pinyin.xml.in
+ setup/Makefile
+ setup/ibus-setup-pinyin
++setup/ibus-setup-libpinyin
+ setup/version.py
+ data/Makefile
+ data/db/Makefile
+diff --git a/setup/Makefile.am b/setup/Makefile.am
+index 565e5d4..b73f375 100644
+--- a/setup/Makefile.am
++++ b/setup/Makefile.am
+@@ -20,12 +20,18 @@
+
+ setup_pinyin_PYTHON = \
+ main.py \
++ main2.py \
+ version.py \
+ ibus-pinyin-preferences.ui \
++ ibus-libpinyin-preferences.ui \
+ $(NULL)
++
+ setup_pinyindir = $(datadir)/ibus-pinyin/setup
+
+-libexec_SCRIPTS = ibus-setup-pinyin
++libexec_SCRIPTS = \
++ ibus-setup-pinyin \
++ ibus-setup-libpinyin \
++ $(NULL)
+
+ CLEANFILES = \
+ *.pyc \
+@@ -34,6 +40,7 @@ CLEANFILES = \
+ EXTRA_DIST = \
+ version.py.in \
+ ibus-setup-pinyin.in \
++ ibus-setup-libpinyin.in \
+ $(NULL)
+
+ test-pinyin:
+@@ -47,3 +54,15 @@ test-bopomofo:
+ IBUS_LOCALEDIR=@localedir@ \
+ PYTHONPATH=$(abs_top_srcdir):$(pyexecdir) \
+ $(PYTHON) $(srcdir)/main.py bopomofo
++
++test-libpinyin:
++ $(ENV) DBUS_DEBUG=true \
++ IBUS_LOCALEDIR=@localedir@ \
++ PYTHONPATH=$(abs_top_srcdir):$(pyexecdir) \
++ $(PYTHON) $(srcdir)/main2.py pinyin
++
++test-libbopomofo:
++ $(ENV) DBUS_DEBUG=true \
++ IBUS_LOCALEDIR=@localedir@ \
++ PYTHONPATH=$(abs_top_srcdir):$(pyexecdir) \
++ $(PYTHON) $(srcdir)/main2.py bopomofo
+diff --git a/setup/ibus-setup-libpinyin.in b/setup/ibus-setup-libpinyin.in
+new file mode 100644
+index 0000000..036ab3e
+--- /dev/null
++++ b/setup/ibus-setup-libpinyin.in
+@@ -0,0 +1,30 @@
++#!/bin/sh
++# vim:set noet ts=4:
++#
++# ibus-tmpl - The Input Bus template project
++#
++# Copyright (c) 2007-2008 Peng Huang <shawn.p.huang at gmail.com>
++#
++# This program is free software; you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 2, or (at your option)
++# any later version.
++#
++# This program is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, write to the Free Software
++# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
++
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++datarootdir=@datarootdir@
++export IBUS_PREFIX=@prefix@
++export IBUS_DATAROOTDIR=@datarootdir@
++export IBUS_LOCALEDIR=@localedir@
++cd @prefix@/share/ibus-pinyin/setup/
++exec python main2.py $@
++
+diff --git a/setup/main2.py b/setup/main2.py
+index a21acad..1280c2b 100644
+--- a/setup/main2.py
++++ b/setup/main2.py
+@@ -41,7 +41,7 @@ class PreferencesDialog:
+ self.__config = self.__bus.get_config()
+ self.__builder = gtk.Builder()
+ self.__builder.set_translation_domain("ibus-pinyin")
+- self.__builder.add_from_file("ibus-pinyin-preferences.ui")
++ self.__builder.add_from_file("ibus-libpinyin-preferences.ui")
+ self.__dialog = self.__builder.get_object("dialog")
+ self.__init_pages()
+
+diff --git a/src/PYPBopomofoEngine.cc b/src/PYPBopomofoEngine.cc
+index 6e5df67..05c5931 100644
+--- a/src/PYPBopomofoEngine.cc
++++ b/src/PYPBopomofoEngine.cc
+@@ -183,7 +183,7 @@ inline void
+ LibPinyinBopomofoEngine::showSetupDialog (void)
+ {
+ g_spawn_command_line_async
+- (LIBEXECDIR"/ibus-setup-pinyin bopomofo --libpinyin", NULL);
++ (LIBEXECDIR"/ibus-setup-libpinyin bopomofo", NULL);
+ }
+
+ gboolean
+diff --git a/src/PYPPinyinEngine.cc b/src/PYPPinyinEngine.cc
+index 30131c2..f8e721c 100644
+--- a/src/PYPPinyinEngine.cc
++++ b/src/PYPPinyinEngine.cc
+@@ -249,7 +249,7 @@ inline void
+ LibPinyinPinyinEngine::showSetupDialog (void)
+ {
+ g_spawn_command_line_async
+- (LIBEXECDIR"/ibus-setup-pinyin pinyin --libpinyin", NULL);
++ (LIBEXECDIR"/ibus-setup-libpinyin pinyin", NULL);
+ }
+
+ gboolean
+--
+1.7.7.6
+
+
+From c8990ccfce7a17aeaf91a72dfa585e60a71192a6 Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Mon, 26 Mar 2012 14:00:26 +0800
+Subject: [PATCH 114/116] update setup ui
+
+---
+ setup/ibus-libpinyin-preferences.ui | 4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/setup/ibus-libpinyin-preferences.ui b/setup/ibus-libpinyin-preferences.ui
+index febe032..5473f91 100644
+--- a/setup/ibus-libpinyin-preferences.ui
++++ b/setup/ibus-libpinyin-preferences.ui
+@@ -1512,7 +1512,7 @@
+ <child>
+ <object class="GtkLabel" id="NameVersion">
+ <property name="visible">True</property>
+- <property name="label" translatable="yes"><big><b>IBus Pinyin %s</b></big></property>
++ <property name="label" translatable="yes"><big><b>Intelligent Pinyin %s</b></big></property>
+ <property name="use_markup">True</property>
+ <property name="selectable">True</property>
+ </object>
+@@ -1523,7 +1523,7 @@
+ <child>
+ <object class="GtkLabel" id="label14">
+ <property name="visible">True</property>
+- <property name="label" translatable="yes">Pinyin input method for IBus</property>
++ <property name="label" translatable="yes">Intelligent Pinyin input method for IBus</property>
+ <property name="selectable">True</property>
+ </object>
+ <packing>
+--
+1.7.7.6
+
+
+From 1cf2c71ff9612ddbea6b2c3f69ffb773ec1f242a Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Tue, 27 Mar 2012 11:59:38 +0800
+Subject: [PATCH 115/116] update libpinyin setup
+
+---
+ setup/main2.py | 50 +++++++++++---------------------------------------
+ src/PYPConfig.cc | 10 ----------
+ 2 files changed, 11 insertions(+), 49 deletions(-)
+
+diff --git a/setup/main2.py b/setup/main2.py
+index 1280c2b..1d31ab4 100644
+--- a/setup/main2.py
++++ b/setup/main2.py
+@@ -283,27 +283,13 @@ class PreferencesDialog:
+ ("FuzzyPinyin_C_CH", True),
+ ("FuzzyPinyin_Z_ZH", True),
+ ("FuzzyPinyin_S_SH", True),
+- ("FuzzyPinyin_CH_C", False),
+- ("FuzzyPinyin_ZH_Z", False),
+- ("FuzzyPinyin_SH_S", False),
+ ("FuzzyPinyin_L_N", True),
+ ("FuzzyPinyin_F_H", True),
+ ("FuzzyPinyin_L_R", False),
+- ("FuzzyPinyin_K_G", True),
+- ("FuzzyPinyin_N_L", False),
+- ("FuzzyPinyin_H_F", False),
+- ("FuzzyPinyin_R_L", False),
+ ("FuzzyPinyin_G_K", False),
+ ("FuzzyPinyin_AN_ANG", True),
+ ("FuzzyPinyin_EN_ENG", True),
+ ("FuzzyPinyin_IN_ING", True),
+- ("FuzzyPinyin_ANG_AN", True),
+- ("FuzzyPinyin_ENG_EN", True),
+- ("FuzzyPinyin_ING_IN", True),
+- # ("FuzzyPinyin_IAN_IANG", True),
+- # ("FuzzyPinyin_UAN_UANG", True),
+- # ("FuzzyPinyin_IANG_IAN", True),
+- # ("FuzzyPinyin_UANG_UAN", True),
+ ]
+
+ def __fuzzy_pinyin_toggled_cb(widget):
+@@ -325,30 +311,16 @@ class PreferencesDialog:
+
+ def __convert_fuzzy_pinyin_to_bopomofo(self):
+ options = [
+- ("FuzzyPinyin_C_CH", "ㄘ => ㄔ"),
+- ("FuzzyPinyin_Z_ZH", "ㄗ => ㄓ"),
+- ("FuzzyPinyin_S_SH", "ㄙ => ㄕ"),
+- ("FuzzyPinyin_CH_C", "ㄔ => ㄘ"),
+- ("FuzzyPinyin_ZH_Z", "ㄓ => ㄗ"),
+- ("FuzzyPinyin_SH_S", "ㄕ => ㄙ"),
+- ("FuzzyPinyin_L_N", "ㄌ => ㄋ"),
+- ("FuzzyPinyin_F_H", "ㄈ => ㄏ"),
+- ("FuzzyPinyin_L_R", "ㄌ => ㄖ"),
+- ("FuzzyPinyin_K_G", "ㄎ => ㄍ"),
+- ("FuzzyPinyin_N_L", "ㄋ => ㄌ"),
+- ("FuzzyPinyin_H_F", "ㄏ => ㄈ"),
+- ("FuzzyPinyin_R_L", "ㄖ => ㄌ"),
+- ("FuzzyPinyin_G_K", "ㄍ => ㄎ"),
+- ("FuzzyPinyin_AN_ANG", "ㄢ => ㄤ"),
+- ("FuzzyPinyin_EN_ENG", "ㄣ => ㄥ"),
+- ("FuzzyPinyin_IN_ING", "ㄧㄣ => ㄧㄥ"),
+- ("FuzzyPinyin_ANG_AN", "ㄤ => ㄢ"),
+- ("FuzzyPinyin_ENG_EN", "ㄥ => ㄣ"),
+- ("FuzzyPinyin_ING_IN", "ㄧㄥ => ㄧㄣ"),
+- # ("FuzzyPinyin_IAN_IANG", "ㄧㄢ => ㄧㄤ"),
+- # ("FuzzyPinyin_UAN_UANG", "ㄨㄢ => ㄨㄤ"),
+- # ("FuzzyPinyin_IANG_IAN", "ㄧㄤ => ㄧㄢ"),
+- # ("FuzzyPinyin_UANG_UAN", "ㄨㄤ => ㄨㄢ"),
++ ("FuzzyPinyin_C_CH", "ㄘ <=> ㄔ"),
++ ("FuzzyPinyin_Z_ZH", "ㄗ <=> ㄓ"),
++ ("FuzzyPinyin_S_SH", "ㄙ <=> ㄕ"),
++ ("FuzzyPinyin_L_N", "ㄌ <=> ㄋ"),
++ ("FuzzyPinyin_F_H", "ㄈ <=> ㄏ"),
++ ("FuzzyPinyin_L_R", "ㄌ <=> ㄖ"),
++ ("FuzzyPinyin_G_K", "ㄍ <=> ㄎ"),
++ ("FuzzyPinyin_AN_ANG", "ㄢ <=> ㄤ"),
++ ("FuzzyPinyin_EN_ENG", "ㄣ <=> ㄥ"),
++ ("FuzzyPinyin_IN_ING", "ㄧㄣ <=> ㄧㄥ"),
+ ]
+
+ for name, label in options:
+@@ -387,7 +359,7 @@ class PreferencesDialog:
+ self.__page_about.show()
+
+ self.__name_version = self.__builder.get_object("NameVersion")
+- self.__name_version.set_markup(_("<big><b>IBus Pinyin %s</b></big>") % version.get_version())
++ self.__name_version.set_markup(_("<big><b>Intelligent Pinyin %s</b></big>") % version.get_version())
+
+ def __changed_cb(self, widget, name):
+ self.__set_value(name, widget.get_active())
+diff --git a/src/PYPConfig.cc b/src/PYPConfig.cc
+index 43bedd6..8d60ecd 100644
+--- a/src/PYPConfig.cc
++++ b/src/PYPConfig.cc
+@@ -103,25 +103,15 @@ static const struct {
+ { "IncompletePinyin", PINYIN_INCOMPLETE|CHEWING_INCOMPLETE},
+ /* fuzzy pinyin */
+ { "FuzzyPinyin_C_CH", PINYIN_AMB_C_CH },
+- { "FuzzyPinyin_CH_C", PINYIN_AMB_C_CH },
+ { "FuzzyPinyin_Z_ZH", PINYIN_AMB_Z_ZH },
+- { "FuzzyPinyin_ZH_Z", PINYIN_AMB_Z_ZH },
+ { "FuzzyPinyin_S_SH", PINYIN_AMB_S_SH },
+- { "FuzzyPinyin_SH_S", PINYIN_AMB_S_SH },
+ { "FuzzyPinyin_L_N", PINYIN_AMB_L_N },
+- { "FuzzyPinyin_N_L", PINYIN_AMB_L_N },
+ { "FuzzyPinyin_F_H", PINYIN_AMB_F_H },
+- { "FuzzyPinyin_H_F", PINYIN_AMB_F_H },
+ { "FuzzyPinyin_L_R", PINYIN_AMB_L_R },
+- { "FuzzyPinyin_R_L", PINYIN_AMB_L_R },
+- { "FuzzyPinyin_K_G", PINYIN_AMB_G_K },
+ { "FuzzyPinyin_G_K", PINYIN_AMB_G_K },
+ { "FuzzyPinyin_AN_ANG", PINYIN_AMB_AN_ANG },
+- { "FuzzyPinyin_ANG_AN", PINYIN_AMB_AN_ANG },
+ { "FuzzyPinyin_EN_ENG", PINYIN_AMB_EN_ENG },
+- { "FuzzyPinyin_ENG_EN", PINYIN_AMB_EN_ENG },
+ { "FuzzyPinyin_IN_ING", PINYIN_AMB_IN_ING },
+- { "FuzzyPinyin_ING_IN", PINYIN_AMB_IN_ING },
+ };
+
+ void
+--
+1.7.7.6
+
+
+From 26067f84fb3793e9559f60d3caf70404dad99458 Mon Sep 17 00:00:00 2001
+From: Peng Wu <alexepico at gmail.com>
+Date: Tue, 27 Mar 2012 12:14:16 +0800
+Subject: [PATCH 116/116] update setup ui
+
+---
+ setup/ibus-libpinyin-preferences.ui | 541 ++++++++++++++++++++---------------
+ 1 files changed, 309 insertions(+), 232 deletions(-)
+
+diff --git a/setup/ibus-libpinyin-preferences.ui b/setup/ibus-libpinyin-preferences.ui
+index 5473f91..a999b63 100644
+--- a/setup/ibus-libpinyin-preferences.ui
++++ b/setup/ibus-libpinyin-preferences.ui
+@@ -1,26 +1,67 @@
+ <?xml version="1.0" encoding="UTF-8"?>
+ <interface>
+ <requires lib="gtk+" version="2.14"/>
+- <!-- interface-naming-policy project-wide -->
++ <object class="GtkAdjustment" id="LookupTablePageSize">
++ <property name="lower">1</property>
++ <property name="upper">11</property>
++ <property name="value">1</property>
++ <property name="step_increment">1</property>
++ <property name="page_increment">1</property>
++ <property name="page_size">1</property>
++ </object>
+ <object class="GtkDialog" id="dialog">
+ <property name="width_request">400</property>
++ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="title" translatable="yes">Preferences</property>
+ <property name="window_position">center-always</property>
+ <property name="icon_name">gtk-preferences</property>
+ <property name="type_hint">normal</property>
+ <child internal-child="vbox">
+- <object class="GtkVBox" id="dialog-vbox1">
++ <object class="GtkBox" id="dialog-vbox1">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="spacing">2</property>
++ <child internal-child="action_area">
++ <object class="GtkButtonBox" id="dialog-action_area1">
++ <property name="visible">True</property>
++ <property name="can_focus">False</property>
++ <property name="layout_style">end</property>
++ <child>
++ <object class="GtkButton" id="buttonClose">
++ <property name="label">gtk-close</property>
++ <property name="visible">True</property>
++ <property name="can_focus">True</property>
++ <property name="has_focus">True</property>
++ <property name="is_focus">True</property>
++ <property name="can_default">True</property>
++ <property name="has_default">True</property>
++ <property name="receives_default">True</property>
++ <property name="use_action_appearance">False</property>
++ <property name="use_stock">True</property>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="fill">False</property>
++ <property name="position">0</property>
++ </packing>
++ </child>
++ </object>
++ <packing>
++ <property name="expand">False</property>
++ <property name="fill">True</property>
++ <property name="pack_type">end</property>
++ <property name="position">0</property>
++ </packing>
++ </child>
+ <child>
+ <object class="GtkNotebook" id="pages">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+- <property name="tab_vborder">3</property>
+ <child>
+ <object class="GtkAlignment" id="pageGeneral">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="top_padding">12</property>
+ <property name="bottom_padding">12</property>
+ <property name="left_padding">12</property>
+@@ -28,20 +69,24 @@
+ <child>
+ <object class="GtkVBox" id="vbox13">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="spacing">18</property>
+ <child>
+ <object class="GtkFrame" id="frame4">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment7">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkTable" id="table4">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="n_rows">4</property>
+ <property name="n_columns">3</property>
+ <property name="column_spacing">12</property>
+@@ -50,6 +95,7 @@
+ <child>
+ <object class="GtkLabel" id="label9">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Language:</property>
+ </object>
+@@ -57,6 +103,7 @@
+ <child>
+ <object class="GtkLabel" id="label10">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Half/full width:</property>
+ </object>
+@@ -68,6 +115,7 @@
+ <child>
+ <object class="GtkLabel" id="label11">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Punctuations:</property>
+ </object>
+@@ -82,6 +130,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">InitEnglish</property>
+ </object>
+@@ -96,6 +145,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+@@ -110,6 +160,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">InitHalf</property>
+ </object>
+@@ -126,6 +177,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+@@ -142,6 +194,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">InitHalfPunct</property>
+ </object>
+@@ -158,6 +211,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+@@ -171,6 +225,7 @@
+ <child>
+ <object class="GtkLabel" id="label18">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Chinese:</property>
+ </object>
+@@ -185,6 +240,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">InitTraditionalChinese</property>
+ </object>
+@@ -201,6 +257,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+@@ -218,6 +275,7 @@
+ <child type="label">
+ <object class="GtkLabel" id="label7">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Initial state</b></property>
+ <property name="use_markup">True</property>
+ </object>
+@@ -232,61 +290,77 @@
+ <child>
+ <object class="GtkFrame" id="frame5">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment8">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="vbox8">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkHBox" id="hbox3">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="spacing">12</property>
+ <property name="homogeneous">True</property>
+ <child>
+ <object class="GtkLabel" id="label4">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Orientation of candidates:</property>
+ <property name="use_markup">True</property>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="LookupTableOrientation">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="model">liststoreLookupTableOrientation</property>
+ <property name="button_sensitivity">on</property>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox4">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="spacing">12</property>
+ <property name="homogeneous">True</property>
+ <child>
+ <object class="GtkLabel" id="label16">
+ <property name="visible">True</property>
++ <property name="can_focus">False</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">True</property>
++ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+@@ -294,17 +368,20 @@
+ <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="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+@@ -315,6 +392,7 @@
+ <child type="label">
+ <object class="GtkLabel" id="label8">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>UI</b></property>
+ <property name="use_markup">True</property>
+ </object>
+@@ -333,6 +411,7 @@
+ <child type="tab">
+ <object class="GtkLabel" id="label19">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">General</property>
+ </object>
+ <packing>
+@@ -342,6 +421,7 @@
+ <child>
+ <object class="GtkAlignment" id="pagePinyinMode">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="top_padding">12</property>
+ <property name="bottom_padding">12</property>
+ <property name="left_padding">12</property>
+@@ -349,24 +429,29 @@
+ <child>
+ <object class="GtkVBox" id="vbox4">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="spacing">18</property>
+ <child>
+ <object class="GtkFrame" id="frame3">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment6">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="vbox9">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkHBox" id="hbox6">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <property name="homogeneous">True</property>
+ <child>
+@@ -375,17 +460,20 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">DoublePinyin</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
++ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox7">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkRadioButton" id="DoublePinyin">
+@@ -393,11 +481,13 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
++ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+@@ -405,21 +495,27 @@
+ <object class="GtkComboBox" id="DoublePinyinSchema">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
++ <property name="can_focus">False</property>
+ <property name="model">liststoreDoublePinyin</property>
+ <property name="button_sensitivity">on</property>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
++ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+@@ -429,9 +525,12 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+@@ -441,10 +540,13 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+@@ -455,6 +557,7 @@
+ <child type="label">
+ <object class="GtkLabel" id="label6">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Pinyin mode</b></property>
+ <property name="use_markup">True</property>
+ </object>
+@@ -462,26 +565,31 @@
+ </object>
+ <packing>
+ <property name="expand">False</property>
++ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="frame6">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment11">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="vbox11">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkTable" id="table2">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="n_rows">2</property>
+ <property name="n_columns">2</property>
+ <property name="column_spacing">6</property>
+@@ -493,6 +601,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ </child>
+@@ -502,6 +611,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+@@ -516,6 +626,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+@@ -530,6 +641,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+@@ -541,6 +653,8 @@
+ </child>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+@@ -551,6 +665,7 @@
+ <child type="label">
+ <object class="GtkLabel" id="label20">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Input Custom</b></property>
+ <property name="use_markup">True</property>
+ </object>
+@@ -558,22 +673,26 @@
+ </object>
+ <packing>
+ <property name="expand">False</property>
++ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="frame9">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment4">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkTable" id="table5">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="n_rows">6</property>
+ <property name="n_columns">2</property>
+ <property name="column_spacing">6</property>
+@@ -584,6 +703,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+@@ -598,6 +718,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+@@ -612,6 +733,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+@@ -626,6 +748,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+@@ -642,6 +765,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+@@ -658,6 +782,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+@@ -674,6 +799,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+@@ -689,6 +815,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+@@ -702,6 +829,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+@@ -720,12 +848,15 @@
+ <child type="label">
+ <object class="GtkLabel" id="label22">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Correct pinyin</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+@@ -739,6 +870,7 @@
+ <child type="tab">
+ <object class="GtkLabel" id="label1">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Pinyin mode</property>
+ </object>
+ <packing>
+@@ -749,6 +881,7 @@
+ <child>
+ <object class="GtkAlignment" id="pageBopomofoMode">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="top_padding">12</property>
+ <property name="bottom_padding">12</property>
+ <property name="left_padding">12</property>
+@@ -756,20 +889,24 @@
+ <child>
+ <object class="GtkVBox" id="vbox10">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="spacing">18</property>
+ <child>
+ <object class="GtkFrame" id="frame8">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment15">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="vbox15">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkCheckButton" id="IncompleteBopomofo">
+@@ -777,38 +914,50 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox5">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel" id="labelBopomofoKeyboardMapping">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Keyboard Mapping:</property>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="BopomofoKeyboardMapping">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="model">liststoreBopomofoKeyboardMapping</property>
+ <property name="button_sensitivity">on</property>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+@@ -819,6 +968,7 @@
+ <child type="label">
+ <object class="GtkLabel" id="label2">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Bopomofo mode</b></property>
+ <property name="use_markup">True</property>
+ </object>
+@@ -833,42 +983,54 @@
+ <child>
+ <object class="GtkFrame" id="frame1">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment1">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="vbox2">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkHBox" id="hbox9">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel" id="labelSelectionKeys">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Selection Keys:</property>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="SelectKeys">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="model">liststoreSelectionKeys</property>
+ <property name="button_sensitivity">on</property>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+@@ -878,10 +1040,13 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+@@ -891,10 +1056,13 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+@@ -904,10 +1072,13 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+@@ -918,6 +1089,7 @@
+ <child type="label">
+ <object class="GtkLabel" id="label23">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Selection mode</b></property>
+ <property name="use_markup">True</property>
+ </object>
+@@ -932,24 +1104,30 @@
+ <child>
+ <object class="GtkFrame" id="frame10">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment16">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="vbox16">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="LabelEnter">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Feature of Enter key:</property>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+@@ -959,11 +1137,14 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">CommitOriginalText</property>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+@@ -973,9 +1154,12 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+@@ -986,6 +1170,7 @@
+ <child type="label">
+ <object class="GtkLabel" id="labelOther">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Other</b></property>
+ <property name="use_markup">True</property>
+ </object>
+@@ -1007,6 +1192,7 @@
+ <child type="tab">
+ <object class="GtkLabel" id="label13">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Bopomofo mode</property>
+ </object>
+ <packing>
+@@ -1017,6 +1203,7 @@
+ <child>
+ <object class="GtkAlignment" id="pageFuzzy">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="top_padding">12</property>
+ <property name="bottom_padding">12</property>
+ <property name="left_padding">12</property>
+@@ -1024,27 +1211,31 @@
+ <child>
+ <object class="GtkVBox" id="vbox1">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkAlignment" id="alignment2">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkTable" id="table1">
+ <property name="visible">True</property>
+- <property name="n_rows">12</property>
++ <property name="can_focus">False</property>
++ <property name="n_rows">11</property>
+ <property name="n_columns">2</property>
+ <property name="column_spacing">6</property>
+ <property name="row_spacing">6</property>
+ <property name="homogeneous">True</property>
+ <child>
+ <object class="GtkCheckButton" id="FuzzyPinyin_C_CH">
+- <property name="label">c => ch</property>
++ <property name="label">c <=> ch</property>
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+@@ -1055,11 +1246,12 @@
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="FuzzyPinyin_Z_ZH">
+- <property name="label">z => zh</property>
++ <property name="label">z <=> zh</property>
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+@@ -1070,11 +1262,12 @@
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="FuzzyPinyin_S_SH">
+- <property name="label">s => sh</property>
++ <property name="label">s <=> sh</property>
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+@@ -1085,11 +1278,12 @@
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="FuzzyPinyin_L_N">
+- <property name="label">l => n</property>
++ <property name="label">l <=> n</property>
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+@@ -1100,11 +1294,12 @@
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="FuzzyPinyin_F_H">
+- <property name="label">f => h</property>
++ <property name="label">f <=> h</property>
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+@@ -1115,11 +1310,12 @@
+ </child>
+ <child>
+ <object class="GtkCheckButton" id="FuzzyPinyin_L_R">
+- <property name="label">l => r</property>
++ <property name="label">l <=> r</property>
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+@@ -1128,75 +1324,45 @@
+ </packing>
+ </child>
+ <child>
+- <object class="GtkCheckButton" id="FuzzyPinyin_K_G">
+- <property name="label">k => g</property>
+- <property name="visible">True</property>
+- <property name="sensitive">False</property>
+- <property name="can_focus">True</property>
+- <property name="receives_default">False</property>
+- <property name="active">True</property>
+- <property name="draw_indicator">True</property>
+- </object>
+- <packing>
+- <property name="top_attach">7</property>
+- <property name="bottom_attach">8</property>
+- </packing>
+- </child>
+- <child>
+- <object class="GtkCheckButton" id="FuzzyPinyin_AN_ANG">
+- <property name="label">an => ang</property>
++ <object class="GtkCheckButton" id="FuzzyPinyin">
++ <property name="label" translatable="yes">Enable fuzzy syllable</property>
+ <property name="visible">True</property>
+- <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+- <property name="active">True</property>
++ <property name="use_action_appearance">False</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+- <property name="top_attach">8</property>
+- <property name="bottom_attach">9</property>
++ <property name="right_attach">2</property>
+ </packing>
+ </child>
+ <child>
+- <object class="GtkCheckButton" id="FuzzyPinyin_EN_ENG">
+- <property name="label">en => eng</property>
++ <object class="GtkCheckButton" id="FuzzyPinyin_G_K">
++ <property name="label">g <=> k</property>
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+- <property name="active">True</property>
++ <property name="use_action_appearance">False</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+- <property name="top_attach">9</property>
+- <property name="bottom_attach">10</property>
++ <property name="top_attach">7</property>
++ <property name="bottom_attach">8</property>
+ </packing>
+ </child>
+ <child>
+- <object class="GtkCheckButton" id="FuzzyPinyin_IN_ING">
+- <property name="label">in => ing</property>
++ <object class="GtkCheckButton" id="FuzzyPinyin_AN_ANG">
++ <property name="label">an <=> ang</property>
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+- <property name="top_attach">10</property>
+- <property name="bottom_attach">11</property>
+- </packing>
+- </child>
+- <child>
+- <object class="GtkCheckButton" id="FuzzyPinyin_CH_C">
+- <property name="label">ch => c</property>
+- <property name="visible">True</property>
+- <property name="sensitive">False</property>
+- <property name="can_focus">True</property>
+- <property name="receives_default">False</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">1</property>
+@@ -1204,12 +1370,14 @@
+ </packing>
+ </child>
+ <child>
+- <object class="GtkCheckButton" id="FuzzyPinyin_ZH_Z">
+- <property name="label">zh => z</property>
++ <object class="GtkCheckButton" id="FuzzyPinyin_EN_ENG">
++ <property name="label">en <=> eng</property>
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
++ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+@@ -1220,155 +1388,65 @@
+ </packing>
+ </child>
+ <child>
+- <object class="GtkCheckButton" id="FuzzyPinyin_SH_S">
+- <property name="label">sh => s</property>
+- <property name="visible">True</property>
+- <property name="sensitive">False</property>
+- <property name="can_focus">True</property>
+- <property name="receives_default">False</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">3</property>
+- <property name="bottom_attach">4</property>
+- </packing>
++ <placeholder/>
+ </child>
+ <child>
+- <object class="GtkCheckButton" id="FuzzyPinyin_N_L">
+- <property name="label">n => l</property>
+- <property name="visible">True</property>
+- <property name="sensitive">False</property>
+- <property name="can_focus">True</property>
+- <property name="receives_default">False</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">4</property>
+- <property name="bottom_attach">5</property>
+- </packing>
++ <placeholder/>
+ </child>
+ <child>
+- <object class="GtkCheckButton" id="FuzzyPinyin_H_F">
+- <property name="label">h => f</property>
+- <property name="visible">True</property>
+- <property name="sensitive">False</property>
+- <property name="can_focus">True</property>
+- <property name="receives_default">False</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>
++ <placeholder/>
+ </child>
+ <child>
+- <object class="GtkCheckButton" id="FuzzyPinyin_R_L">
+- <property name="label">r => l</property>
+- <property name="visible">True</property>
+- <property name="sensitive">False</property>
+- <property name="can_focus">True</property>
+- <property name="receives_default">False</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">6</property>
+- <property name="bottom_attach">7</property>
+- </packing>
++ <placeholder/>
+ </child>
+ <child>
+- <object class="GtkCheckButton" id="FuzzyPinyin_G_K">
+- <property name="label">g => k</property>
+- <property name="visible">True</property>
+- <property name="sensitive">False</property>
+- <property name="can_focus">True</property>
+- <property name="receives_default">False</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">7</property>
+- <property name="bottom_attach">8</property>
+- </packing>
++ <placeholder/>
+ </child>
+ <child>
+- <object class="GtkCheckButton" id="FuzzyPinyin_ANG_AN">
+- <property name="label">ang => an</property>
+- <property name="visible">True</property>
+- <property name="sensitive">False</property>
+- <property name="can_focus">True</property>
+- <property name="receives_default">False</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">8</property>
+- <property name="bottom_attach">9</property>
+- </packing>
++ <placeholder/>
+ </child>
+ <child>
+- <object class="GtkCheckButton" id="FuzzyPinyin_ENG_EN">
+- <property name="label">eng => en</property>
+- <property name="visible">True</property>
+- <property name="sensitive">False</property>
+- <property name="can_focus">True</property>
+- <property name="receives_default">False</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">9</property>
+- <property name="bottom_attach">10</property>
+- </packing>
++ <placeholder/>
+ </child>
+ <child>
+- <object class="GtkCheckButton" id="FuzzyPinyin_ING_IN">
+- <property name="label">ing => in</property>
+- <property name="visible">True</property>
+- <property name="sensitive">False</property>
+- <property name="can_focus">True</property>
+- <property name="receives_default">False</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">10</property>
+- <property name="bottom_attach">11</property>
+- </packing>
++ <placeholder/>
+ </child>
+ <child>
+- <object class="GtkCheckButton" id="FuzzyPinyin">
+- <property name="label" translatable="yes">Enable fuzzy syllable</property>
++ <placeholder/>
++ </child>
++ <child>
++ <placeholder/>
++ </child>
++ <child>
++ <placeholder/>
++ </child>
++ <child>
++ <placeholder/>
++ </child>
++ <child>
++ <object class="GtkCheckButton" id="FuzzyPinyin_IN_ING">
++ <property name="label">in <=> ing</property>
+ <property name="visible">True</property>
++ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
++ <property name="active">True</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">3</property>
++ <property name="bottom_attach">4</property>
+ </packing>
+ </child>
+- <child>
+- <placeholder/>
+- </child>
+- <child>
+- <placeholder/>
+- </child>
+ </object>
+ </child>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+@@ -1382,6 +1460,7 @@
+ <child type="tab">
+ <object class="GtkLabel" id="label3">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Fuzzy syllable</property>
+ </object>
+ <packing>
+@@ -1392,6 +1471,7 @@
+ <child>
+ <object class="GtkAlignment" id="pageDictionary">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="top_padding">12</property>
+ <property name="bottom_padding">12</property>
+ <property name="left_padding">12</property>
+@@ -1399,23 +1479,28 @@
+ <child>
+ <object class="GtkVBox" id="vbox5">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkFrame" id="frame7">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="alignment13">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="top_padding">6</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="vbox12">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkHBox" id="hbox2">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkCheckButton" id="SpecialPhrases">
+@@ -1423,10 +1508,12 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
++ <property name="use_action_appearance">False</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
++ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+@@ -1436,6 +1523,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
++ <property name="use_action_appearance">False</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+@@ -1457,12 +1545,15 @@
+ <child type="label">
+ <object class="GtkLabel" id="label17">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Dictionary option</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+@@ -1476,6 +1567,7 @@
+ <child type="tab">
+ <object class="GtkLabel" id="label12">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Dictionary</property>
+ </object>
+ <packing>
+@@ -1486,6 +1578,7 @@
+ <child>
+ <object class="GtkAlignment" id="pageAbout">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="top_padding">12</property>
+ <property name="bottom_padding">12</property>
+ <property name="left_padding">12</property>
+@@ -1493,10 +1586,12 @@
+ <child>
+ <object class="GtkVBox" id="vbox6">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkVBox" id="vbox7">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkImage" id="image1">
+@@ -1506,39 +1601,50 @@
+ <property name="icon_name">gtk-about</property>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="NameVersion">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><big><b>Intelligent Pinyin %s</b></big></property>
+ <property name="use_markup">True</property>
+ <property name="selectable">True</property>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label14">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Intelligent Pinyin input method for IBus</property>
+ <property name="selectable">True</property>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="label15">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><small>Copyright (c) 2009-2010 Peng Huang</small></property>
+ <property name="use_markup">True</property>
+ <property name="wrap">True</property>
+ <property name="selectable">True</property>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+@@ -1548,6 +1654,7 @@
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
++ <property name="use_action_appearance">False</property>
+ <property name="relief">none</property>
+ <property name="uri">http://ibus.googlecode.com</property>
+ </object>
+@@ -1560,6 +1667,7 @@
+ <child>
+ <object class="GtkLabel" id="label21">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><small>
+ <b>Authors:</b>
+ Peng Huang
+@@ -1574,11 +1682,14 @@ koterpilla, Zerng07
+ <property name="selectable">True</property>
+ </object>
+ <packing>
++ <property name="expand">True</property>
++ <property name="fill">True</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
++ <property name="expand">True</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+@@ -1593,6 +1704,7 @@ koterpilla, Zerng07
+ <child type="tab">
+ <object class="GtkLabel" id="label5">
+ <property name="visible">True</property>
++ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">About</property>
+ </object>
+ <packing>
+@@ -1602,36 +1714,9 @@ koterpilla, Zerng07
+ </child>
+ </object>
+ <packing>
+- <property name="position">1</property>
+- </packing>
+- </child>
+- <child internal-child="action_area">
+- <object class="GtkHButtonBox" id="dialog-action_area1">
+- <property name="visible">True</property>
+- <property name="layout_style">end</property>
+- <child>
+- <object class="GtkButton" id="buttonClose">
+- <property name="label">gtk-close</property>
+- <property name="visible">True</property>
+- <property name="can_focus">True</property>
+- <property name="has_focus">True</property>
+- <property name="is_focus">True</property>
+- <property name="can_default">True</property>
+- <property name="has_default">True</property>
+- <property name="receives_default">True</property>
+- <property name="use_stock">True</property>
+- </object>
+- <packing>
+- <property name="expand">False</property>
+- <property name="fill">False</property>
+- <property name="position">0</property>
+- </packing>
+- </child>
+- </object>
+- <packing>
+ <property name="expand">False</property>
+- <property name="pack_type">end</property>
+- <property name="position">0</property>
++ <property name="fill">True</property>
++ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+@@ -1640,6 +1725,26 @@ koterpilla, Zerng07
+ <action-widget response="0">buttonClose</action-widget>
+ </action-widgets>
+ </object>
++ <object class="GtkListStore" id="liststoreBopomofoKeyboardMapping">
++ <columns>
++ <!-- column-name keyboard_mapping -->
++ <column type="gchararray"/>
++ </columns>
++ <data>
++ <row>
++ <col id="0" translatable="yes">Standard</col>
++ </row>
++ <row>
++ <col id="0" translatable="yes">GinYieh</col>
++ </row>
++ <row>
++ <col id="0" translatable="yes">Eten</col>
++ </row>
++ <row>
++ <col id="0" translatable="yes">IBM</col>
++ </row>
++ </data>
++ </object>
+ <object class="GtkListStore" id="liststoreDoublePinyin">
+ <columns>
+ <!-- column-name schema -->
+@@ -1666,14 +1771,6 @@ koterpilla, Zerng07
+ </row>
+ </data>
+ </object>
+- <object class="GtkAdjustment" id="LookupTablePageSize">
+- <property name="value">1</property>
+- <property name="lower">1</property>
+- <property name="upper">11</property>
+- <property name="step_increment">1</property>
+- <property name="page_increment">1</property>
+- <property name="page_size">1</property>
+- </object>
+ <object class="GtkListStore" id="liststoreLookupTableOrientation">
+ <columns>
+ <!-- column-name orientation -->
+@@ -1688,26 +1785,6 @@ koterpilla, Zerng07
+ </row>
+ </data>
+ </object>
+- <object class="GtkListStore" id="liststoreBopomofoKeyboardMapping">
+- <columns>
+- <!-- column-name keyboard_mapping -->
+- <column type="gchararray"/>
+- </columns>
+- <data>
+- <row>
+- <col id="0" translatable="yes">Standard</col>
+- </row>
+- <row>
+- <col id="0" translatable="yes">GinYieh</col>
+- </row>
+- <row>
+- <col id="0" translatable="yes">Eten</col>
+- </row>
+- <row>
+- <col id="0" translatable="yes">IBM</col>
+- </row>
+- </data>
+- </object>
+ <object class="GtkListStore" id="liststoreSelectionKeys">
+ <columns>
+ <!-- column-name select_keys -->
+--
+1.7.7.6
+
diff --git a/ibus-pinyin.spec b/ibus-pinyin.spec
index 488541a..c35c1c6 100644
--- a/ibus-pinyin.spec
+++ b/ibus-pinyin.spec
@@ -1,6 +1,6 @@
Name: ibus-pinyin
Version: 1.4.0
-Release: 14%{?dist}
+Release: 15%{?dist}
Summary: The Chinese Pinyin and Bopomofo engines for IBus input platform
License: GPLv2+
Group: System Environment/Libraries
@@ -82,6 +82,7 @@ install -c -m 0755 %{SOURCE3} ${RPM_BUILD_ROOT}%{_libexecdir}/ibus-engine-pinyin
%{_libexecdir}/ibus-engine-pinyin
%{_libexecdir}/ibus-engine-pinyin.py*
%{_libexecdir}/ibus-setup-pinyin
+%{_libexecdir}/ibus-setup-libpinyin
%{_datadir}/ibus-pinyin/phrases.txt
%{_datadir}/ibus-pinyin/icons
%{_datadir}/ibus-pinyin/setup
@@ -101,6 +102,9 @@ install -c -m 0755 %{SOURCE3} ${RPM_BUILD_ROOT}%{_libexecdir}/ibus-engine-pinyin
%{_datadir}/ibus-pinyin/db/android.db
%changelog
+* Tue Mar 27 2012 Peng Wu <pwu at redhat.com> - 1.4.0-15
+- Rebuilt for libpinyin-0.5.92
+
* Tue Mar 06 2012 Peng Wu <pwu at redhat.com> - 1.4.0-14
- Rebuilt for ibus-1.4.99
More information about the scm-commits
mailing list