kunfei 3 лет назад
Родитель
Сommit
85ad598a26

+ 1 - 0
app/src/main/java/io/legado/app/constant/PreferKey.kt

@@ -80,6 +80,7 @@ object PreferKey {
     const val autoClearExpired = "autoClearExpired"
     const val autoChangeSource = "autoChangeSource"
     const val importKeepName = "importKeepName"
+    const val importKeepGroup = "importKeepGroup"
     const val screenOrientation = "screenOrientation"
     const val syncBookProgress = "syncBookProgress"
     const val cronet = "Cronet"

+ 1 - 0
app/src/main/java/io/legado/app/help/config/AppConfig.kt

@@ -331,6 +331,7 @@ object AppConfig : SharedPreferences.OnSharedPreferenceChangeListener {
         }
 
     val importKeepName get() = appCtx.getPrefBoolean(PreferKey.importKeepName)
+    val importKeepGroup get() = appCtx.getPrefBoolean(PreferKey.importKeepGroup)
 
     var preDownloadNum
         get() = appCtx.getPrefInt(PreferKey.preDownloadNum, 10)

+ 8 - 2
app/src/main/java/io/legado/app/ui/association/ImportBookSourceDialog.kt

@@ -138,18 +138,24 @@ class ImportBookSourceDialog() : BaseDialogFragment(R.layout.dialog_recycler_vie
     private fun initMenu() {
         binding.toolBar.setOnMenuItemClickListener(this)
         binding.toolBar.inflateMenu(R.menu.import_source)
-        binding.toolBar.menu.findItem(R.id.menu_Keep_original_name)
+        binding.toolBar.menu.findItem(R.id.menu_keep_original_name)
             ?.isChecked = AppConfig.importKeepName
+        binding.toolBar.menu.findItem(R.id.menu_keep_group)
+            ?.isChecked = AppConfig.importKeepGroup
     }
 
     @SuppressLint("InflateParams")
     override fun onMenuItemClick(item: MenuItem): Boolean {
         when (item.itemId) {
             R.id.menu_new_group -> alertCustomGroup(item)
-            R.id.menu_Keep_original_name -> {
+            R.id.menu_keep_original_name -> {
                 item.isChecked = !item.isChecked
                 putPrefBoolean(PreferKey.importKeepName, item.isChecked)
             }
+            R.id.menu_keep_group -> {
+                item.isChecked = !item.isChecked
+                putPrefBoolean(PreferKey.importKeepGroup, item.isChecked)
+            }
         }
         return false
     }

+ 6 - 3
app/src/main/java/io/legado/app/ui/association/ImportBookSourceViewModel.kt

@@ -54,16 +54,19 @@ class ImportBookSourceViewModel(app: Application) : BaseViewModel(app) {
         execute {
             val group = groupName?.trim()
             val keepName = AppConfig.importKeepName
+            val keepGroup = AppConfig.importKeepGroup
             val selectSource = arrayListOf<BookSource>()
             selectStatus.forEachIndexed { index, b ->
                 if (b) {
                     val source = allSources[index]
-                    if (keepName) {
-                        checkSources[index]?.let {
+                    checkSources[index]?.let {
+                        if (keepName) {
                             source.bookSourceName = it.bookSourceName
+                        }
+                        if (keepGroup) {
                             source.bookSourceGroup = it.bookSourceGroup
-                            source.customOrder = it.customOrder
                         }
+                        source.customOrder = it.customOrder
                     }
                     if (!group.isNullOrEmpty()) {
                         if (isAddGroup) {

+ 1 - 1
app/src/main/java/io/legado/app/ui/association/ImportReplaceRuleDialog.kt

@@ -122,7 +122,7 @@ class ImportReplaceRuleDialog() : BaseDialogFragment(R.layout.dialog_recycler_vi
     override fun onMenuItemClick(item: MenuItem?): Boolean {
         when (item?.itemId) {
             R.id.menu_new_group -> alertCustomGroup(item)
-            R.id.menu_Keep_original_name -> {
+            R.id.menu_keep_original_name -> {
                 item.isChecked = !item.isChecked
                 putPrefBoolean(PreferKey.importKeepName, item.isChecked)
             }

+ 0 - 9
app/src/main/java/io/legado/app/ui/association/ImportReplaceRuleViewModel.kt

@@ -9,7 +9,6 @@ import io.legado.app.data.appDb
 import io.legado.app.data.entities.ReplaceRule
 import io.legado.app.exception.NoStackTraceException
 import io.legado.app.help.ReplaceAnalyzer
-import io.legado.app.help.config.AppConfig
 import io.legado.app.help.http.newCallResponseBody
 import io.legado.app.help.http.okHttpClient
 import io.legado.app.help.http.text
@@ -52,18 +51,10 @@ class ImportReplaceRuleViewModel(app: Application) : BaseViewModel(app) {
     fun importSelect(finally: () -> Unit) {
         execute {
             val group = groupName?.trim()
-            val keepName = AppConfig.importKeepName
             val selectRules = arrayListOf<ReplaceRule>()
             selectStatus.forEachIndexed { index, b ->
                 if (b) {
                     val rule = allRules[index]
-                    if (keepName) {
-                        checkRules[index]?.let {
-                            rule.name = it.name
-                            rule.group = it.group
-                            rule.order = it.order
-                        }
-                    }
                     if (!group.isNullOrEmpty()) {
                         if (isAddGroup) {
                             val groups = linkedSetOf<String>()

+ 8 - 2
app/src/main/java/io/legado/app/ui/association/ImportRssSourceDialog.kt

@@ -137,18 +137,24 @@ class ImportRssSourceDialog() : BaseDialogFragment(R.layout.dialog_recycler_view
     private fun initMenu() {
         binding.toolBar.setOnMenuItemClickListener(this)
         binding.toolBar.inflateMenu(R.menu.import_source)
-        binding.toolBar.menu.findItem(R.id.menu_Keep_original_name)?.isChecked =
+        binding.toolBar.menu.findItem(R.id.menu_keep_original_name)?.isChecked =
             AppConfig.importKeepName
+        binding.toolBar.menu.findItem(R.id.menu_keep_group)?.isChecked =
+            AppConfig.importKeepGroup
     }
 
     @SuppressLint("InflateParams")
     override fun onMenuItemClick(item: MenuItem): Boolean {
         when (item.itemId) {
             R.id.menu_new_group -> alertCustomGroup(item)
-            R.id.menu_Keep_original_name -> {
+            R.id.menu_keep_original_name -> {
                 item.isChecked = !item.isChecked
                 putPrefBoolean(PreferKey.importKeepName, item.isChecked)
             }
+            R.id.menu_keep_group -> {
+                item.isChecked = !item.isChecked
+                putPrefBoolean(PreferKey.importKeepGroup, item.isChecked)
+            }
         }
         return false
     }

+ 6 - 3
app/src/main/java/io/legado/app/ui/association/ImportRssSourceViewModel.kt

@@ -51,16 +51,19 @@ class ImportRssSourceViewModel(app: Application) : BaseViewModel(app) {
         execute {
             val group = groupName?.trim()
             val keepName = AppConfig.importKeepName
+            val keepGroup = AppConfig.importKeepGroup
             val selectSource = arrayListOf<RssSource>()
             selectStatus.forEachIndexed { index, b ->
                 if (b) {
                     val source = allSources[index]
-                    if (keepName) {
-                        checkSources[index]?.let {
+                    checkSources[index]?.let {
+                        if (keepName) {
                             source.sourceName = it.sourceName
+                        }
+                        if (keepGroup) {
                             source.sourceGroup = it.sourceGroup
-                            source.customOrder = it.customOrder
                         }
+                        source.customOrder = it.customOrder
                     }
                     if (!group.isNullOrEmpty()) {
                         if (isAddGroup) {

+ 0 - 6
app/src/main/res/menu/import_replace.xml

@@ -9,10 +9,4 @@
         app:showAsAction="always"
         tools:ignore="AlwaysShowAction" />
 
-    <item
-        android:id="@+id/menu_Keep_original_name"
-        android:title="@string/keep_original_name"
-        android:checkable="true"
-        app:showAsAction="never" />
-
 </menu>

+ 7 - 1
app/src/main/res/menu/import_source.xml

@@ -10,9 +10,15 @@
         tools:ignore="AlwaysShowAction" />
 
     <item
-        android:id="@+id/menu_Keep_original_name"
+        android:id="@+id/menu_keep_original_name"
         android:title="@string/keep_original_name"
         android:checkable="true"
         app:showAsAction="never" />
 
+    <item
+        android:id="@+id/menu_keep_group"
+        android:title="@string/keep_group"
+        android:checkable="true"
+        app:showAsAction="never" />
+
 </menu>

+ 1 - 0
app/src/main/res/values-es-rES/strings.xml

@@ -1079,4 +1079,5 @@
     <string name="show_rule">显示规则(showRule)</string>
     <string name="config_txt_toc_rule">配置 TXT 目录规则</string>
     <string name="import_dict_rule">导入字典规则</string>
+    <string name="keep_group">保留分组</string>
 </resources>

+ 1 - 0
app/src/main/res/values-ja-rJP/strings.xml

@@ -1082,4 +1082,5 @@
     <string name="show_rule">显示规则(showRule)</string>
     <string name="config_txt_toc_rule">配置 TXT 目录规则</string>
     <string name="import_dict_rule">导入字典规则</string>
+    <string name="keep_group">保留分组</string>
 </resources>

+ 1 - 0
app/src/main/res/values-pt-rBR/strings.xml

@@ -1082,4 +1082,5 @@
     <string name="show_rule">显示规则(showRule)</string>
     <string name="config_txt_toc_rule">配置 TXT 目录规则</string>
     <string name="import_dict_rule">导入字典规则</string>
+    <string name="keep_group">保留分组</string>
 </resources>

+ 1 - 0
app/src/main/res/values-zh-rHK/strings.xml

@@ -1079,4 +1079,5 @@
     <string name="show_rule">显示规则(showRule)</string>
     <string name="config_txt_toc_rule">配置 TXT 目录规则</string>
     <string name="import_dict_rule">导入字典规则</string>
+    <string name="keep_group">保留分组</string>
 </resources>

+ 1 - 0
app/src/main/res/values-zh-rTW/strings.xml

@@ -1081,4 +1081,5 @@
     <string name="show_rule">显示规则(showRule)</string>
     <string name="config_txt_toc_rule">配置 TXT 目录规则</string>
     <string name="import_dict_rule">导入字典规则</string>
+    <string name="keep_group">保留分组</string>
 </resources>

+ 1 - 0
app/src/main/res/values-zh/strings.xml

@@ -1081,4 +1081,5 @@
     <string name="show_rule">显示规则(showRule)</string>
     <string name="config_txt_toc_rule">配置 TXT 目录规则</string>
     <string name="import_dict_rule">导入字典规则</string>
+    <string name="keep_group">保留分组</string>
 </resources>

+ 3 - 2
app/src/main/res/values/strings.xml

@@ -1077,9 +1077,10 @@
     <string name="source_tab_list">List</string>
     <string name="dict_rule">Dict rule</string>
     <string name="config_dict_rule">Config dict rule</string>
-    <string name="create">新建</string>
+    <string name="create">Create</string>
     <string name="url_rule">url规则(urlRule)</string>
     <string name="show_rule">显示规则(showRule)</string>
     <string name="config_txt_toc_rule">配置 TXT 目录规则</string>
-    <string name="import_dict_rule">导入字典规则</string>
+    <string name="import_dict_rule">Import dict rule</string>
+    <string name="keep_group">Keep group</string>
 </resources>