mirror of
https://gitlab.futo.org/keyboard/latinime.git
synced 2024-09-28 14:54:30 +01:00
Fix bug with wide screens in languages menu
This commit is contained in:
parent
c9dc656fbf
commit
484a55f7f0
@ -2,6 +2,7 @@ package org.futo.inputmethod.latin.uix.settings.pages
|
|||||||
|
|
||||||
import androidx.compose.foundation.background
|
import androidx.compose.foundation.background
|
||||||
import androidx.compose.foundation.clickable
|
import androidx.compose.foundation.clickable
|
||||||
|
import androidx.compose.foundation.layout.Box
|
||||||
import androidx.compose.foundation.layout.Column
|
import androidx.compose.foundation.layout.Column
|
||||||
import androidx.compose.foundation.layout.Row
|
import androidx.compose.foundation.layout.Row
|
||||||
import androidx.compose.foundation.layout.Spacer
|
import androidx.compose.foundation.layout.Spacer
|
||||||
@ -198,63 +199,83 @@ fun LanguageSurface(
|
|||||||
onLayoutAdditionRequested: () -> Unit,
|
onLayoutAdditionRequested: () -> Unit,
|
||||||
onLanguageRemoved: () -> Unit
|
onLanguageRemoved: () -> Unit
|
||||||
) {
|
) {
|
||||||
Column(
|
Box(modifier = Modifier.fillMaxWidth(), contentAlignment = Alignment.Center) {
|
||||||
modifier
|
Column(
|
||||||
.padding(start = 32.dp, end = 32.dp)
|
modifier
|
||||||
.widthIn(296.dp, 400.dp)
|
.padding(start = 32.dp, end = 32.dp)
|
||||||
.background(
|
.widthIn(296.dp, 400.dp)
|
||||||
color = MaterialTheme.colorScheme.surfaceVariant.copy(alpha = 0.5f),
|
.background(
|
||||||
shape = RoundedCornerShape(size = 16.dp)
|
color = MaterialTheme.colorScheme.surfaceVariant.copy(alpha = 0.5f),
|
||||||
)
|
shape = RoundedCornerShape(size = 16.dp)
|
||||||
.padding(top = 14.dp, bottom = 12.dp)
|
)
|
||||||
) {
|
.padding(top = 14.dp, bottom = 12.dp)
|
||||||
CompositionLocalProvider(LocalContentColor provides MaterialTheme.colorScheme.onSurfaceVariant) {
|
) {
|
||||||
Text(item.languageName, modifier = Modifier.padding(start = 16.dp, end = 16.dp), style = TextHeadingMediumMlStyle)
|
CompositionLocalProvider(LocalContentColor provides MaterialTheme.colorScheme.onSurfaceVariant) {
|
||||||
|
Text(
|
||||||
|
item.languageName,
|
||||||
|
modifier = Modifier.padding(start = 16.dp, end = 16.dp),
|
||||||
|
style = TextHeadingMediumMlStyle
|
||||||
|
)
|
||||||
|
|
||||||
if(item.options.dictionary == null) {
|
if (item.options.dictionary == null) {
|
||||||
Tip("This language has no built-in dictionary. We recommend downloading and importing one to get autocorrect and word suggestions.")
|
Tip("This language has no built-in dictionary. We recommend downloading and importing one to get autocorrect and word suggestions.")
|
||||||
} else {
|
} else {
|
||||||
Spacer(modifier = Modifier.height(32.dp))
|
Spacer(modifier = Modifier.height(32.dp))
|
||||||
|
}
|
||||||
|
|
||||||
|
LanguageConfigurable(
|
||||||
|
kind = FileKind.VoiceInput,
|
||||||
|
selection = item.options.voiceInputModel ?: "(None)"
|
||||||
|
) { onConfigurableSelected(FileKind.VoiceInput) }
|
||||||
|
LanguageConfigurable(
|
||||||
|
kind = FileKind.Dictionary,
|
||||||
|
selection = item.options.dictionary ?: "(None)"
|
||||||
|
) { onConfigurableSelected(FileKind.Dictionary) }
|
||||||
|
LanguageConfigurable(
|
||||||
|
kind = FileKind.Transformer,
|
||||||
|
selection = item.options.transformerModel ?: "(None)"
|
||||||
|
) { onConfigurableSelected(FileKind.Transformer) }
|
||||||
|
|
||||||
|
Spacer(modifier = Modifier.height(24.dp))
|
||||||
|
|
||||||
|
Text(
|
||||||
|
"Keyboard Layouts",
|
||||||
|
modifier = Modifier
|
||||||
|
.alpha(0.75f)
|
||||||
|
.padding(start = 16.dp, end = 16.dp),
|
||||||
|
style = TextSmallStyle
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(modifier = Modifier.height(9.dp))
|
||||||
|
|
||||||
|
item.layouts.forEach {
|
||||||
|
LayoutConfigurable(
|
||||||
|
name = it,
|
||||||
|
active = true,
|
||||||
|
onDelete = { onLayoutRemoved(it) },
|
||||||
|
canDelete = item.layouts.size > 1
|
||||||
|
)
|
||||||
|
Spacer(modifier = Modifier.height(4.dp))
|
||||||
|
}
|
||||||
|
|
||||||
|
Spacer(modifier = Modifier.height(21.dp))
|
||||||
|
|
||||||
|
ActionableItem(
|
||||||
|
icon = painterResource(id = R.drawable.plus_circle),
|
||||||
|
text = "Add Keyboard Layout",
|
||||||
|
color = MaterialTheme.colorScheme.primary,
|
||||||
|
onTrigger = onLayoutAdditionRequested
|
||||||
|
)
|
||||||
|
|
||||||
|
Spacer(modifier = Modifier.height(10.dp))
|
||||||
|
|
||||||
|
ActionableItem(
|
||||||
|
icon = painterResource(id = R.drawable.trash),
|
||||||
|
text = "Remove Language",
|
||||||
|
color = MaterialTheme.colorScheme.error,
|
||||||
|
onTrigger = onLanguageRemoved
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
LanguageConfigurable(kind = FileKind.VoiceInput, selection = item.options.voiceInputModel ?: "(None)") { onConfigurableSelected(FileKind.VoiceInput) }
|
|
||||||
LanguageConfigurable(kind = FileKind.Dictionary, selection = item.options.dictionary ?: "(None)") { onConfigurableSelected(FileKind.Dictionary) }
|
|
||||||
LanguageConfigurable(kind = FileKind.Transformer, selection = item.options.transformerModel ?: "(None)") { onConfigurableSelected(FileKind.Transformer) }
|
|
||||||
|
|
||||||
Spacer(modifier = Modifier.height(24.dp))
|
|
||||||
|
|
||||||
Text(
|
|
||||||
"Keyboard Layouts",
|
|
||||||
modifier = Modifier
|
|
||||||
.alpha(0.75f)
|
|
||||||
.padding(start = 16.dp, end = 16.dp),
|
|
||||||
style = TextSmallStyle
|
|
||||||
)
|
|
||||||
|
|
||||||
Spacer(modifier = Modifier.height(9.dp))
|
|
||||||
|
|
||||||
item.layouts.forEach {
|
|
||||||
LayoutConfigurable(name = it, active = true, onDelete = { onLayoutRemoved(it) }, canDelete = item.layouts.size > 1)
|
|
||||||
Spacer(modifier = Modifier.height(4.dp))
|
|
||||||
}
|
|
||||||
|
|
||||||
Spacer(modifier = Modifier.height(21.dp))
|
|
||||||
|
|
||||||
ActionableItem(
|
|
||||||
icon = painterResource(id = R.drawable.plus_circle),
|
|
||||||
text = "Add Keyboard Layout",
|
|
||||||
color = MaterialTheme.colorScheme.primary,
|
|
||||||
onTrigger = onLayoutAdditionRequested
|
|
||||||
)
|
|
||||||
|
|
||||||
Spacer(modifier = Modifier.height(10.dp))
|
|
||||||
|
|
||||||
ActionableItem(
|
|
||||||
icon = painterResource(id = R.drawable.trash),
|
|
||||||
text = "Remove Language",
|
|
||||||
color = MaterialTheme.colorScheme.error,
|
|
||||||
onTrigger = onLanguageRemoved
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user