Support long display names in principal row

pull/1401/head
Alex Baker 5 years ago
parent 22f575203b
commit 1d2eb7232c

@ -9,6 +9,7 @@ import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.width
import androidx.compose.material.Icon import androidx.compose.material.Icon
import androidx.compose.material.IconButton import androidx.compose.material.IconButton
import androidx.compose.material.MaterialTheme import androidx.compose.material.MaterialTheme
@ -16,6 +17,7 @@ import androidx.compose.material.MaterialTheme.colors
import androidx.compose.material.Text import androidx.compose.material.Text
import androidx.compose.material.darkColors import androidx.compose.material.darkColors
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.alpha import androidx.compose.ui.draw.alpha
import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.painterResource
@ -31,7 +33,7 @@ import org.tasks.data.Principal.Companion.name
private val principals = listOf( private val principals = listOf(
Principal().apply { displayName = "user1" }, Principal().apply { displayName = "user1" },
Principal().apply { displayName = "user2" }, Principal().apply { displayName = "a really really really really really long display name" },
) )
@Preview(showBackground = true, backgroundColor = 0xFFFFFF) @Preview(showBackground = true, backgroundColor = 0xFFFFFF)
@ -80,24 +82,41 @@ object ListSettingsComposables {
principal: Principal, principal: Principal,
onRemove: ((Principal) -> Unit)?, onRemove: ((Principal) -> Unit)?,
) { ) {
Row(modifier = Modifier Row(
.padding(PaddingValues(0.dp, KEYLINE_FIRST)) Modifier
.fillMaxWidth()) { .fillMaxWidth()
Icon( .padding(PaddingValues(0.dp, KEYLINE_FIRST)),
painter = painterResource(R.drawable.ic_outline_perm_identity_24px), horizontalArrangement = Arrangement.SpaceBetween,
contentDescription = null, ) {
tint = colors.onBackground, Row(
modifier = Modifier Modifier
.padding(end = KEYLINE_FIRST) .width(72.dp - KEYLINE_FIRST),
.alpha(ICON_ALPHA), verticalAlignment = Alignment.CenterVertically
) ) {
Text( Icon(
principal.name!!, painter = painterResource(R.drawable.ic_outline_perm_identity_24px),
style = MaterialTheme.typography.body1, contentDescription = null,
color = colors.onBackground, tint = colors.onBackground,
) modifier = Modifier
.padding(end = KEYLINE_FIRST)
.alpha(ICON_ALPHA),
)
}
Row(
Modifier.weight(1f),
verticalAlignment = Alignment.CenterVertically
) {
Text(
principal.name!!,
style = MaterialTheme.typography.body1,
color = colors.onBackground,
)
}
onRemove?.let { onRemove?.let {
Row(horizontalArrangement = Arrangement.End, modifier = Modifier.fillMaxWidth()) { Row(
verticalAlignment = Alignment.CenterVertically,
horizontalArrangement = Arrangement.End
) {
IconButton( IconButton(
modifier = Modifier.then(Modifier.size(24.dp)), modifier = Modifier.then(Modifier.size(24.dp)),
onClick = { it(principal) }) { onClick = { it(principal) }) {

Loading…
Cancel
Save