优化
This commit is contained in:
@@ -24,6 +24,8 @@ import io.legado.app.lib.theme.backgroundColor
|
|||||||
import io.legado.app.lib.theme.primaryColor
|
import io.legado.app.lib.theme.primaryColor
|
||||||
import io.legado.app.model.ReadBook
|
import io.legado.app.model.ReadBook
|
||||||
import io.legado.app.ui.association.ImportTxtTocRuleDialog
|
import io.legado.app.ui.association.ImportTxtTocRuleDialog
|
||||||
|
import io.legado.app.ui.document.HandleFileContract
|
||||||
|
import io.legado.app.ui.qrcode.QrCodeResult
|
||||||
import io.legado.app.ui.widget.dialog.TextDialog
|
import io.legado.app.ui.widget.dialog.TextDialog
|
||||||
import io.legado.app.ui.widget.recycler.ItemTouchCallback
|
import io.legado.app.ui.widget.recycler.ItemTouchCallback
|
||||||
import io.legado.app.ui.widget.recycler.VerticalDivider
|
import io.legado.app.ui.widget.recycler.VerticalDivider
|
||||||
@@ -52,6 +54,19 @@ class TxtTocRuleDialog() : BaseDialogFragment(R.layout.dialog_toc_regex),
|
|||||||
private val adapter by lazy { TocRegexAdapter(requireContext()) }
|
private val adapter by lazy { TocRegexAdapter(requireContext()) }
|
||||||
var selectedName: String? = null
|
var selectedName: String? = null
|
||||||
private var durRegex: String? = null
|
private var durRegex: String? = null
|
||||||
|
private val qrCodeResult = registerForActivityResult(QrCodeResult()) {
|
||||||
|
it ?: return@registerForActivityResult
|
||||||
|
showDialogFragment(ImportTxtTocRuleDialog(it))
|
||||||
|
}
|
||||||
|
private val importDoc = registerForActivityResult(HandleFileContract()) {
|
||||||
|
kotlin.runCatching {
|
||||||
|
it.uri?.readText(requireContext())?.let {
|
||||||
|
showDialogFragment(ImportTxtTocRuleDialog(it))
|
||||||
|
}
|
||||||
|
}.onFailure {
|
||||||
|
toastOnUi("readTextError:${it.localizedMessage}")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
override fun onStart() {
|
override fun onStart() {
|
||||||
super.onStart()
|
super.onStart()
|
||||||
@@ -118,8 +133,13 @@ class TxtTocRuleDialog() : BaseDialogFragment(R.layout.dialog_toc_regex),
|
|||||||
override fun onMenuItemClick(item: MenuItem?): Boolean {
|
override fun onMenuItemClick(item: MenuItem?): Boolean {
|
||||||
when (item?.itemId) {
|
when (item?.itemId) {
|
||||||
R.id.menu_add -> showDialogFragment(TxtTocRuleEditDialog())
|
R.id.menu_add -> showDialogFragment(TxtTocRuleEditDialog())
|
||||||
R.id.menu_default -> viewModel.importDefault()
|
R.id.menu_import_local -> importDoc.launch {
|
||||||
R.id.menu_import -> showImportDialog()
|
mode = HandleFileContract.FILE
|
||||||
|
allowExtensions = arrayOf("txt", "json")
|
||||||
|
}
|
||||||
|
R.id.menu_import_onLine -> showImportDialog()
|
||||||
|
R.id.menu_import_qr -> qrCodeResult.launch()
|
||||||
|
R.id.menu_import_default -> viewModel.importDefault()
|
||||||
R.id.menu_split_long_chapter -> {
|
R.id.menu_split_long_chapter -> {
|
||||||
ReadBook.book?.setSplitLongChapter(!item.isChecked)
|
ReadBook.book?.setSplitLongChapter(!item.isChecked)
|
||||||
item.isChecked = !item.isChecked
|
item.isChecked = !item.isChecked
|
||||||
|
|||||||
Reference in New Issue
Block a user