diff --git a/app/src/main/java/io/legado/app/ui/book/read/sheet/TextTitleSheet.kt b/app/src/main/java/io/legado/app/ui/book/read/sheet/TextTitleSheet.kt index 24001eedc..7ba63f837 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/sheet/TextTitleSheet.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/sheet/TextTitleSheet.kt @@ -362,6 +362,12 @@ internal fun TitleSettingsPage( ) { var titleMode by remember { mutableIntStateOf(ReadBookConfig.titleMode) } var titleBold by remember { mutableIntStateOf(ReadBookConfig.titleBold) } + var titleSegScaling by remember { mutableFloatStateOf(ReadBookConfig.titleSegScaling) } + var titleLineSpacingExtra by remember { mutableIntStateOf(ReadBookConfig.titleLineSpacingExtra) } + var titleLineSpacingSub by remember { mutableIntStateOf(ReadBookConfig.titleLineSpacingSub) } + var titleSize by remember { mutableIntStateOf(ReadBookConfig.titleSize) } + var titleTopSpacing by remember { mutableIntStateOf(ReadBookConfig.titleTopSpacing) } + var titleBottomSpacing by remember { mutableIntStateOf(ReadBookConfig.titleBottomSpacing) } var showColorPicker by remember { mutableStateOf(false) } var colorPickerId by remember { mutableIntStateOf(0) } @@ -429,50 +435,56 @@ internal fun TitleSettingsPage( // Title spacing sliders TinySliderSettingItem( title = stringResource(R.string.subtitle_scale), - value = ReadBookConfig.titleSegScaling * 10, + value = titleSegScaling * 10, valueRange = 0f..100f, onValueChange = { value -> - onIntent(ReadBookIntent.UpdateConfig(ConfigUpdate.TitleSegScaling(value / 10f))) + titleSegScaling = value / 10f + onIntent(ReadBookIntent.UpdateConfig(ConfigUpdate.TitleSegScaling(titleSegScaling))) }, ) TinySliderSettingItem( title = stringResource(R.string.heading_spacing), - value = ReadBookConfig.titleLineSpacingExtra.toFloat(), + value = titleLineSpacingExtra.toFloat(), valueRange = 0f..100f, onValueChange = { value -> - onIntent(ReadBookIntent.UpdateConfig(ConfigUpdate.TitleLineSpacingExtra(value.toInt()))) + titleLineSpacingExtra = value.toInt() + onIntent(ReadBookIntent.UpdateConfig(ConfigUpdate.TitleLineSpacingExtra(titleLineSpacingExtra))) }, ) TinySliderSettingItem( title = stringResource(R.string.subtitle_margin), - value = ReadBookConfig.titleLineSpacingSub.toFloat(), + value = titleLineSpacingSub.toFloat(), valueRange = 0f..100f, onValueChange = { value -> - onIntent(ReadBookIntent.UpdateConfig(ConfigUpdate.TitleLineSpacingSub(value.toInt()))) + titleLineSpacingSub = value.toInt() + onIntent(ReadBookIntent.UpdateConfig(ConfigUpdate.TitleLineSpacingSub(titleLineSpacingSub))) }, ) TinySliderSettingItem( title = stringResource(R.string.title_font_size), - value = ReadBookConfig.titleSize.toFloat(), + value = titleSize.toFloat(), valueRange = 0f..100f, onValueChange = { value -> - onIntent(ReadBookIntent.UpdateConfig(ConfigUpdate.TitleSize(value.toInt()))) + titleSize = value.toInt() + onIntent(ReadBookIntent.UpdateConfig(ConfigUpdate.TitleSize(titleSize))) }, ) TinySliderSettingItem( title = stringResource(R.string.title_margin_top), - value = ReadBookConfig.titleTopSpacing.toFloat(), + value = titleTopSpacing.toFloat(), valueRange = 0f..100f, onValueChange = { value -> - onIntent(ReadBookIntent.UpdateConfig(ConfigUpdate.TitleTopSpacing(value.toInt()))) + titleTopSpacing = value.toInt() + onIntent(ReadBookIntent.UpdateConfig(ConfigUpdate.TitleTopSpacing(titleTopSpacing))) }, ) TinySliderSettingItem( title = stringResource(R.string.title_margin_bottom), - value = ReadBookConfig.titleBottomSpacing.toFloat(), + value = titleBottomSpacing.toFloat(), valueRange = 0f..100f, onValueChange = { value -> - onIntent(ReadBookIntent.UpdateConfig(ConfigUpdate.TitleBottomSpacing(value.toInt()))) + titleBottomSpacing = value.toInt() + onIntent(ReadBookIntent.UpdateConfig(ConfigUpdate.TitleBottomSpacing(titleBottomSpacing))) }, )