Added enter support for input dialogs
This commit is contained in:
parent
619083f829
commit
fc0fc8c448
@ -5,13 +5,18 @@ import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.material.*
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.focus.FocusRequester
|
||||
import androidx.compose.ui.focus.focusOrder
|
||||
import androidx.compose.ui.input.key.Key
|
||||
import androidx.compose.ui.input.key.key
|
||||
import androidx.compose.ui.input.key.onPreviewKeyEvent
|
||||
import androidx.compose.ui.text.TextStyle
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
|
||||
@OptIn(ExperimentalComposeUiApi::class)
|
||||
@Composable
|
||||
fun NewBranchDialog(
|
||||
onReject: () -> Unit,
|
||||
@ -32,7 +37,15 @@ fun NewBranchDialog(
|
||||
.focusOrder(branchFieldFocusRequester) {
|
||||
this.next = buttonFieldFocusRequester
|
||||
}
|
||||
.width(300.dp),
|
||||
.width(300.dp)
|
||||
.onPreviewKeyEvent {
|
||||
if(it.key == Key.Enter) {
|
||||
onAccept(branchField)
|
||||
true
|
||||
} else {
|
||||
false
|
||||
}
|
||||
},
|
||||
value = branchField,
|
||||
singleLine = true,
|
||||
label = { Text("New branch name", fontSize = 14.sp) },
|
||||
|
@ -5,13 +5,18 @@ import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.material.*
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.focus.FocusRequester
|
||||
import androidx.compose.ui.focus.focusOrder
|
||||
import androidx.compose.ui.input.key.Key
|
||||
import androidx.compose.ui.input.key.key
|
||||
import androidx.compose.ui.input.key.onPreviewKeyEvent
|
||||
import androidx.compose.ui.text.TextStyle
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
|
||||
@OptIn(ExperimentalComposeUiApi::class)
|
||||
@Composable
|
||||
fun NewTagDialog(
|
||||
onReject: () -> Unit,
|
||||
@ -32,7 +37,15 @@ fun NewTagDialog(
|
||||
.focusOrder(tagFieldFocusRequester) {
|
||||
this.next = buttonFieldFocusRequester
|
||||
}
|
||||
.width(300.dp),
|
||||
.width(300.dp)
|
||||
.onPreviewKeyEvent {
|
||||
if(it.key == Key.Enter) {
|
||||
onAccept(tagField)
|
||||
true
|
||||
} else {
|
||||
false
|
||||
}
|
||||
},
|
||||
value = tagField,
|
||||
singleLine = true,
|
||||
label = { Text("New tag name", fontSize = 14.sp) },
|
||||
|
@ -5,14 +5,19 @@ import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.material.*
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.focus.FocusRequester
|
||||
import androidx.compose.ui.focus.focusOrder
|
||||
import androidx.compose.ui.input.key.Key
|
||||
import androidx.compose.ui.input.key.key
|
||||
import androidx.compose.ui.input.key.onPreviewKeyEvent
|
||||
import androidx.compose.ui.text.TextStyle
|
||||
import androidx.compose.ui.text.input.PasswordVisualTransformation
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
|
||||
@OptIn(ExperimentalComposeUiApi::class)
|
||||
@Composable
|
||||
fun PasswordDialog(
|
||||
onReject: () -> Unit,
|
||||
@ -39,7 +44,15 @@ fun PasswordDialog(
|
||||
.focusOrder(passwordFieldFocusRequester) {
|
||||
this.next = buttonFieldFocusRequester
|
||||
}
|
||||
.width(300.dp),
|
||||
.width(300.dp)
|
||||
.onPreviewKeyEvent {
|
||||
if(it.key == Key.Enter) {
|
||||
onAccept(passwordField)
|
||||
true
|
||||
} else {
|
||||
false
|
||||
}
|
||||
},
|
||||
value = passwordField,
|
||||
singleLine = true,
|
||||
label = { Text("Password", fontSize = 14.sp) },
|
||||
|
@ -5,14 +5,19 @@ import androidx.compose.foundation.layout.*
|
||||
import androidx.compose.material.*
|
||||
import androidx.compose.runtime.*
|
||||
import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.focus.FocusRequester
|
||||
import androidx.compose.ui.focus.focusOrder
|
||||
import androidx.compose.ui.input.key.Key
|
||||
import androidx.compose.ui.input.key.key
|
||||
import androidx.compose.ui.input.key.onPreviewKeyEvent
|
||||
import androidx.compose.ui.text.TextStyle
|
||||
import androidx.compose.ui.text.input.PasswordVisualTransformation
|
||||
import androidx.compose.ui.unit.dp
|
||||
import androidx.compose.ui.unit.sp
|
||||
|
||||
@OptIn(ExperimentalComposeUiApi::class)
|
||||
@Composable
|
||||
fun UserPasswordDialog(
|
||||
onReject: () -> Unit,
|
||||
@ -23,7 +28,9 @@ fun UserPasswordDialog(
|
||||
val userFieldFocusRequester = remember { FocusRequester() }
|
||||
val passwordFieldFocusRequester = remember { FocusRequester() }
|
||||
val buttonFieldFocusRequester = remember { FocusRequester() }
|
||||
|
||||
val acceptDialog = {
|
||||
onAccept(userField, passwordField)
|
||||
}
|
||||
Column(
|
||||
modifier = Modifier
|
||||
.background(MaterialTheme.colors.background),
|
||||
@ -42,7 +49,15 @@ fun UserPasswordDialog(
|
||||
.focusOrder(userFieldFocusRequester) {
|
||||
this.next = passwordFieldFocusRequester
|
||||
}
|
||||
.width(300.dp),
|
||||
.width(300.dp)
|
||||
.onPreviewKeyEvent {
|
||||
if(it.key == Key.Enter) {
|
||||
acceptDialog()
|
||||
true
|
||||
} else {
|
||||
false
|
||||
}
|
||||
},
|
||||
value = userField,
|
||||
singleLine = true,
|
||||
label = { Text("User", fontSize = 14.sp) },
|
||||
@ -57,7 +72,15 @@ fun UserPasswordDialog(
|
||||
this.previous = userFieldFocusRequester
|
||||
this.next = buttonFieldFocusRequester
|
||||
}
|
||||
.width(300.dp),
|
||||
.width(300.dp)
|
||||
.onPreviewKeyEvent {
|
||||
if(it.key == Key.Enter) {
|
||||
acceptDialog()
|
||||
true
|
||||
} else {
|
||||
false
|
||||
}
|
||||
},
|
||||
value = passwordField,
|
||||
singleLine = true,
|
||||
label = { Text("Password", fontSize = 14.sp) },
|
||||
|
Loading…
Reference in New Issue
Block a user