Allow clear clipboard history toolbar key in normal toolbar (#679)

Co-authored-by: codokie <@>
Co-authored-by: Helium314 <helium314@disroot.org>
This commit is contained in:
codokie 2024-05-26 00:12:11 +03:00 committed by GitHub
parent c98d6d0cc6
commit 2c24f190c1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 8 additions and 7 deletions

View file

@ -240,8 +240,6 @@ class ClipboardHistoryView @JvmOverloads constructor(
keyboardActionListener?.onCodeInput(code, Constants.NOT_A_COORDINATE, Constants.NOT_A_COORDINATE, false) keyboardActionListener?.onCodeInput(code, Constants.NOT_A_COORDINATE, Constants.NOT_A_COORDINATE, false)
return return
} }
if (tag == ToolbarKey.CLEAR_CLIPBOARD)
clipboardHistoryManager?.clearHistory()
} }
} }

View file

@ -146,11 +146,11 @@ object KeyCode {
VOICE_INPUT, LANGUAGE_SWITCH, SETTINGS, DELETE, ALPHA, SYMBOL, EMOJI, CLIPBOARD, VOICE_INPUT, LANGUAGE_SWITCH, SETTINGS, DELETE, ALPHA, SYMBOL, EMOJI, CLIPBOARD,
UNDO, REDO, ARROW_DOWN, ARROW_UP, ARROW_RIGHT, ARROW_LEFT, CLIPBOARD_COPY, CLIPBOARD_SELECT_ALL, UNDO, REDO, ARROW_DOWN, ARROW_UP, ARROW_RIGHT, ARROW_LEFT, CLIPBOARD_COPY, CLIPBOARD_SELECT_ALL,
CLIPBOARD_SELECT_WORD, TOGGLE_INCOGNITO_MODE, TOGGLE_AUTOCORRECT, MOVE_START_OF_LINE, MOVE_END_OF_LINE, CLIPBOARD_SELECT_WORD, TOGGLE_INCOGNITO_MODE, TOGGLE_AUTOCORRECT, MOVE_START_OF_LINE, MOVE_END_OF_LINE,
SHIFT, CAPS_LOCK, MULTIPLE_CODE_POINTS, UNSPECIFIED, CTRL, ALT, FN, META, SHIFT, CAPS_LOCK, MULTIPLE_CODE_POINTS, UNSPECIFIED, CTRL, ALT, FN, CLIPBOARD_CLEAR_HISTORY,
// heliboard only // heliboard only
SYMBOL_ALPHA, START_ONE_HANDED_MODE, STOP_ONE_HANDED_MODE, SWITCH_ONE_HANDED_MODE, SHIFT_ENTER, SYMBOL_ALPHA, START_ONE_HANDED_MODE, STOP_ONE_HANDED_MODE, SWITCH_ONE_HANDED_MODE, SHIFT_ENTER,
ACTION_NEXT, ACTION_PREVIOUS, NOT_SPECIFIED, CLIPBOARD_COPY_ALL, PAGE_UP, PAGE_DOWN ACTION_NEXT, ACTION_PREVIOUS, NOT_SPECIFIED, CLIPBOARD_COPY_ALL, PAGE_UP, PAGE_DOWN, META
-> this -> this
// conversion // conversion

View file

@ -730,6 +730,9 @@ public final class InputLogic {
case KeyCode.CLIPBOARD_COPY_ALL: case KeyCode.CLIPBOARD_COPY_ALL:
mConnection.copyText(false); mConnection.copyText(false);
break; break;
case KeyCode.CLIPBOARD_CLEAR_HISTORY:
mLatinIME.getClipboardHistoryManager().clearHistory();
break;
case KeyCode.CLIPBOARD_CUT: case KeyCode.CLIPBOARD_CUT:
if (mConnection.hasSelection()) { if (mConnection.hasSelection()) {
mConnection.copyText(true); mConnection.copyText(true);

View file

@ -57,7 +57,7 @@ fun getCodeForToolbarKey(key: ToolbarKey) = when (key) {
FULL_LEFT -> KeyCode.MOVE_START_OF_LINE FULL_LEFT -> KeyCode.MOVE_START_OF_LINE
FULL_RIGHT -> KeyCode.MOVE_END_OF_LINE FULL_RIGHT -> KeyCode.MOVE_END_OF_LINE
SELECT_WORD -> KeyCode.CLIPBOARD_SELECT_WORD SELECT_WORD -> KeyCode.CLIPBOARD_SELECT_WORD
CLEAR_CLIPBOARD -> KeyCode.UNSPECIFIED // not managed via code input. todo: probably it should be CLEAR_CLIPBOARD -> KeyCode.CLIPBOARD_CLEAR_HISTORY
CLOSE_HISTORY -> KeyCode.ALPHA CLOSE_HISTORY -> KeyCode.ALPHA
} }
@ -116,9 +116,9 @@ val toolbarKeyStrings: Set<String> = entries.mapTo(HashSet()) { it.toString().lo
fun toToolbarKeyString(keys: Collection<ToolbarKey>) = keys.joinToString(";") { it.name } fun toToolbarKeyString(keys: Collection<ToolbarKey>) = keys.joinToString(";") { it.name }
val defaultToolbarPref = entries.filterNot { it == CLEAR_CLIPBOARD || it == CLOSE_HISTORY }.joinToString(";") { val defaultToolbarPref = entries.filterNot { it == CLOSE_HISTORY }.joinToString(";") {
when (it) { when (it) {
INCOGNITO, AUTOCORRECT, UP, DOWN, ONE_HANDED, FULL_LEFT, FULL_RIGHT, CUT -> "${it.name},false" INCOGNITO, AUTOCORRECT, UP, DOWN, ONE_HANDED, FULL_LEFT, FULL_RIGHT, CUT, CLEAR_CLIPBOARD -> "${it.name},false"
else -> "${it.name},true" else -> "${it.name},true"
} }
} }