diff --git a/feature/calculator/src/main/java/com/sadellie/unitto/feature/calculator/CalculatorScreen.kt b/feature/calculator/src/main/java/com/sadellie/unitto/feature/calculator/CalculatorScreen.kt index 221e9ab7..4b53269c 100644 --- a/feature/calculator/src/main/java/com/sadellie/unitto/feature/calculator/CalculatorScreen.kt +++ b/feature/calculator/src/main/java/com/sadellie/unitto/feature/calculator/CalculatorScreen.kt @@ -195,7 +195,8 @@ private fun CalculatorScreen( selection = TextRange(uiState.selection.first, uiState.selection.last) ), onCursorChange = onCursorChange, - pasteCallback = addSymbol + pasteCallback = addSymbol, + cutCallback = deleteSymbol ) Text( modifier = Modifier diff --git a/feature/calculator/src/main/java/com/sadellie/unitto/feature/calculator/components/InputTextField.kt b/feature/calculator/src/main/java/com/sadellie/unitto/feature/calculator/components/InputTextField.kt index dc73d279..797dc77f 100644 --- a/feature/calculator/src/main/java/com/sadellie/unitto/feature/calculator/components/InputTextField.kt +++ b/feature/calculator/src/main/java/com/sadellie/unitto/feature/calculator/components/InputTextField.kt @@ -36,14 +36,16 @@ internal fun InputTextField( modifier: Modifier, value: TextFieldValue, onCursorChange: (IntRange) -> Unit, - pasteCallback: (String) -> Unit + pasteCallback: (String) -> Unit, + cutCallback: () -> Unit ) { val clipboardManager = LocalClipboardManager.current CompositionLocalProvider( LocalTextInputService provides null, LocalTextToolbar provides UnittoTextToolbar( view = LocalView.current, - pasteCallback = { pasteCallback(clipboardManager.getText()?.text ?: "") } + pasteCallback = { pasteCallback(clipboardManager.getText()?.text ?: "") }, + cutCallback = cutCallback ) ) { BasicTextField( diff --git a/feature/calculator/src/main/java/com/sadellie/unitto/feature/calculator/components/UnittoTextToolbar.kt b/feature/calculator/src/main/java/com/sadellie/unitto/feature/calculator/components/UnittoTextToolbar.kt index a11b996a..83c7aa85 100644 --- a/feature/calculator/src/main/java/com/sadellie/unitto/feature/calculator/components/UnittoTextToolbar.kt +++ b/feature/calculator/src/main/java/com/sadellie/unitto/feature/calculator/components/UnittoTextToolbar.kt @@ -27,7 +27,8 @@ import androidx.compose.ui.platform.TextToolbarStatus internal class UnittoTextToolbar( private val view: View, - private val pasteCallback: () -> Unit + private val pasteCallback: () -> Unit, + private val cutCallback: () -> Unit ) : TextToolbar { private var actionMode: ActionMode? = null @@ -44,7 +45,7 @@ internal class UnittoTextToolbar( ) { textActionModeCallback.rect = rect textActionModeCallback.onCopyRequested = onCopyRequested - textActionModeCallback.onCutRequested = onCutRequested + textActionModeCallback.onCutRequested = { cutCallback(); onCutRequested?.invoke() } textActionModeCallback.onPasteRequested = { pasteCallback(); onPasteRequested?.invoke() } textActionModeCallback.onSelectAllRequested = onSelectAllRequested if (actionMode == null) {