From 4d8b8596782da6518bb26f5e15a5739305d8380e Mon Sep 17 00:00:00 2001 From: Horis <8674809+821938089@users.noreply.github.com> Date: Sat, 20 Jul 2024 09:32:49 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ui/book/read/EffectiveReplacesDialog.kt | 25 +++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/io/legado/app/ui/book/read/EffectiveReplacesDialog.kt b/app/src/main/java/io/legado/app/ui/book/read/EffectiveReplacesDialog.kt index a887c45ef..e034009c3 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/EffectiveReplacesDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/EffectiveReplacesDialog.kt @@ -16,6 +16,8 @@ import io.legado.app.base.adapter.RecyclerAdapter import io.legado.app.data.entities.ReplaceRule import io.legado.app.databinding.DialogRecyclerViewBinding import io.legado.app.databinding.Item1lineTextBinding +import io.legado.app.help.config.AppConfig +import io.legado.app.lib.dialogs.alert import io.legado.app.lib.theme.primaryColor import io.legado.app.model.ReadBook import io.legado.app.ui.replace.edit.ReplaceEditActivity @@ -30,6 +32,7 @@ class EffectiveReplacesDialog : BaseDialogFragment(R.layout.dialog_recycler_view private val binding by viewBinding(DialogRecyclerViewBinding::bind) private val viewModel by activityViewModels() private val adapter by lazy { ReplaceAdapter(requireContext()) } + private val chineseConvert by lazy { ReplaceRule(0, "繁简转换") } private var isEdit = false @@ -52,8 +55,11 @@ class EffectiveReplacesDialog : BaseDialogFragment(R.layout.dialog_recycler_view recyclerView.layoutManager = LinearLayoutManager(requireContext()) recyclerView.adapter = adapter } - ReadBook.curTextChapter?.effectiveReplaceRules?.let { - adapter.setItems(it) + val effectiveReplaceRules = ReadBook.curTextChapter?.effectiveReplaceRules ?: emptyList() + if (AppConfig.chineseConverterType > 0) { + adapter.setItems(effectiveReplaceRules + chineseConvert) + } else { + adapter.setItems(effectiveReplaceRules) } } @@ -63,6 +69,17 @@ class EffectiveReplacesDialog : BaseDialogFragment(R.layout.dialog_recycler_view viewModel.replaceRuleChanged() } } + + private fun showChineseConvertAlert() { + alert(titleResource = R.string.chinese_converter) { + items(resources.getStringArray(R.array.chinese_mode).toList()) { _, i -> + if (AppConfig.chineseConverterType != i) { + AppConfig.chineseConverterType = i + isEdit = true + } + } + } + } private inner class ReplaceAdapter(context: Context) : RecyclerAdapter(context) { @@ -74,6 +91,10 @@ class EffectiveReplacesDialog : BaseDialogFragment(R.layout.dialog_recycler_view override fun registerListener(holder: ItemViewHolder, binding: Item1lineTextBinding) { binding.root.setOnClickListener { getItem(holder.layoutPosition)?.let { item -> + if (item == chineseConvert) { + showChineseConvertAlert() + return@let + } editActivity.launch(ReplaceEditActivity.startIntent(requireContext(), item.id)) } }