Added option to have a scale different than the ones predefined
This commit is contained in:
parent
83e0030b1c
commit
f0a4fd379f
@ -184,13 +184,17 @@ fun UiSettings(settingsViewModel: SettingsViewModel) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
val density = LocalDensity.current.density
|
val density = LocalDensity.current.density
|
||||||
val options = listOf(
|
var options by remember {
|
||||||
ScaleDropDown(1f, "100%"),
|
mutableStateOf(
|
||||||
ScaleDropDown(1.5f, "150%"),
|
listOf(
|
||||||
ScaleDropDown(2f, "200%"),
|
ScaleDropDown(1f, "100%"),
|
||||||
ScaleDropDown(2.5f, "250%"),
|
ScaleDropDown(1.5f, "150%"),
|
||||||
ScaleDropDown(3f, "300%"),
|
ScaleDropDown(2f, "200%"),
|
||||||
)
|
ScaleDropDown(2.5f, "250%"),
|
||||||
|
ScaleDropDown(3f, "300%"),
|
||||||
|
)
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
var scaleValue by remember {
|
var scaleValue by remember {
|
||||||
val savedScaleUi = settingsViewModel.scaleUi
|
val savedScaleUi = settingsViewModel.scaleUi
|
||||||
@ -200,7 +204,17 @@ fun UiSettings(settingsViewModel: SettingsViewModel) {
|
|||||||
savedScaleUi
|
savedScaleUi
|
||||||
}
|
}
|
||||||
|
|
||||||
val matchingOption = options.firstOrNull { it.value == scaleUi } ?: options.first()
|
var matchingOption = options.firstOrNull { it.value == scaleUi }
|
||||||
|
|
||||||
|
if (matchingOption == null) { // Scale that we haven't taken in considerations
|
||||||
|
// Create a new scale and add it to the options list
|
||||||
|
matchingOption = ScaleDropDown(scaleUi, "${scaleUi * 100}%")
|
||||||
|
val newOptions = options.toMutableList()
|
||||||
|
newOptions.add(matchingOption)
|
||||||
|
newOptions.sortBy { it.value }
|
||||||
|
options = newOptions
|
||||||
|
}
|
||||||
|
|
||||||
mutableStateOf(matchingOption)
|
mutableStateOf(matchingOption)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user