|
|
|
@ -44,6 +44,9 @@ class SettingsLibraryController : SettingsController() {
|
|
|
|
|
override fun setupPreferenceScreen(screen: PreferenceScreen) = with(screen) {
|
|
|
|
|
titleRes = R.string.pref_category_library
|
|
|
|
|
|
|
|
|
|
val dbCategories = db.getCategories().executeAsBlocking()
|
|
|
|
|
val categories = listOf(Category.createDefault()) + dbCategories
|
|
|
|
|
|
|
|
|
|
preferenceCategory {
|
|
|
|
|
titleRes = R.string.pref_category_display
|
|
|
|
|
|
|
|
|
@ -74,8 +77,40 @@ class SettingsLibraryController : SettingsController() {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
val dbCategories = db.getCategories().executeAsBlocking()
|
|
|
|
|
val categories = listOf(Category.createDefault()) + dbCategories
|
|
|
|
|
preferenceCategory {
|
|
|
|
|
titleRes = R.string.pref_category_library_categories
|
|
|
|
|
|
|
|
|
|
preference {
|
|
|
|
|
titleRes = R.string.action_edit_categories
|
|
|
|
|
|
|
|
|
|
val catCount = dbCategories.size
|
|
|
|
|
summary = context.resources.getQuantityString(R.plurals.num_categories, catCount, catCount)
|
|
|
|
|
|
|
|
|
|
onClick {
|
|
|
|
|
router.pushController(CategoryController().withFadeTransaction())
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
intListPreference {
|
|
|
|
|
key = Keys.defaultCategory
|
|
|
|
|
titleRes = R.string.default_category
|
|
|
|
|
|
|
|
|
|
entries = arrayOf(context.getString(R.string.default_category_summary)) +
|
|
|
|
|
categories.map { it.name }.toTypedArray()
|
|
|
|
|
entryValues = arrayOf("-1") + categories.map { it.id.toString() }.toTypedArray()
|
|
|
|
|
defaultValue = "-1"
|
|
|
|
|
|
|
|
|
|
val selectedCategory = categories.find { it.id == preferences.defaultCategory() }
|
|
|
|
|
summary = selectedCategory?.name
|
|
|
|
|
?: context.getString(R.string.default_category_summary)
|
|
|
|
|
onChange { newValue ->
|
|
|
|
|
summary = categories.find {
|
|
|
|
|
it.id == (newValue as String).toInt()
|
|
|
|
|
}?.name ?: context.getString(R.string.default_category_summary)
|
|
|
|
|
true
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
preferenceCategory {
|
|
|
|
|
titleRes = R.string.pref_category_library_update
|
|
|
|
@ -170,41 +205,6 @@ class SettingsLibraryController : SettingsController() {
|
|
|
|
|
defaultValue = false
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
preferenceCategory {
|
|
|
|
|
titleRes = R.string.pref_category_library_categories
|
|
|
|
|
|
|
|
|
|
preference {
|
|
|
|
|
titleRes = R.string.action_edit_categories
|
|
|
|
|
|
|
|
|
|
val catCount = dbCategories.size
|
|
|
|
|
summary = context.resources.getQuantityString(R.plurals.num_categories, catCount, catCount)
|
|
|
|
|
|
|
|
|
|
onClick {
|
|
|
|
|
router.pushController(CategoryController().withFadeTransaction())
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
intListPreference {
|
|
|
|
|
key = Keys.defaultCategory
|
|
|
|
|
titleRes = R.string.default_category
|
|
|
|
|
|
|
|
|
|
entries = arrayOf(context.getString(R.string.default_category_summary)) +
|
|
|
|
|
categories.map { it.name }.toTypedArray()
|
|
|
|
|
entryValues = arrayOf("-1") + categories.map { it.id.toString() }.toTypedArray()
|
|
|
|
|
defaultValue = "-1"
|
|
|
|
|
|
|
|
|
|
val selectedCategory = categories.find { it.id == preferences.defaultCategory() }
|
|
|
|
|
summary = selectedCategory?.name
|
|
|
|
|
?: context.getString(R.string.default_category_summary)
|
|
|
|
|
onChange { newValue ->
|
|
|
|
|
summary = categories.find {
|
|
|
|
|
it.id == (newValue as String).toInt()
|
|
|
|
|
}?.name ?: context.getString(R.string.default_category_summary)
|
|
|
|
|
true
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class LibraryColumnsDialog : DialogController() {
|
|
|
|
|