mirror of
https://github.com/Myzel394/NumberHub.git
synced 2025-06-20 09:15:26 +02:00
Cut from textfield
This commit is contained in:
parent
88a14bdd51
commit
9553760a72
@ -195,7 +195,8 @@ private fun CalculatorScreen(
|
|||||||
selection = TextRange(uiState.selection.first, uiState.selection.last)
|
selection = TextRange(uiState.selection.first, uiState.selection.last)
|
||||||
),
|
),
|
||||||
onCursorChange = onCursorChange,
|
onCursorChange = onCursorChange,
|
||||||
pasteCallback = addSymbol
|
pasteCallback = addSymbol,
|
||||||
|
cutCallback = deleteSymbol
|
||||||
)
|
)
|
||||||
Text(
|
Text(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
|
@ -36,14 +36,16 @@ internal fun InputTextField(
|
|||||||
modifier: Modifier,
|
modifier: Modifier,
|
||||||
value: TextFieldValue,
|
value: TextFieldValue,
|
||||||
onCursorChange: (IntRange) -> Unit,
|
onCursorChange: (IntRange) -> Unit,
|
||||||
pasteCallback: (String) -> Unit
|
pasteCallback: (String) -> Unit,
|
||||||
|
cutCallback: () -> Unit
|
||||||
) {
|
) {
|
||||||
val clipboardManager = LocalClipboardManager.current
|
val clipboardManager = LocalClipboardManager.current
|
||||||
CompositionLocalProvider(
|
CompositionLocalProvider(
|
||||||
LocalTextInputService provides null,
|
LocalTextInputService provides null,
|
||||||
LocalTextToolbar provides UnittoTextToolbar(
|
LocalTextToolbar provides UnittoTextToolbar(
|
||||||
view = LocalView.current,
|
view = LocalView.current,
|
||||||
pasteCallback = { pasteCallback(clipboardManager.getText()?.text ?: "") }
|
pasteCallback = { pasteCallback(clipboardManager.getText()?.text ?: "") },
|
||||||
|
cutCallback = cutCallback
|
||||||
)
|
)
|
||||||
) {
|
) {
|
||||||
BasicTextField(
|
BasicTextField(
|
||||||
|
@ -27,7 +27,8 @@ import androidx.compose.ui.platform.TextToolbarStatus
|
|||||||
|
|
||||||
internal class UnittoTextToolbar(
|
internal class UnittoTextToolbar(
|
||||||
private val view: View,
|
private val view: View,
|
||||||
private val pasteCallback: () -> Unit
|
private val pasteCallback: () -> Unit,
|
||||||
|
private val cutCallback: () -> Unit
|
||||||
) : TextToolbar {
|
) : TextToolbar {
|
||||||
|
|
||||||
private var actionMode: ActionMode? = null
|
private var actionMode: ActionMode? = null
|
||||||
@ -44,7 +45,7 @@ internal class UnittoTextToolbar(
|
|||||||
) {
|
) {
|
||||||
textActionModeCallback.rect = rect
|
textActionModeCallback.rect = rect
|
||||||
textActionModeCallback.onCopyRequested = onCopyRequested
|
textActionModeCallback.onCopyRequested = onCopyRequested
|
||||||
textActionModeCallback.onCutRequested = onCutRequested
|
textActionModeCallback.onCutRequested = { cutCallback(); onCutRequested?.invoke() }
|
||||||
textActionModeCallback.onPasteRequested = { pasteCallback(); onPasteRequested?.invoke() }
|
textActionModeCallback.onPasteRequested = { pasteCallback(); onPasteRequested?.invoke() }
|
||||||
textActionModeCallback.onSelectAllRequested = onSelectAllRequested
|
textActionModeCallback.onSelectAllRequested = onSelectAllRequested
|
||||||
if (actionMode == null) {
|
if (actionMode == null) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user