159 lines
4.9 KiB
Diff
159 lines
4.9 KiB
Diff
|
From 1eb70ce12bed9d6b53c02ac8693ec52abe1d0216 Mon Sep 17 00:00:00 2001
|
|||
|
From: Peng Wu <pwu@redhat.com>
|
|||
|
Date: Wed, 20 Nov 2019 19:12:47 +0800
|
|||
|
Subject: [PATCH 1/3] fixes period handling
|
|||
|
|
|||
|
---
|
|||
|
src/PYFallbackEditor.cc | 1 +
|
|||
|
src/PYPPinyinEditor.cc | 2 +-
|
|||
|
2 files changed, 2 insertions(+), 1 deletion(-)
|
|||
|
|
|||
|
diff --git a/src/PYFallbackEditor.cc b/src/PYFallbackEditor.cc
|
|||
|
index e3dcfba..12985f4 100644
|
|||
|
--- a/src/PYFallbackEditor.cc
|
|||
|
+++ b/src/PYFallbackEditor.cc
|
|||
|
@@ -219,6 +219,7 @@ FallbackEditor::processKeyEvent (guint keyval, guint keycode, guint modifiers)
|
|||
|
case IBUS_A ... IBUS_Z:
|
|||
|
if (modifiers == 0) {
|
|||
|
if (!m_props.modeFull ())
|
|||
|
+ m_prev_committed_char = keyval;
|
|||
|
return FALSE;
|
|||
|
|
|||
|
commit (HalfFullConverter::toFull (keyval));
|
|||
|
diff --git a/src/PYPPinyinEditor.cc b/src/PYPPinyinEditor.cc
|
|||
|
index d2741b0..55bbb63 100644
|
|||
|
--- a/src/PYPPinyinEditor.cc
|
|||
|
+++ b/src/PYPPinyinEditor.cc
|
|||
|
@@ -130,7 +130,7 @@ PinyinEditor::processPunct (guint keyval, guint keycode,
|
|||
|
return FALSE;
|
|||
|
}
|
|||
|
|
|||
|
- return TRUE;
|
|||
|
+ return FALSE;
|
|||
|
}
|
|||
|
|
|||
|
inline gboolean
|
|||
|
--
|
|||
|
2.26.2
|
|||
|
|
|||
|
|
|||
|
From 592b628000d9b58bb714ff9232d7d2ddf814cacf Mon Sep 17 00:00:00 2001
|
|||
|
From: Peng Wu <pwu@redhat.com>
|
|||
|
Date: Thu, 21 Nov 2019 14:45:28 +0800
|
|||
|
Subject: [PATCH 2/3] fixes period handling again
|
|||
|
|
|||
|
---
|
|||
|
src/PYFallbackEditor.cc | 10 ++++++++--
|
|||
|
1 file changed, 8 insertions(+), 2 deletions(-)
|
|||
|
|
|||
|
diff --git a/src/PYFallbackEditor.cc b/src/PYFallbackEditor.cc
|
|||
|
index 12985f4..3d03b49 100644
|
|||
|
--- a/src/PYFallbackEditor.cc
|
|||
|
+++ b/src/PYFallbackEditor.cc
|
|||
|
@@ -218,9 +218,10 @@ FallbackEditor::processKeyEvent (guint keyval, guint keycode, guint modifiers)
|
|||
|
case IBUS_a ... IBUS_z:
|
|||
|
case IBUS_A ... IBUS_Z:
|
|||
|
if (modifiers == 0) {
|
|||
|
- if (!m_props.modeFull ())
|
|||
|
+ if (!m_props.modeFull ()) {
|
|||
|
m_prev_committed_char = keyval;
|
|||
|
return FALSE;
|
|||
|
+ }
|
|||
|
|
|||
|
commit (HalfFullConverter::toFull (keyval));
|
|||
|
retval = TRUE;
|
|||
|
@@ -261,8 +262,10 @@ FallbackEditor::processKeyEvent (guint keyval, guint keycode, guint modifiers)
|
|||
|
keyval = IBUS_space;
|
|||
|
case IBUS_space:
|
|||
|
if (modifiers == 0) {
|
|||
|
- if (!m_props.modeFull ())
|
|||
|
+ if (!m_props.modeFull ()) {
|
|||
|
+ m_prev_committed_char = keyval;
|
|||
|
return FALSE;
|
|||
|
+ }
|
|||
|
|
|||
|
commit (" ");
|
|||
|
retval = TRUE;
|
|||
|
@@ -272,6 +275,9 @@ FallbackEditor::processKeyEvent (guint keyval, guint keycode, guint modifiers)
|
|||
|
default:
|
|||
|
break;
|
|||
|
}
|
|||
|
+
|
|||
|
+ if (!retval)
|
|||
|
+ m_prev_committed_char = keyval;
|
|||
|
return retval;
|
|||
|
}
|
|||
|
|
|||
|
--
|
|||
|
2.26.2
|
|||
|
|
|||
|
|
|||
|
From 17121ad1dbc8c9be44d449c2d79179cdd90f6d7c Mon Sep 17 00:00:00 2001
|
|||
|
From: Peng Wu <pwu@redhat.com>
|
|||
|
Date: Fri, 29 Nov 2019 13:23:16 +0800
|
|||
|
Subject: [PATCH 3/3] fixes comma handling
|
|||
|
|
|||
|
---
|
|||
|
src/PYFallbackEditor.cc | 32 ++++++++++++++++++++++++--------
|
|||
|
1 file changed, 24 insertions(+), 8 deletions(-)
|
|||
|
|
|||
|
diff --git a/src/PYFallbackEditor.cc b/src/PYFallbackEditor.cc
|
|||
|
index 3d03b49..6020591 100644
|
|||
|
--- a/src/PYFallbackEditor.cc
|
|||
|
+++ b/src/PYFallbackEditor.cc
|
|||
|
@@ -76,13 +76,21 @@ FallbackEditor::processPunctForSimplifiedChinese (guint keyval, guint keycode, g
|
|||
|
m_double_quote = !m_double_quote;
|
|||
|
return TRUE;
|
|||
|
case ',':
|
|||
|
- commit (","); return TRUE;
|
|||
|
+ if (m_prev_committed_char >= '0' && m_prev_committed_char <= '9') {
|
|||
|
+ m_prev_committed_char = keyval;
|
|||
|
+ return FALSE;
|
|||
|
+ } else {
|
|||
|
+ commit (",");
|
|||
|
+ return TRUE;
|
|||
|
+ }
|
|||
|
case '.':
|
|||
|
- if (m_prev_committed_char >= '0' && m_prev_committed_char <= '9')
|
|||
|
+ if (m_prev_committed_char >= '0' && m_prev_committed_char <= '9') {
|
|||
|
+ m_prev_committed_char = keyval;
|
|||
|
return FALSE;
|
|||
|
- else
|
|||
|
+ } else {
|
|||
|
commit ("。");
|
|||
|
- return TRUE;
|
|||
|
+ return TRUE;
|
|||
|
+ }
|
|||
|
case '<':
|
|||
|
commit ("《"); return TRUE;
|
|||
|
case '>':
|
|||
|
@@ -144,13 +152,21 @@ FallbackEditor::processPunctForTraditionalChinese (guint keyval, guint keycode,
|
|||
|
m_double_quote = !m_double_quote;
|
|||
|
return TRUE;
|
|||
|
case ',':
|
|||
|
- commit (","); return TRUE;
|
|||
|
+ if (m_prev_committed_char >= '0' && m_prev_committed_char <= '9') {
|
|||
|
+ m_prev_committed_char = keyval;
|
|||
|
+ return FALSE;
|
|||
|
+ } else {
|
|||
|
+ commit (",");
|
|||
|
+ return TRUE;
|
|||
|
+ }
|
|||
|
case '.':
|
|||
|
- if (m_prev_committed_char >= '0' && m_prev_committed_char <= '9')
|
|||
|
+ if (m_prev_committed_char >= '0' && m_prev_committed_char <= '9') {
|
|||
|
+ m_prev_committed_char = keyval;
|
|||
|
return FALSE;
|
|||
|
- else
|
|||
|
+ } else {
|
|||
|
commit ("。");
|
|||
|
- return TRUE;
|
|||
|
+ return TRUE;
|
|||
|
+ }
|
|||
|
case '<':
|
|||
|
commit ("《"); return TRUE;
|
|||
|
case '>':
|
|||
|
--
|
|||
|
2.26.2
|
|||
|
|