Skip to content

Commit

Permalink
Adding keyboard commands (#329)
Browse files Browse the repository at this point in the history
* Adding keyboard commands

* Update ChooseNoteKmpViewModel.kt

* fixing selection box

---------

Co-authored-by: CI Bot <[email protected]>
  • Loading branch information
leandroBorgesFerreira and CI Bot authored Feb 9, 2025
1 parent 9ea909d commit 662c1a3
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,21 @@ private fun ApplicationScope.DesktopApp(onCloseRequest: () -> Unit = ::exitAppli
false
}

isBoldEvent(keyEvent) -> {
sendEvent(KeyboardEvent.BOLD)
false
}

isItalicEvent(keyEvent) -> {
sendEvent(KeyboardEvent.ITALIC)
false
}

isUnderlineEvent(keyEvent) -> {
sendEvent(KeyboardEvent.UNDERLINE)
false
}

else -> false
}
}
Expand Down Expand Up @@ -167,3 +182,18 @@ private fun isSelectAllEvent(keyEvent: AndroidKeyEvent) =
keyEvent.isMetaPressed &&
keyEvent.awtEventOrNull?.keyCode == KeyEvent.VK_A &&
keyEvent.type == KeyEventType.KeyUp

private fun isBoldEvent(keyEvent: AndroidKeyEvent) =
keyEvent.isMetaPressed &&
keyEvent.awtEventOrNull?.keyCode == KeyEvent.VK_B &&
keyEvent.type == KeyEventType.KeyUp

private fun isItalicEvent(keyEvent: AndroidKeyEvent) =
keyEvent.isMetaPressed &&
keyEvent.awtEventOrNull?.keyCode == KeyEvent.VK_I &&
keyEvent.type == KeyEventType.KeyUp

private fun isUnderlineEvent(keyEvent: AndroidKeyEvent) =
keyEvent.isMetaPressed &&
keyEvent.awtEventOrNull?.keyCode == KeyEvent.VK_U &&
keyEvent.type == KeyEventType.KeyUp
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,8 @@ internal class ChooseNoteKmpViewModel(
KeyboardEvent.DELETE -> {
deleteSelectedNotes()
}
KeyboardEvent.IDLE -> {}

KeyboardEvent.SELECT_ALL -> { }
else -> {}
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -77,8 +77,8 @@ fun DragSelectionBox(modifier: Modifier = Modifier, context: @Composable BoxScop
)

Box(
modifier = Modifier.offset(x = x.dp, y = y.dp)
.size(width = width.dp, height = height.dp)
modifier = Modifier.offset(x = x.dp / 2, y = y.dp / 2)
.size(width = width.dp / 2, height = height.dp / 2)
.border(width = 1.dp, color = dragBoxColor, shape = shape)
.background(
color = dragBoxColor.copy(alpha = 0.2F),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
package io.writeopia.ui.keyboard

enum class KeyboardEvent {
DELETE, SELECT_ALL, IDLE
DELETE, SELECT_ALL, BOLD, ITALIC, UNDERLINE, IDLE
}
Original file line number Diff line number Diff line change
Expand Up @@ -92,8 +92,19 @@ class WriteopiaStateManager(
selectAll()
}

KeyboardEvent.IDLE -> {
KeyboardEvent.BOLD -> {
toggleSpan(Span.BOLD)
}

KeyboardEvent.ITALIC -> {
toggleSpan(Span.ITALIC)
}

KeyboardEvent.UNDERLINE -> {
toggleSpan(Span.UNDERLINE)
}

KeyboardEvent.IDLE -> {}
}
}
}
Expand Down

0 comments on commit 662c1a3

Please sign in to comment.