Skip to content

Commit 9d22993

Browse files
authored
Added copy button to Android app (#426)
1 parent 1bbc5bd commit 9d22993

2 files changed

Lines changed: 18 additions & 0 deletions

File tree

application/features/editor/src/androidMain/kotlin/io/writeopia/editor/features/editor/ui/screen/NoteEditorScreen.android.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,7 @@ internal fun NoteEditorScreen(
161161
noteEditorViewModel.canRedo,
162162
noteEditorViewModel::onAddSpanClick,
163163
noteEditorViewModel::deleteSelection,
164+
noteEditorViewModel::copySelection,
164165
noteEditorViewModel::clearSelections,
165166
noteEditorViewModel::onAddCheckListClick,
166167
noteEditorViewModel::onAddListItemClick
@@ -316,6 +317,7 @@ private fun BottomScreen(
316317
canRedo: StateFlow<Boolean>,
317318
onSpanSelected: (Span) -> Unit = {},
318319
deleteSelection: () -> Unit = {},
320+
copySelection: () -> Unit = {},
319321
onClose: () -> Unit = {},
320322
onCheckItem: () -> Unit = {},
321323
onListItem: () -> Unit = {}
@@ -358,6 +360,7 @@ private fun BottomScreen(
358360
modifier = containerModifier,
359361
onSpanClick = onSpanSelected,
360362
onDelete = deleteSelection,
363+
onCopy = copySelection,
361364
onClose = onClose,
362365
checkboxClick = onCheckItem,
363366
listItemClick = onListItem

writeopia_ui/src/commonMain/kotlin/io/writeopia/ui/components/EditionScreen.kt

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import androidx.compose.foundation.layout.width
1111
import androidx.compose.foundation.rememberScrollState
1212
import androidx.compose.foundation.shape.RoundedCornerShape
1313
import androidx.compose.material.icons.Icons
14+
import androidx.compose.material.icons.filled.CopyAll
1415
import androidx.compose.material.icons.filled.DeleteOutline
1516
import androidx.compose.material.icons.outlined.FormatBold
1617
import androidx.compose.material.icons.outlined.FormatItalic
@@ -36,6 +37,7 @@ fun EditionScreen(
3637
checkboxClick: () -> Unit = {},
3738
listItemClick: () -> Unit = {},
3839
onDelete: () -> Unit = {},
40+
onCopy: () -> Unit = {},
3941
onClose: () -> Unit = {},
4042
) {
4143
val iconPadding = PaddingValues(vertical = 4.dp)
@@ -130,6 +132,19 @@ fun EditionScreen(
130132
tint = MaterialTheme.colorScheme.onPrimary
131133
)
132134

135+
Spacer(modifier = Modifier.width(spaceWidth))
136+
137+
Icon(
138+
modifier = Modifier
139+
.clip(clipShape)
140+
.clickable(onClick = onCopy)
141+
.size(iconSize)
142+
.padding(iconPadding),
143+
imageVector = Icons.Default.CopyAll,
144+
contentDescription = "Copy",
145+
tint = MaterialTheme.colorScheme.onPrimary
146+
)
147+
133148
Spacer(modifier = Modifier.weight(1F))
134149

135150
Icon(

0 commit comments

Comments
 (0)