Przeglądaj źródła

Merge pull request #1912 from todoXu/main

feat:阅读界面更多设置里补充按钮切换新旧目录显示
Kudomaga 3 miesięcy temu
rodzic
commit
e08449ae62

+ 3 - 0
app/src/main/java/io/legado/app/ui/book/read/ReadBookContract.kt

@@ -1478,6 +1478,9 @@ sealed interface ConfigUpdate {
     data class SliderVibrator(val value: Boolean) : ConfigUpdate {
         override val actions = emptySet<ConfigUpdateAction>()
     }
+    data class UseNewTocSheet(val value: Boolean) : ConfigUpdate {
+        override val actions = emptySet<ConfigUpdateAction>()
+    }
     data class SelectVibrator(val value: Boolean) : ConfigUpdate {
         override val actions = emptySet<ConfigUpdateAction>()
     }

+ 5 - 0
app/src/main/java/io/legado/app/ui/book/read/ReadConfigUpdateDelegate.kt

@@ -628,6 +628,11 @@ class ReadConfigUpdateDelegate(
                     readSettingsRepository.setSliderVibrator(update.value)
                 }
             }
+            is ConfigUpdate.UseNewTocSheet -> {
+                scope.launch {
+                    readSettingsRepository.setUseNewTocSheet(update.value)
+                }
+            }
             is ConfigUpdate.SelectVibrator -> {
                 scope.launch {
                     readSettingsRepository.setSelectVibrator(update.value)

+ 11 - 0
app/src/main/java/io/legado/app/ui/book/read/sheet/MoreConfigSheet.kt

@@ -111,6 +111,9 @@ fun MoreConfigSheet(
                 onSliderVibratorChange = {
                     onIntent(ReadBookIntent.UpdateConfig(ConfigUpdate.SliderVibrator(it)))
                 },
+                onUseNewTocSheetChange = {
+                    onIntent(ReadBookIntent.UpdateConfig(ConfigUpdate.UseNewTocSheet(it)))
+                },
                 onSelectVibratorChange = {
                     onIntent(ReadBookIntent.UpdateConfig(ConfigUpdate.SelectVibrator(it)))
                 },
@@ -265,6 +268,7 @@ private fun PageControlSettings(
 private fun OtherSettings(
     preferences: ReadPreferences,
     onSliderVibratorChange: (Boolean) -> Unit,
+    onUseNewTocSheetChange: (Boolean) -> Unit,
     onSelectVibratorChange: (Boolean) -> Unit,
     onAutoChangeSourceChange: (Boolean) -> Unit,
     onDefaultSourceChangeAllChange: (Boolean) -> Unit,
@@ -288,6 +292,13 @@ private fun OtherSettings(
         checked = preferences.sliderVibrator,
         onCheckedChange = onSliderVibratorChange,
     )
+
+    TinySwitchSettingItem(
+        title = stringResource(R.string.use_new_toc_sheet),
+        checked = preferences.useNewTocSheet,
+        onCheckedChange = onUseNewTocSheetChange,
+    )
+
     TinySwitchSettingItem(
         title = stringResource(R.string.enable_select_vibrator),
         checked = preferences.selectVibrator,