Add keyboard control (WIP, broken)
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
package ch.dissem.yaep.ui.desktop
|
||||
|
||||
import SelectionManager
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.layout.PaddingValues
|
||||
import androidx.compose.foundation.layout.Spacer
|
||||
@@ -17,12 +16,12 @@ import androidx.compose.material3.Text
|
||||
import androidx.compose.material3.TopAppBar
|
||||
import androidx.compose.runtime.Composable
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.draw.scale
|
||||
import androidx.compose.ui.input.key.onKeyEvent
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.window.WindowPlacement
|
||||
import androidx.compose.ui.window.WindowScope
|
||||
import androidx.compose.ui.window.WindowState
|
||||
import ch.dissem.yaep.ui.common.focus.FocusFollowingSelectionManager
|
||||
import ch.dissem.yaep.ui.common.theme.AppTheme
|
||||
import org.jetbrains.compose.resources.painterResource
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
@@ -43,7 +42,7 @@ import yaep.desktop.generated.resources.Res as DRes
|
||||
@Composable
|
||||
fun WindowScope.DesktopWindow(
|
||||
useDarkMode: Boolean,
|
||||
selectionManager: SelectionManager,
|
||||
selectionManager: FocusFollowingSelectionManager,
|
||||
topBar: @Composable () -> Unit,
|
||||
content: @Composable (PaddingValues) -> Unit
|
||||
) {
|
||||
|
||||
@@ -1,13 +1,11 @@
|
||||
package ch.dissem.yaep.ui.desktop
|
||||
|
||||
import SelectionManager
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.runtime.getValue
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.input.key.Key
|
||||
import androidx.compose.ui.text.font.FontFamily
|
||||
import androidx.compose.ui.text.font.FontStyle
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
@@ -20,6 +18,7 @@ import androidx.compose.ui.window.application
|
||||
import androidx.compose.ui.window.rememberWindowState
|
||||
import ch.dissem.yaep.domain.generateGame
|
||||
import ch.dissem.yaep.ui.common.App
|
||||
import ch.dissem.yaep.ui.common.focus.FocusFollowingSelectionManager
|
||||
import ch.dissem.yaep.ui.common.theme.emojiFontFamily
|
||||
import org.jetbrains.compose.resources.painterResource
|
||||
import org.jetbrains.compose.resources.stringResource
|
||||
@@ -49,12 +48,12 @@ fun main(): Unit = application {
|
||||
state = windowState,
|
||||
icon = painterResource(DRes.drawable.ic_launcher)
|
||||
) {
|
||||
val selectionManager = remember { SelectionManager(Key.Tab).apply { isActive = true } }
|
||||
val rootSelectionManager = FocusFollowingSelectionManager
|
||||
var useDarkMode by remember { mutableStateOf(true) }
|
||||
var resetCluesBeacon by remember { mutableStateOf(Any()) }
|
||||
DesktopWindow(
|
||||
useDarkMode = useDarkMode,
|
||||
selectionManager = selectionManager,
|
||||
selectionManager = rootSelectionManager,
|
||||
topBar = {
|
||||
AppBar(
|
||||
useDarkMode = useDarkMode,
|
||||
@@ -71,9 +70,8 @@ fun main(): Unit = application {
|
||||
) {
|
||||
App(
|
||||
modifier = Modifier.padding(it),
|
||||
selectionManager = selectionManager,
|
||||
rootSelectionManager = rootSelectionManager,
|
||||
spacing = 8.dp,
|
||||
selectDirectly = true,
|
||||
game = game,
|
||||
onNewGame = { game = generateGame() },
|
||||
resetCluesBeacon = resetCluesBeacon
|
||||
|
||||
Reference in New Issue
Block a user