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 io.legado.app.R
import io.legado.app.base.VMBaseActivity
import io.legado.app.data.entities.Book
import io.legado.app.databinding.ActivityChapterListBinding
import io.legado.app.help.book.isLocalTxt
import io.legado.app.help.config.AppConfig
@@ -99,7 +100,10 @@ class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>(),
}
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)
}
@@ -108,6 +112,13 @@ class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>(),
R.id.menu_toc_regex -> showDialogFragment(
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 {
viewModel.chapterListCallBack?.upChapterList(searchView?.query?.toString())
setResult(RESULT_OK, Intent().apply {
@@ -128,16 +139,20 @@ class TocActivity : VMBaseActivity<ActivityChapterListBinding, TocViewModel>(),
override fun onTocRegexDialogResult(tocRegex: String) {
viewModel.bookData.value?.let { book ->
book.tocUrl = tocRegex
waitDialog.show()
viewModel.upBookTocRule(book) {
waitDialog.dismiss()
ReadBook.book?.let { readBook ->
if (readBook == book) {
ReadBook.book = book
ReadBook.chapterSize = book.totalChapterNum
ReadBook.upMsg(null)
ReadBook.loadContent(resetPageOffset = true)
}
upBookAndToc(book)
}
}
private fun upBookAndToc(book: Book) {
waitDialog.show()
viewModel.upBookTocRule(book) {
waitDialog.dismiss()
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"
app:showAsAction="never" />
<item
android:id="@+id/menu_split_long_chapter"
android:title="@string/split_long_chapter"
android:checkable="true"
app:showAsAction="never" />
</group>
<item