This commit is contained in:
kunfei
2023-03-16 10:22:37 +08:00
parent be4fa6e675
commit 6dd88c026d
2 changed files with 32 additions and 11 deletions
@@ -13,6 +13,7 @@ import androidx.fragment.app.FragmentPagerAdapter
import com.google.android.material.tabs.TabLayout import com.google.android.material.tabs.TabLayout
import io.legado.app.R import io.legado.app.R
import io.legado.app.base.VMBaseActivity import io.legado.app.base.VMBaseActivity
import io.legado.app.data.entities.Book
import io.legado.app.databinding.ActivityChapterListBinding import io.legado.app.databinding.ActivityChapterListBinding
import io.legado.app.help.book.isLocalTxt import io.legado.app.help.book.isLocalTxt
import io.legado.app.help.config.AppConfig import io.legado.app.help.config.AppConfig
@@ -99,7 +100,10 @@ class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>(),
} }
override fun onMenuOpened(featureId: Int, menu: Menu): Boolean { override fun onMenuOpened(featureId: Int, menu: Menu): Boolean {
menu.findItem(R.id.menu_use_replace)?.isChecked = AppConfig.tocUiUseReplace menu.findItem(R.id.menu_use_replace)?.isChecked =
AppConfig.tocUiUseReplace
menu.findItem(R.id.menu_split_long_chapter)?.isChecked =
viewModel.bookData.value?.getSplitLongChapter() == true
return super.onMenuOpened(featureId, menu) return super.onMenuOpened(featureId, menu)
} }
@@ -108,6 +112,13 @@ class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>(),
R.id.menu_toc_regex -> showDialogFragment( R.id.menu_toc_regex -> showDialogFragment(
TxtTocRuleDialog(viewModel.bookData.value?.tocUrl) TxtTocRuleDialog(viewModel.bookData.value?.tocUrl)
) )
R.id.menu_split_long_chapter -> {
viewModel.bookData.value?.let { book ->
item.isChecked = !item.isChecked
book.setSplitLongChapter(item.isChecked)
upBookAndToc(book)
}
}
R.id.menu_reverse_toc -> viewModel.reverseToc { R.id.menu_reverse_toc -> viewModel.reverseToc {
viewModel.chapterListCallBack?.upChapterList(searchView?.query?.toString()) viewModel.chapterListCallBack?.upChapterList(searchView?.query?.toString())
setResult(RESULT_OK, Intent().apply { setResult(RESULT_OK, Intent().apply {
@@ -128,16 +139,20 @@ class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>(),
override fun onTocRegexDialogResult(tocRegex: String) { override fun onTocRegexDialogResult(tocRegex: String) {
viewModel.bookData.value?.let { book -> viewModel.bookData.value?.let { book ->
book.tocUrl = tocRegex book.tocUrl = tocRegex
waitDialog.show() upBookAndToc(book)
viewModel.upBookTocRule(book) { }
waitDialog.dismiss() }
ReadBook.book?.let { readBook ->
if (readBook == book) { private fun upBookAndToc(book: Book) {
ReadBook.book = book waitDialog.show()
ReadBook.chapterSize = book.totalChapterNum viewModel.upBookTocRule(book) {
ReadBook.upMsg(null) waitDialog.dismiss()
ReadBook.loadContent(resetPageOffset = true) ReadBook.book?.let { readBook ->
} if (readBook == book) {
ReadBook.book = book
ReadBook.chapterSize = book.totalChapterNum
ReadBook.upMsg(null)
ReadBook.loadContent(resetPageOffset = true)
} }
} }
} }
+6
View File
@@ -19,6 +19,12 @@
android:title="@string/txt_toc_rule" android:title="@string/txt_toc_rule"
app:showAsAction="never" /> app:showAsAction="never" />
<item
android:id="@+id/menu_split_long_chapter"
android:title="@string/split_long_chapter"
android:checkable="true"
app:showAsAction="never" />
</group> </group>
<item <item