From 8efc5401cb1fa50b3c055301f2b44fada6374aa0 Mon Sep 17 00:00:00 2001 From: tarsin Date: Tue, 6 Jun 2023 14:36:29 +0800 Subject: [PATCH] [DO NOT USE] Show Integer in slider --- app/src/main/java/com/hippo/ehviewer/ui/settings/EhScreen.kt | 2 +- .../java/com/hippo/ehviewer/ui/settings/PreferenceWidgets.kt | 2 +- .../main/java/com/jamal/composeprefs3/ui/prefs/SliderPref.kt | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/settings/EhScreen.kt b/app/src/main/java/com/hippo/ehviewer/ui/settings/EhScreen.kt index 530b693c0..e44bfdc26 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/settings/EhScreen.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/settings/EhScreen.kt @@ -154,7 +154,7 @@ fun EhScreen() { IntSliderPreference( maxValue = 400, minValue = 80, - step = 3, + step = 7, title = stringResource(id = R.string.settings_eh_thumb_size), value = Settings::thumbSizeDp, ) diff --git a/app/src/main/java/com/hippo/ehviewer/ui/settings/PreferenceWidgets.kt b/app/src/main/java/com/hippo/ehviewer/ui/settings/PreferenceWidgets.kt index 59896858e..7d4987eca 100644 --- a/app/src/main/java/com/hippo/ehviewer/ui/settings/PreferenceWidgets.kt +++ b/app/src/main/java/com/hippo/ehviewer/ui/settings/PreferenceWidgets.kt @@ -93,7 +93,7 @@ fun SwitchPreference(title: String, summary: String? = null, value: KMutableProp fun IntSliderPreference(maxValue: Int, minValue: Int = 0, step: Int = maxValue - minValue - 1, title: String, value: KMutableProperty0, enabled: Boolean = true) { var v by remember { mutableIntStateOf(value.get()) } fun set(float: Float) = value.set(float.roundToInt().also { v = it }) - SliderPref(title = title, defaultValue = v.toFloat(), onValueChangeFinished = ::set, valueRange = minValue.toFloat()..maxValue.toFloat(), showValue = true, steps = step, enabled = enabled) + SliderPref(title = title, defaultValue = v.toFloat(), onValueChangeFinished = ::set, valueRange = minValue.toFloat()..maxValue.toFloat(), showValue = true, showInteger = true, steps = step, enabled = enabled) } @Composable diff --git a/app/src/main/java/com/jamal/composeprefs3/ui/prefs/SliderPref.kt b/app/src/main/java/com/jamal/composeprefs3/ui/prefs/SliderPref.kt index 985f58cfe..b4a650526 100644 --- a/app/src/main/java/com/jamal/composeprefs3/ui/prefs/SliderPref.kt +++ b/app/src/main/java/com/jamal/composeprefs3/ui/prefs/SliderPref.kt @@ -18,6 +18,7 @@ import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color import androidx.compose.ui.unit.dp import com.jamal.composeprefs3.ui.roundToDP +import kotlin.math.roundToInt @Composable fun SliderPref( @@ -27,6 +28,7 @@ fun SliderPref( onValueChangeFinished: ((Float) -> Unit)? = null, valueRange: ClosedFloatingPointRange = 0f..1f, showValue: Boolean = false, + showInteger: Boolean = false, steps: Int = 0, textColor: Color = MaterialTheme.colorScheme.onBackground, enabled: Boolean = true, @@ -60,7 +62,7 @@ fun SliderPref( ) if (showValue) { Text( - text = roundToDP(value, 2).toString(), + text = if (showInteger) value.roundToInt().toString() else roundToDP(value, 2).toString(), color = textColor, modifier = Modifier.weight(0.5f).padding(start = 8.dp), )