目录界面菜单添加替换开关,开启替换加载时间会长一些

This commit is contained in:
kunfei
2022-02-10 16:38:10 +08:00
parent 5e9dbd5789
commit c3b81d9b88
13 changed files with 36 additions and 6 deletions
@@ -93,6 +93,7 @@ object PreferKey {
const val defaultBookTreeUri = "defaultBookTreeUri"
const val checkSource = "checkSource"
const val uploadRule = "uploadRule"
const val tocUiUseReplace = "tocUiUseReplace"
const val cPrimary = "colorPrimary"
const val cAccent = "colorAccent"
@@ -250,6 +250,12 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
appCtx.putPrefInt(PreferKey.webPort, value)
}
var tocUiUseReplace: Boolean
get() = appCtx.getPrefBoolean(PreferKey.tocUiUseReplace)
set(value) {
appCtx.putPrefBoolean(PreferKey.tocUiUseReplace, value)
}
val autoChangeSource: Boolean
get() = appCtx.getPrefBoolean(PreferKey.autoChangeSource, true)
@@ -13,6 +13,7 @@ import io.legado.app.data.appDb
import io.legado.app.data.entities.Book
import io.legado.app.data.entities.BookChapter
import io.legado.app.databinding.FragmentChapterListBinding
import io.legado.app.help.AppConfig
import io.legado.app.help.BookHelp
import io.legado.app.help.ContentProcessor
import io.legado.app.lib.theme.bottomBackground
@@ -115,7 +116,8 @@ class ChapterListFragment : VMBaseFragment<TocViewModel>(R.layout.fragment_chapt
val replaces = viewModel.bookData.value?.let { book ->
ContentProcessor.get(book.name, book.origin).getReplaceRules()
}
val useReplace = viewModel.bookData.value?.getUseReplaceRule() == true
val useReplace =
AppConfig.tocUiUseReplace && viewModel.bookData.value?.getUseReplaceRule() == true
it.map { chapter ->
Pair(
chapter,
@@ -15,6 +15,7 @@ import com.google.android.material.tabs.TabLayout
import io.legado.app.R
import io.legado.app.base.VMBaseActivity
import io.legado.app.databinding.ActivityChapterListBinding
import io.legado.app.help.AppConfig
import io.legado.app.lib.theme.accentColor
import io.legado.app.lib.theme.primaryTextColor
import io.legado.app.ui.about.AppLogDialog
@@ -74,6 +75,11 @@ class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>() {
return super.onCompatCreateOptionsMenu(menu)
}
override fun onMenuOpened(featureId: Int, menu: Menu): Boolean {
menu.findItem(R.id.menu_use_replace)?.isChecked = AppConfig.tocUiUseReplace
return super.onMenuOpened(featureId, menu)
}
override fun onCompatOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
R.id.menu_reverse_toc -> viewModel.reverseToc {
@@ -82,6 +88,7 @@ class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>() {
putExtra("chapterPos", it.durChapterPos)
})
}
R.id.menu_use_replace -> AppConfig.tocUiUseReplace = !item.isChecked
R.id.menu_log -> showDialogFragment<AppLogDialog>()
}
return super.onCompatOptionsItemSelected(item)