summaryrefslogtreecommitdiffstats
path: root/src/PYPPinyinEngine.cc
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2019-05-09 14:27:55 +0800
committerPeng Wu <alexepico@gmail.com>2019-05-09 14:27:55 +0800
commitd28daf1b85a0e52b2bfb7c82e901dce60df34cde (patch)
tree4ec9043a627d10df37a3aa6f0c7b73c06facbf42 /src/PYPPinyinEngine.cc
parent27103d833d0aa6e572bd769695447ff4162269a5 (diff)
downloadibus-libpinyin-d28daf1b85a0e52b2bfb7c82e901dce60df34cde.tar.gz
ibus-libpinyin-d28daf1b85a0e52b2bfb7c82e901dce60df34cde.tar.xz
ibus-libpinyin-d28daf1b85a0e52b2bfb7c82e901dce60df34cde.zip
add both-switch option
Diffstat (limited to 'src/PYPPinyinEngine.cc')
-rw-r--r--src/PYPPinyinEngine.cc18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/PYPPinyinEngine.cc b/src/PYPPinyinEngine.cc
index efb518e..8c241d5 100644
--- a/src/PYPPinyinEngine.cc
+++ b/src/PYPPinyinEngine.cc
@@ -197,14 +197,28 @@ PinyinEngine::processAccelKeyEvent (guint keyval, guint keycode,
}
/* Toggle full/half Letter Mode */
- if (PinyinConfig::instance (). letterSwitch () == accel) {
+ if (PinyinConfig::instance ().letterSwitch () == accel) {
m_props.toggleModeFull ();
m_prev_pressed_key = keyval;
return TRUE;
}
/* Toggle full/half Punct Mode */
- if (PinyinConfig::instance (). punctSwitch () == accel) {
+ if (PinyinConfig::instance ().punctSwitch () == accel) {
+ m_props.toggleModeFullPunct ();
+ m_prev_pressed_key = keyval;
+ return TRUE;
+ }
+
+ /* Toggle both full/half Mode */
+ if (PinyinConfig::instance ().bothSwitch () == accel) {
+ if (m_props.modeFull () != m_props.modeFullPunct ()) {
+ m_props.toggleModeFull ();
+ m_prev_pressed_key = keyval;
+ return TRUE;
+ }
+
+ m_props.toggleModeFull ();
m_props.toggleModeFullPunct ();
m_prev_pressed_key = keyval;
return TRUE;