From 82a1abd5837b42b6698be33cfdcb4c90d9fe0ace Mon Sep 17 00:00:00 2001 From: tumuyan Date: Tue, 14 Sep 2021 22:23:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=BA=20#524=20=E5=A2=9E=E5=8A=A0=E5=BC=80?= =?UTF-8?q?=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/java/com/osfans/trime/ime/core/Preferences.kt | 4 ++++ app/src/main/java/com/osfans/trime/ime/core/Trime.java | 9 +++++++-- app/src/main/res/values-zh-rCN/strings.xml | 1 + app/src/main/res/values-zh-rTW/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + app/src/main/res/xml/other_preference.xml | 4 ++++ 6 files changed, 18 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/osfans/trime/ime/core/Preferences.kt b/app/src/main/java/com/osfans/trime/ime/core/Preferences.kt index f32852dacf..eda062a75d 100644 --- a/app/src/main/java/com/osfans/trime/ime/core/Preferences.kt +++ b/app/src/main/java/com/osfans/trime/ime/core/Preferences.kt @@ -292,6 +292,7 @@ class Preferences( const val SHOW_STATUS_BAR_ICON = "other__show_status_bar_icon" const val DESTROY_ON_QUIT = "other__destroy_on_quit" const val SELECTION_SENSE = "other__selection_sense" + const val CLICK_CANDIDATE_AND_COMMIT = "other__click_candidate_and_commit" const val CLIPBOARD_COMPARE_RULES = "other__clipboard_compare" const val CLIPBOARD_OUTPUT_RULES = "other__clipboard_output" const val CLIPBOARD_MANAGER_RULES = "other__clipboard_manager" @@ -305,6 +306,9 @@ class Preferences( var selectionSense: Boolean get() = prefs.getPref(SELECTION_SENSE, true) set(v) = prefs.setPref(SELECTION_SENSE, v) + var clickCandidateAndCommit: Boolean + get() = prefs.getPref(CLICK_CANDIDATE_AND_COMMIT, true) + set(v) = prefs.setPref(CLICK_CANDIDATE_AND_COMMIT, v) var showStatusBarIcon: Boolean = false get() = prefs.getPref(SHOW_STATUS_BAR_ICON, false) private set diff --git a/app/src/main/java/com/osfans/trime/ime/core/Trime.java b/app/src/main/java/com/osfans/trime/ime/core/Trime.java index 375de7652d..25a8f65a81 100644 --- a/app/src/main/java/com/osfans/trime/ime/core/Trime.java +++ b/app/src/main/java/com/osfans/trime/ime/core/Trime.java @@ -1257,8 +1257,13 @@ public void onCandidatePressed(int index) { } } else if (index == -4) onKey(KeyEvent.KEYCODE_PAGE_UP, 0); else if (index == -5) onKey(KeyEvent.KEYCODE_PAGE_DOWN, 0); - else // if (Rime.selectCandidate(index)) - { + else if (getPrefs().getOther().getClickCandidateAndCommit() || index > 9) { + if (Rime.selectCandidate(index)) { + commitText(); + } + } else if (index == 9) { + handleKey(KeyEvent.KEYCODE_0, 0); + } else { handleKey(KeyEvent.KEYCODE_1 + index, 0); } } diff --git a/app/src/main/res/values-zh-rCN/strings.xml b/app/src/main/res/values-zh-rCN/strings.xml index e1c7de0d78..585be54f7f 100644 --- a/app/src/main/res/values-zh-rCN/strings.xml +++ b/app/src/main/res/values-zh-rCN/strings.xml @@ -157,4 +157,5 @@ 用 Ctrl+Left/Right 快速移动光标 系统默认 触发滑动手势的最短距离 + 点击候选词时直接上屏 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 3a1c9dba23..dbfdf90f38 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -158,4 +158,5 @@ 使用 Ctrl+Left / Ctrl+Right 快速移動遊標 系統預設 觸發滑動手勢的最短距離 + 點擊候選詞時直接上屏 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 75a5acf182..a6de38ae1e 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -158,4 +158,5 @@ Uset Ctrl+Left/Right to move the cursor System Default Min travel for gesture + Click candidate and commit directly diff --git a/app/src/main/res/xml/other_preference.xml b/app/src/main/res/xml/other_preference.xml index c8ed27bdf3..86c6b4182f 100644 --- a/app/src/main/res/xml/other_preference.xml +++ b/app/src/main/res/xml/other_preference.xml @@ -29,6 +29,10 @@ app:iconSpaceReserved="false" android:title="@string/other__selection_sense_title" /> + +