From 0a70685343a7c6bcae93f30602992403567c5d0f Mon Sep 17 00:00:00 2001
From: HapeLee <1321903405@qq.com>
Date: Thu, 4 Dec 2025 18:21:12 +0800
Subject: [PATCH] =?UTF-8?q?[=E6=96=B0=E5=A2=9E]=20=E5=8F=AF=E4=BB=A5?=
=?UTF-8?q?=E9=80=89=E6=8B=A9=E9=BB=98=E8=AE=A4=E6=8D=A2=E6=BA=90=E8=A1=8C?=
=?UTF-8?q?=E4=B8=BA?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../java/io/legado/app/constant/PreferKey.kt | 2 ++
.../io/legado/app/help/config/AppConfig.kt | 5 ++++
.../app/ui/book/read/ReadBookActivity.kt | 24 ++++++++++++++++++-
app/src/main/res/values-zh/strings.xml | 2 ++
app/src/main/res/values/strings.xml | 2 ++
app/src/main/res/xml/pref_config_read.xml | 7 ++++++
6 files changed, 41 insertions(+), 1 deletion(-)
diff --git a/app/src/main/java/io/legado/app/constant/PreferKey.kt b/app/src/main/java/io/legado/app/constant/PreferKey.kt
index 26009eb80..271bcdfc0 100644
--- a/app/src/main/java/io/legado/app/constant/PreferKey.kt
+++ b/app/src/main/java/io/legado/app/constant/PreferKey.kt
@@ -224,4 +224,6 @@ object PreferKey {
const val exploreFilterState = "explore_filter_state"
const val exploreLayoutState = "exploreLayoutState"
+
+ const val defaultSourceChangeAll = "defaultSourceChangeAll"
}
diff --git a/app/src/main/java/io/legado/app/help/config/AppConfig.kt b/app/src/main/java/io/legado/app/help/config/AppConfig.kt
index b34c3e06b..1f5702901 100644
--- a/app/src/main/java/io/legado/app/help/config/AppConfig.kt
+++ b/app/src/main/java/io/legado/app/help/config/AppConfig.kt
@@ -909,5 +909,10 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
appCtx.putPrefInt(PreferKey.exploreLayoutState, value)
}
+ var defaultSourceChangeAll: Boolean
+ get() = appCtx.getPrefBoolean(PreferKey.defaultSourceChangeAll, true)
+ set(value) {
+ appCtx.putPrefBoolean(PreferKey.defaultSourceChangeAll, value)
+ }
}
diff --git a/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt b/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt
index d6410fb0b..d4329907a 100644
--- a/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt
+++ b/app/src/main/java/io/legado/app/ui/book/read/ReadBookActivity.kt
@@ -522,12 +522,34 @@ class ReadBookActivity : BaseReadBookActivity(),
}
}
+ private fun defaultChangeSource() {
+ if (AppConfig.defaultSourceChangeAll)
+ {
+ binding.readMenu.runMenuOut()
+ ReadBook.book?.let {
+ showDialogFragment(ChangeBookSourceDialog(it.name, it.author))
+ }
+ } else {
+ lifecycleScope.launch {
+ val book = ReadBook.book ?: return@launch
+ val chapter =
+ appDb.bookChapterDao.getChapter(book.bookUrl, ReadBook.durChapterIndex)
+ ?: return@launch
+ binding.readMenu.runMenuOut()
+ showDialogFragment(
+ ChangeChapterSourceDialog(book.name, book.author, chapter.index, chapter.title)
+ )
+ }
+ }
+ }
+
/**
* 菜单
*/
override fun onCompatOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
- R.id.menu_change_source,
+ R.id.menu_change_source -> { defaultChangeSource() }
+
R.id.menu_book_change_source -> {
binding.readMenu.runMenuOut()
ReadBook.book?.let {
diff --git a/app/src/main/res/values-zh/strings.xml b/app/src/main/res/values-zh/strings.xml
index e03c48aca..e68790bf6 100644
--- a/app/src/main/res/values-zh/strings.xml
+++ b/app/src/main/res/values-zh/strings.xml
@@ -1348,4 +1348,6 @@
渐变
显示更多分组按钮
显示新章节更新标志
+ 换源按钮默认弹出整书换源
+ 反之则默认弹出单章换源
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index cdf8b9a65..3a7e96d30 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1351,4 +1351,6 @@
渐变
显示更多分组按钮
显示新章节更新标志
+ 换源按钮默认弹出整书换源
+ 反之则默认弹出单章换源
diff --git a/app/src/main/res/xml/pref_config_read.xml b/app/src/main/res/xml/pref_config_read.xml
index 7a9861808..fd46fd4a0 100644
--- a/app/src/main/res/xml/pref_config_read.xml
+++ b/app/src/main/res/xml/pref_config_read.xml
@@ -61,6 +61,13 @@
android:title="@string/read_body_to_lh"
app:isBottomBackground="true" />
+
+