This commit is contained in:
kunfei
2023-05-27 23:46:05 +08:00
parent a0c5b1c3bb
commit 89a85bbc24
@@ -248,6 +248,7 @@ class ChangeBookSourceDialog() : BaseDialogFragment(R.layout.dialog_book_change_
} else { } else {
AppConfig.searchGroup = item.title.toString() AppConfig.searchGroup = item.title.toString()
} }
upGroupMenu()
viewModel.startOrStopSearch() viewModel.startOrStopSearch()
viewModel.refresh() viewModel.refresh()
} }
@@ -345,24 +346,29 @@ class ChangeBookSourceDialog() : BaseDialogFragment(R.layout.dialog_book_change_
* 更新分组菜单 * 更新分组菜单
*/ */
private fun upGroupMenu() { private fun upGroupMenu() {
binding.toolBar.menu.findItem(R.id.menu_group)?.subMenu?.let { menu -> binding.toolBar.menu.findItem(R.id.menu_group)?.run {
val selectedGroup = AppConfig.searchGroup subMenu?.let { menu ->
menu.removeGroup(R.id.source_group) val selectedGroup = AppConfig.searchGroup
val allItem = menu.add(R.id.source_group, Menu.NONE, Menu.NONE, R.string.all_source) menu.removeGroup(R.id.source_group)
var hasSelectedGroup = false val allItem = menu.add(R.id.source_group, Menu.NONE, Menu.NONE, R.string.all_source)
groups.sortedWith { o1, o2 -> var hasSelectedGroup = false
o1.cnCompare(o2) groups.sortedWith { o1, o2 ->
}.forEach { group -> o1.cnCompare(o2)
menu.add(R.id.source_group, Menu.NONE, Menu.NONE, group)?.let { }.forEach { group ->
if (group == selectedGroup) { menu.add(R.id.source_group, Menu.NONE, Menu.NONE, group)?.let {
it.isChecked = true if (group == selectedGroup) {
hasSelectedGroup = true it.isChecked = true
hasSelectedGroup = true
}
} }
} }
} menu.setGroupCheckable(R.id.source_group, true, true)
menu.setGroupCheckable(R.id.source_group, true, true) if (hasSelectedGroup) {
if (!hasSelectedGroup) { title = getString(R.string.group) + "(" + AppConfig.searchGroup + ")"
allItem.isChecked = true } else {
allItem.isChecked = true
title = getString(R.string.group)
}
} }
} }
} }