From e4ea55d42fda41f26f874e7471def4caed95c9a1 Mon Sep 17 00:00:00 2001 From: kunfei Date: Sun, 27 Feb 2022 18:59:42 +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 --- .../java/io/legado/app/model/webBook/BookChapterList.kt | 8 +++++--- .../io/legado/app/ui/book/audio/AudioPlayViewModel.kt | 5 ++++- .../java/io/legado/app/ui/book/info/BookInfoViewModel.kt | 5 ++++- .../java/io/legado/app/ui/book/read/ContentEditDialog.kt | 3 +++ .../java/io/legado/app/ui/book/read/ReadBookViewModel.kt | 4 +++- app/src/main/res/layout/dialog_content_edit.xml | 2 +- app/src/main/res/menu/content_edit.xml | 5 +++++ app/src/main/res/values-es-rES/strings.xml | 1 + app/src/main/res/values-ja-rJP/strings.xml | 1 + app/src/main/res/values-pt-rBR/strings.xml | 1 + app/src/main/res/values-zh-rHK/strings.xml | 1 + app/src/main/res/values-zh-rTW/strings.xml | 1 + app/src/main/res/values-zh/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 14 files changed, 32 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/io/legado/app/model/webBook/BookChapterList.kt b/app/src/main/java/io/legado/app/model/webBook/BookChapterList.kt index 2550a007c..720e0adc6 100644 --- a/app/src/main/java/io/legado/app/model/webBook/BookChapterList.kt +++ b/app/src/main/java/io/legado/app/model/webBook/BookChapterList.kt @@ -6,6 +6,7 @@ import io.legado.app.data.entities.Book import io.legado.app.data.entities.BookChapter import io.legado.app.data.entities.BookSource import io.legado.app.data.entities.rule.TocRule +import io.legado.app.help.ContentProcessor import io.legado.app.model.Debug import io.legado.app.model.NoStackTraceException import io.legado.app.model.TocEmptyException @@ -118,9 +119,10 @@ object BookChapterList { list.forEachIndexed { index, bookChapter -> bookChapter.index = index } - book.latestChapterTitle = list.last().title - book.durChapterTitle = - list.getOrNull(book.durChapterIndex)?.title ?: book.latestChapterTitle + val replaceRules = ContentProcessor.get(book.name, book.origin).getTitleReplaceRules() + book.latestChapterTitle = list.last().getDisplayTitle(replaceRules) + book.durChapterTitle = list.getOrElse(book.durChapterIndex) { list.last() } + .getDisplayTitle(replaceRules) if (book.totalChapterNum < list.size) { book.lastCheckCount = list.size - book.totalChapterNum book.latestChapterTime = System.currentTimeMillis() diff --git a/app/src/main/java/io/legado/app/ui/book/audio/AudioPlayViewModel.kt b/app/src/main/java/io/legado/app/ui/book/audio/AudioPlayViewModel.kt index 5d8e5c2de..2550c9feb 100644 --- a/app/src/main/java/io/legado/app/ui/book/audio/AudioPlayViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/audio/AudioPlayViewModel.kt @@ -10,6 +10,7 @@ import io.legado.app.data.entities.Book import io.legado.app.data.entities.BookChapter import io.legado.app.data.entities.BookSource import io.legado.app.help.BookHelp +import io.legado.app.help.ContentProcessor import io.legado.app.model.AudioPlay import io.legado.app.model.webBook.WebBook import io.legado.app.utils.postEvent @@ -120,7 +121,9 @@ class AudioPlayViewModel(application: Application) : BaseViewModel(application) chapters, oldTocSize ) - book.durChapterTitle = chapters[book.durChapterIndex].title + book.durChapterTitle = chapters[book.durChapterIndex].getDisplayTitle( + ContentProcessor.get(book.name, book.origin).getTitleReplaceRules() + ) appDb.bookDao.update(book) appDb.bookChapterDao.insert(*chapters.toTypedArray()) } diff --git a/app/src/main/java/io/legado/app/ui/book/info/BookInfoViewModel.kt b/app/src/main/java/io/legado/app/ui/book/info/BookInfoViewModel.kt index 781e554a9..f469d5432 100644 --- a/app/src/main/java/io/legado/app/ui/book/info/BookInfoViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/info/BookInfoViewModel.kt @@ -13,6 +13,7 @@ import io.legado.app.data.entities.Book import io.legado.app.data.entities.BookChapter import io.legado.app.data.entities.BookSource import io.legado.app.help.BookHelp +import io.legado.app.help.ContentProcessor import io.legado.app.help.coroutine.Coroutine import io.legado.app.model.NoStackTraceException import io.legado.app.model.ReadBook @@ -208,7 +209,9 @@ class BookInfoViewModel(application: Application) : BaseViewModel(application) { chapters, oldTocSize ) - book.durChapterTitle = chapters[book.durChapterIndex].title + book.durChapterTitle = chapters[book.durChapterIndex].getDisplayTitle( + ContentProcessor.get(book.name, book.origin).getTitleReplaceRules() + ) if (inBookshelf) { appDb.bookDao.update(book) appDb.bookChapterDao.insert(*chapters.toTypedArray()) diff --git a/app/src/main/java/io/legado/app/ui/book/read/ContentEditDialog.kt b/app/src/main/java/io/legado/app/ui/book/read/ContentEditDialog.kt index 06862ed4a..1656b3dae 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/ContentEditDialog.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/ContentEditDialog.kt @@ -19,6 +19,7 @@ import io.legado.app.lib.theme.primaryColor import io.legado.app.model.ReadBook import io.legado.app.model.webBook.WebBook import io.legado.app.utils.applyTint +import io.legado.app.utils.sendToClip import io.legado.app.utils.setLayout import io.legado.app.utils.viewbindingdelegate.viewBinding import kotlinx.coroutines.Dispatchers.IO @@ -78,6 +79,8 @@ class ContentEditDialog : BaseDialogFragment(R.layout.dialog_content_edit) { binding.contentView.setText(content) ReadBook.loadContent(ReadBook.durChapterIndex, resetPageOffset = false) } + R.id.menu_copy_all -> requireContext() + .sendToClip("${binding.toolBar.title}\n${viewModel.content}") } return@setOnMenuItemClickListener true } diff --git a/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt b/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt index 9b2ecc985..9af74ef3e 100644 --- a/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt +++ b/app/src/main/java/io/legado/app/ui/book/read/ReadBookViewModel.kt @@ -189,7 +189,9 @@ class ReadBookViewModel(application: Application) : BaseViewModel(application) { chapters, oldBook.totalChapterNum ) - book.durChapterTitle = chapters[book.durChapterIndex].title + book.durChapterTitle = chapters[book.durChapterIndex].getDisplayTitle( + ContentProcessor.get(book.name, book.origin).getTitleReplaceRules() + ) oldBook.changeTo(book) appDb.bookChapterDao.insert(*chapters.toTypedArray()) ReadBook.resetData(book) diff --git a/app/src/main/res/layout/dialog_content_edit.xml b/app/src/main/res/layout/dialog_content_edit.xml index 2f1d21bd5..8061678a4 100644 --- a/app/src/main/res/layout/dialog_content_edit.xml +++ b/app/src/main/res/layout/dialog_content_edit.xml @@ -11,7 +11,7 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="?attr/actionBarStyle" - app:title="code edit" + app:title="edit" app:popupTheme="@style/AppTheme.PopupOverlay" app:titleTextAppearance="@style/ToolbarTitle" /> diff --git a/app/src/main/res/menu/content_edit.xml b/app/src/main/res/menu/content_edit.xml index efb4b44ce..5ccd7e115 100644 --- a/app/src/main/res/menu/content_edit.xml +++ b/app/src/main/res/menu/content_edit.xml @@ -15,4 +15,9 @@ android:title="@string/reset" app:showAsAction="never" /> + + \ No newline at end of file diff --git a/app/src/main/res/values-es-rES/strings.xml b/app/src/main/res/values-es-rES/strings.xml index 2e374086c..6be3c976d 100644 --- a/app/src/main/res/values-es-rES/strings.xml +++ b/app/src/main/res/values-es-rES/strings.xml @@ -943,5 +943,6 @@ 整书换源 时间排序 开启记录 + 拷贝所有 diff --git a/app/src/main/res/values-ja-rJP/strings.xml b/app/src/main/res/values-ja-rJP/strings.xml index 8f30e828e..bffb90efe 100644 --- a/app/src/main/res/values-ja-rJP/strings.xml +++ b/app/src/main/res/values-ja-rJP/strings.xml @@ -946,5 +946,6 @@ 整书换源 时间排序 开启记录 + 拷贝所有 diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 790e20227..325e1220b 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -946,5 +946,6 @@ 整书换源 时间排序 开启记录 + 拷贝所有 diff --git a/app/src/main/res/values-zh-rHK/strings.xml b/app/src/main/res/values-zh-rHK/strings.xml index 29c9cf854..8decfbf09 100644 --- a/app/src/main/res/values-zh-rHK/strings.xml +++ b/app/src/main/res/values-zh-rHK/strings.xml @@ -943,5 +943,6 @@ 整书换源 时间排序 开启记录 + 拷贝所有 diff --git a/app/src/main/res/values-zh-rTW/strings.xml b/app/src/main/res/values-zh-rTW/strings.xml index 82d29637f..5b0a70a61 100644 --- a/app/src/main/res/values-zh-rTW/strings.xml +++ b/app/src/main/res/values-zh-rTW/strings.xml @@ -945,5 +945,6 @@ 整书换源 时间排序 开启记录 + 拷贝所有 diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml index 13012c32c..93868fd11 100644 --- a/app/src/main/res/values-zh/strings.xml +++ b/app/src/main/res/values-zh/strings.xml @@ -945,5 +945,6 @@ 整书换源 时间排序 开启记录 + 拷贝所有 diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7171000b2..4eff8223d 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -946,5 +946,6 @@ 整书换源 时间排序 开启记录 + 拷贝所有