parent
35a6e3b8ff
commit
6fa8b188e6
2 changed files with 32 additions and 2 deletions
|
@ -6,10 +6,16 @@ import androidx.compose.foundation.layout.fillMaxWidth
|
||||||
import androidx.compose.foundation.layout.padding
|
import androidx.compose.foundation.layout.padding
|
||||||
import androidx.compose.foundation.lazy.LazyColumn
|
import androidx.compose.foundation.lazy.LazyColumn
|
||||||
import androidx.compose.foundation.lazy.items
|
import androidx.compose.foundation.lazy.items
|
||||||
|
import androidx.compose.material3.AlertDialog
|
||||||
import androidx.compose.material3.Icon
|
import androidx.compose.material3.Icon
|
||||||
import androidx.compose.material3.IconButton
|
import androidx.compose.material3.IconButton
|
||||||
import androidx.compose.material3.Text
|
import androidx.compose.material3.Text
|
||||||
|
import androidx.compose.material3.TextButton
|
||||||
import androidx.compose.runtime.Composable
|
import androidx.compose.runtime.Composable
|
||||||
|
import androidx.compose.runtime.getValue
|
||||||
|
import androidx.compose.runtime.mutableStateOf
|
||||||
|
import androidx.compose.runtime.remember
|
||||||
|
import androidx.compose.runtime.setValue
|
||||||
import androidx.compose.ui.Alignment
|
import androidx.compose.ui.Alignment
|
||||||
import androidx.compose.ui.Modifier
|
import androidx.compose.ui.Modifier
|
||||||
import androidx.compose.ui.res.painterResource
|
import androidx.compose.ui.res.painterResource
|
||||||
|
@ -36,6 +42,30 @@ private fun KeyItem(
|
||||||
onItemClick: (identifier: GpgIdentifier) -> Unit,
|
onItemClick: (identifier: GpgIdentifier) -> Unit,
|
||||||
modifier: Modifier = Modifier,
|
modifier: Modifier = Modifier,
|
||||||
) {
|
) {
|
||||||
|
var isDeleting by remember { mutableStateOf(false) }
|
||||||
|
if (isDeleting) {
|
||||||
|
AlertDialog(
|
||||||
|
onDismissRequest = { isDeleting = false },
|
||||||
|
title = {
|
||||||
|
Text(text = stringResource(R.string.pgp_key_manager_delete_confirmation_dialog_title))
|
||||||
|
},
|
||||||
|
confirmButton = {
|
||||||
|
TextButton(
|
||||||
|
onClick = {
|
||||||
|
onItemClick(identifier)
|
||||||
|
isDeleting = false
|
||||||
|
}
|
||||||
|
) {
|
||||||
|
Text(text = stringResource(R.string.dialog_yes))
|
||||||
|
}
|
||||||
|
},
|
||||||
|
dismissButton = {
|
||||||
|
TextButton(onClick = { isDeleting = false }) {
|
||||||
|
Text(text = stringResource(R.string.dialog_no))
|
||||||
|
}
|
||||||
|
},
|
||||||
|
)
|
||||||
|
}
|
||||||
val label =
|
val label =
|
||||||
when (identifier) {
|
when (identifier) {
|
||||||
is GpgIdentifier.KeyId -> identifier.id.toString()
|
is GpgIdentifier.KeyId -> identifier.id.toString()
|
||||||
|
@ -47,7 +77,7 @@ private fun KeyItem(
|
||||||
verticalAlignment = Alignment.CenterVertically,
|
verticalAlignment = Alignment.CenterVertically,
|
||||||
) {
|
) {
|
||||||
Text(text = label)
|
Text(text = label)
|
||||||
IconButton(onClick = { onItemClick(identifier) }) {
|
IconButton(onClick = { isDeleting = true }) {
|
||||||
Icon(
|
Icon(
|
||||||
painter = painterResource(R.drawable.ic_delete_24dp),
|
painter = painterResource(R.drawable.ic_delete_24dp),
|
||||||
stringResource(id = R.string.delete)
|
stringResource(id = R.string.delete)
|
||||||
|
|
|
@ -367,5 +367,5 @@
|
||||||
<string name="pwgen_some_error_occurred">Some error occurred</string>
|
<string name="pwgen_some_error_occurred">Some error occurred</string>
|
||||||
<string name="git_run_gc_job">Run garbage collection job</string>
|
<string name="git_run_gc_job">Run garbage collection job</string>
|
||||||
<string name="activity_label_pgp_key_manager">PGP Key Manager</string>
|
<string name="activity_label_pgp_key_manager">PGP Key Manager</string>
|
||||||
|
<string name="pgp_key_manager_delete_confirmation_dialog_title">Delete key?</string>
|
||||||
</resources>
|
</resources>
|
||||||
|
|
Loading…
Reference in a new issue