mirror of
https://github.com/Helium314/HeliBoard.git
synced 2025-05-14 05:52:47 +00:00
Add paste key and slightly re-arrange toolbar keys (#945)
This commit is contained in:
parent
cc4d8cfedc
commit
0bd76de9d9
10 changed files with 67 additions and 31 deletions
|
@ -172,8 +172,8 @@ object KeyCode {
|
|||
fun Int.checkAndConvertCode(): Int = if (this > 0) this else when (this) {
|
||||
// working
|
||||
CURRENCY_SLOT_1, CURRENCY_SLOT_2, CURRENCY_SLOT_3, CURRENCY_SLOT_4, CURRENCY_SLOT_5, CURRENCY_SLOT_6,
|
||||
VOICE_INPUT, LANGUAGE_SWITCH, SETTINGS, DELETE, ALPHA, SYMBOL, EMOJI, CLIPBOARD, CLIPBOARD_CUT,
|
||||
UNDO, REDO, ARROW_DOWN, ARROW_UP, ARROW_RIGHT, ARROW_LEFT, CLIPBOARD_COPY, CLIPBOARD_SELECT_ALL,
|
||||
VOICE_INPUT, LANGUAGE_SWITCH, SETTINGS, DELETE, ALPHA, SYMBOL, EMOJI, CLIPBOARD, CLIPBOARD_CUT, UNDO,
|
||||
REDO, ARROW_DOWN, ARROW_UP, ARROW_RIGHT, ARROW_LEFT, CLIPBOARD_COPY, CLIPBOARD_PASTE, CLIPBOARD_SELECT_ALL,
|
||||
CLIPBOARD_SELECT_WORD, TOGGLE_INCOGNITO_MODE, TOGGLE_AUTOCORRECT, MOVE_START_OF_LINE, MOVE_END_OF_LINE,
|
||||
MOVE_START_OF_PAGE, MOVE_END_OF_PAGE, SHIFT, CAPS_LOCK, MULTIPLE_CODE_POINTS, UNSPECIFIED, CTRL, ALT,
|
||||
FN, CLIPBOARD_CLEAR_HISTORY,
|
||||
|
|
|
@ -199,12 +199,12 @@ class ClipboardHistoryManager(
|
|||
val binding = ClipboardSuggestionBinding.inflate(LayoutInflater.from(latinIME), parent, false)
|
||||
val textView = binding.clipboardSuggestionText
|
||||
textView.text = if (isClipSensitive(inputType)) "*".repeat(content.length) else content
|
||||
val clipIcon = latinIME.mKeyboardSwitcher.keyboard.mIconsSet.getIconDrawable(ToolbarKey.CLIPBOARD.name.lowercase())
|
||||
val clipIcon = latinIME.mKeyboardSwitcher.keyboard.mIconsSet.getIconDrawable(ToolbarKey.PASTE.name.lowercase())
|
||||
textView.setCompoundDrawablesRelativeWithIntrinsicBounds(clipIcon, null, null, null)
|
||||
textView.setOnClickListener {
|
||||
dontShowCurrentSuggestion = true
|
||||
latinIME.onTextInput(content.toString())
|
||||
AudioAndHapticFeedbackManager.getInstance().performHapticAndAudioFeedback(KeyCode.NOT_SPECIFIED, it);
|
||||
AudioAndHapticFeedbackManager.getInstance().performHapticAndAudioFeedback(KeyCode.NOT_SPECIFIED, it)
|
||||
binding.root.isGone = true
|
||||
}
|
||||
val closeButton = binding.clipboardSuggestionClose
|
||||
|
|
|
@ -36,12 +36,21 @@ fun createToolbarKey(context: Context, keyboardAttr: TypedArray, key: ToolbarKey
|
|||
|
||||
fun getCodeForToolbarKey(key: ToolbarKey) = when (key) {
|
||||
VOICE -> KeyCode.VOICE_INPUT
|
||||
SETTINGS -> KeyCode.SETTINGS
|
||||
CLIPBOARD -> KeyCode.CLIPBOARD
|
||||
UNDO -> KeyCode.UNDO
|
||||
REDO -> KeyCode.REDO
|
||||
SETTINGS -> KeyCode.SETTINGS
|
||||
SELECT_ALL -> KeyCode.CLIPBOARD_SELECT_ALL
|
||||
SELECT_WORD -> KeyCode.CLIPBOARD_SELECT_WORD
|
||||
COPY -> KeyCode.CLIPBOARD_COPY
|
||||
CUT -> KeyCode.CLIPBOARD_CUT
|
||||
PASTE -> KeyCode.CLIPBOARD_PASTE
|
||||
ONE_HANDED -> if (Settings.getInstance().current.mOneHandedModeEnabled) KeyCode.STOP_ONE_HANDED_MODE else KeyCode.START_ONE_HANDED_MODE
|
||||
INCOGNITO -> KeyCode.TOGGLE_INCOGNITO_MODE
|
||||
AUTOCORRECT -> KeyCode.TOGGLE_AUTOCORRECT
|
||||
CLEAR_CLIPBOARD -> KeyCode.CLIPBOARD_CLEAR_HISTORY
|
||||
CLOSE_HISTORY -> KeyCode.ALPHA
|
||||
EMOJI -> KeyCode.EMOJI
|
||||
LEFT -> KeyCode.ARROW_LEFT
|
||||
RIGHT -> KeyCode.ARROW_RIGHT
|
||||
UP -> KeyCode.ARROW_UP
|
||||
|
@ -50,21 +59,19 @@ fun getCodeForToolbarKey(key: ToolbarKey) = when (key) {
|
|||
WORD_RIGHT -> KeyCode.WORD_RIGHT
|
||||
PAGE_UP -> KeyCode.PAGE_UP
|
||||
PAGE_DOWN -> KeyCode.PAGE_DOWN
|
||||
UNDO -> KeyCode.UNDO
|
||||
REDO -> KeyCode.REDO
|
||||
INCOGNITO -> KeyCode.TOGGLE_INCOGNITO_MODE
|
||||
AUTOCORRECT -> KeyCode.TOGGLE_AUTOCORRECT
|
||||
FULL_LEFT -> KeyCode.MOVE_START_OF_LINE
|
||||
FULL_RIGHT -> KeyCode.MOVE_END_OF_LINE
|
||||
PAGE_START -> KeyCode.MOVE_START_OF_PAGE
|
||||
PAGE_END -> KeyCode.MOVE_END_OF_PAGE
|
||||
SELECT_WORD -> KeyCode.CLIPBOARD_SELECT_WORD
|
||||
CLEAR_CLIPBOARD -> KeyCode.CLIPBOARD_CLEAR_HISTORY
|
||||
CLOSE_HISTORY -> KeyCode.ALPHA
|
||||
EMOJI -> KeyCode.EMOJI
|
||||
}
|
||||
|
||||
fun getCodeForToolbarKeyLongClick(key: ToolbarKey) = when (key) {
|
||||
CLIPBOARD -> KeyCode.CLIPBOARD_PASTE
|
||||
UNDO -> KeyCode.REDO
|
||||
REDO -> KeyCode.UNDO
|
||||
SELECT_WORD -> KeyCode.CLIPBOARD_SELECT_ALL
|
||||
COPY -> KeyCode.CLIPBOARD_COPY_ALL
|
||||
PASTE -> KeyCode.CLIPBOARD
|
||||
LEFT -> KeyCode.WORD_LEFT
|
||||
RIGHT -> KeyCode.WORD_RIGHT
|
||||
UP -> KeyCode.PAGE_UP
|
||||
|
@ -73,22 +80,26 @@ fun getCodeForToolbarKeyLongClick(key: ToolbarKey) = when (key) {
|
|||
WORD_RIGHT -> KeyCode.MOVE_END_OF_LINE
|
||||
PAGE_UP -> KeyCode.MOVE_START_OF_PAGE
|
||||
PAGE_DOWN -> KeyCode.MOVE_END_OF_PAGE
|
||||
UNDO -> KeyCode.REDO
|
||||
REDO -> KeyCode.UNDO
|
||||
COPY -> KeyCode.CLIPBOARD_COPY_ALL
|
||||
SELECT_WORD -> KeyCode.CLIPBOARD_SELECT_ALL
|
||||
CLIPBOARD -> KeyCode.CLIPBOARD_PASTE
|
||||
else -> KeyCode.UNSPECIFIED
|
||||
}
|
||||
|
||||
fun getStyleableIconId(key: ToolbarKey) = when (key) {
|
||||
VOICE -> R.styleable.Keyboard_iconShortcutKey
|
||||
SETTINGS -> R.styleable.Keyboard_iconSettingsKey
|
||||
CLIPBOARD -> R.styleable.Keyboard_iconClipboardNormalKey
|
||||
UNDO -> R.styleable.Keyboard_iconUndo
|
||||
REDO -> R.styleable.Keyboard_iconRedo
|
||||
SETTINGS -> R.styleable.Keyboard_iconSettingsKey
|
||||
SELECT_ALL -> R.styleable.Keyboard_iconSelectAll
|
||||
SELECT_WORD -> R.styleable.Keyboard_iconSelectWord
|
||||
COPY -> R.styleable.Keyboard_iconCopyKey
|
||||
CUT -> R.styleable.Keyboard_iconCutKey
|
||||
PASTE -> R.styleable.Keyboard_iconPasteKey
|
||||
ONE_HANDED -> R.styleable.Keyboard_iconStartOneHandedMode
|
||||
INCOGNITO -> R.styleable.Keyboard_iconIncognitoKey
|
||||
AUTOCORRECT -> R.styleable.Keyboard_iconAutoCorrect
|
||||
CLEAR_CLIPBOARD -> R.styleable.Keyboard_iconClearClipboardKey
|
||||
CLOSE_HISTORY -> R.styleable.Keyboard_iconClose
|
||||
EMOJI -> R.styleable.Keyboard_iconEmojiNormalKey
|
||||
LEFT -> R.styleable.Keyboard_iconArrowLeft
|
||||
RIGHT -> R.styleable.Keyboard_iconArrowRight
|
||||
UP -> R.styleable.Keyboard_iconArrowUp
|
||||
|
@ -97,18 +108,10 @@ fun getStyleableIconId(key: ToolbarKey) = when (key) {
|
|||
WORD_RIGHT -> R.styleable.Keyboard_iconWordRight
|
||||
PAGE_UP -> R.styleable.Keyboard_iconPageUp
|
||||
PAGE_DOWN -> R.styleable.Keyboard_iconPageDown
|
||||
UNDO -> R.styleable.Keyboard_iconUndo
|
||||
REDO -> R.styleable.Keyboard_iconRedo
|
||||
INCOGNITO -> R.styleable.Keyboard_iconIncognitoKey
|
||||
AUTOCORRECT -> R.styleable.Keyboard_iconAutoCorrect
|
||||
CLEAR_CLIPBOARD -> R.styleable.Keyboard_iconClearClipboardKey
|
||||
FULL_LEFT -> R.styleable.Keyboard_iconFullLeft
|
||||
FULL_RIGHT -> R.styleable.Keyboard_iconFullRight
|
||||
PAGE_START -> R.styleable.Keyboard_iconPageStart
|
||||
PAGE_END -> R.styleable.Keyboard_iconPageEnd
|
||||
SELECT_WORD -> R.styleable.Keyboard_iconSelectWord
|
||||
CLOSE_HISTORY -> R.styleable.Keyboard_iconClose
|
||||
EMOJI -> R.styleable.Keyboard_iconEmojiNormalKey
|
||||
}
|
||||
|
||||
fun getToolbarIconByName(name: String, context: Context): Drawable? {
|
||||
|
@ -122,7 +125,7 @@ fun getToolbarIconByName(name: String, context: Context): Drawable? {
|
|||
|
||||
// names need to be aligned with resources strings (using lowercase of key.name)
|
||||
enum class ToolbarKey {
|
||||
VOICE, CLIPBOARD, UNDO, REDO, SETTINGS, SELECT_ALL, SELECT_WORD, COPY, CUT, ONE_HANDED, INCOGNITO,
|
||||
VOICE, CLIPBOARD, UNDO, REDO, SETTINGS, SELECT_ALL, SELECT_WORD, COPY, CUT, PASTE, ONE_HANDED, INCOGNITO,
|
||||
AUTOCORRECT, CLEAR_CLIPBOARD, CLOSE_HISTORY, EMOJI, LEFT, RIGHT, UP, DOWN, WORD_LEFT, WORD_RIGHT,
|
||||
PAGE_UP, PAGE_DOWN, FULL_LEFT, FULL_RIGHT, PAGE_START, PAGE_END
|
||||
}
|
||||
|
@ -130,7 +133,7 @@ enum class ToolbarKey {
|
|||
val toolbarKeyStrings = entries.associateWithTo(EnumMap(ToolbarKey::class.java)) { it.toString().lowercase(Locale.US) }
|
||||
|
||||
val defaultToolbarPref by lazy {
|
||||
val default = listOf(VOICE, CLIPBOARD, UNDO, REDO, SETTINGS, SELECT_ALL, SELECT_WORD, COPY, LEFT, RIGHT)
|
||||
val default = listOf(SETTINGS, VOICE, CLIPBOARD, UNDO, REDO, SELECT_WORD, COPY, PASTE, LEFT, RIGHT)
|
||||
val others = entries.filterNot { it in default || it == CLOSE_HISTORY }
|
||||
default.joinToString(";") { "${it.name},true" } + ";" + others.joinToString(";") { "${it.name},false" }
|
||||
}
|
||||
|
@ -140,7 +143,7 @@ val defaultPinnedToolbarPref = entries.filterNot { it == CLOSE_HISTORY }.joinToS
|
|||
}
|
||||
|
||||
val defaultClipboardToolbarPref by lazy {
|
||||
val default = listOf(ONE_HANDED, UNDO, UP, DOWN, LEFT, RIGHT, CLEAR_CLIPBOARD, COPY, CUT, SELECT_WORD, CLOSE_HISTORY)
|
||||
val default = listOf(CLEAR_CLIPBOARD, UP, DOWN, LEFT, RIGHT, UNDO, CUT, COPY, PASTE, SELECT_WORD, CLOSE_HISTORY)
|
||||
val others = entries.filterNot { it in default }
|
||||
default.joinToString(";") { "${it.name},true" } + ";" + others.joinToString(";") { "${it.name},false" }
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue