This commit is contained in:
kunfei 2023-02-22 09:15:09 +08:00
parent b30e266d6e
commit 5216e36fbf
17 changed files with 49 additions and 31 deletions

View File

@ -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"

View File

@ -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)

View File

@ -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
}

View File

@ -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
source.bookSourceGroup = it.bookSourceGroup
source.customOrder = it.customOrder
}
if (keepGroup) {
source.bookSourceGroup = it.bookSourceGroup
}
source.customOrder = it.customOrder
}
if (!group.isNullOrEmpty()) {
if (isAddGroup) {

View File

@ -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)
}

View File

@ -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>()

View File

@ -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
}

View File

@ -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
source.sourceGroup = it.sourceGroup
source.customOrder = it.customOrder
}
if (keepGroup) {
source.sourceGroup = it.sourceGroup
}
source.customOrder = it.customOrder
}
if (!group.isNullOrEmpty()) {
if (isAddGroup) {

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>