Moved Combo Settings into just controls instead of having its own submenu

This commit is contained in:
adas20 2025-08-03 13:07:56 -04:00
parent ec41b6c67d
commit 34c470ac24
2 changed files with 22 additions and 45 deletions

View File

@ -113,7 +113,6 @@ class Settings {
const val SECTION_CUSTOM_PORTRAIT = "Custom Portrait Layout"
const val SECTION_PERFORMANCE_OVERLAY = "Performance Overlay"
const val SECTION_STORAGE = "Storage"
const val SECTION_COMBO = "Combo Button"
const val KEY_BUTTON_A = "button_a"

View File

@ -106,7 +106,6 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
Settings.SECTION_CUSTOM_LANDSCAPE -> addCustomLandscapeSettings(sl)
Settings.SECTION_CUSTOM_PORTRAIT -> addCustomPortraitSettings(sl)
Settings.SECTION_PERFORMANCE_OVERLAY -> addPerformanceOverlaySettings(sl)
Settings.SECTION_COMBO -> addComboButtonSettings(sl)
else -> {
fragmentView.showToastMessage("Unimplemented menu", false)
return
@ -757,6 +756,26 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
private fun addControlsSettings(sl: ArrayList<SettingsItem>) {
settingsActivity.setToolbarTitle(settingsActivity.getString(R.string.preferences_controls))
val comboSetting = object : AbstractMultiStringSetting {
override var strings: MutableSet<String>
get() {
return Settings.comboSelection
}
set(values) {
for (item in values) {
Settings.comboSelection.add(item)
}
}
override val key = null
override val section = null
override val isRuntimeEditable = true
override val valueAsString get() = ""
override val defaultValue = ""
}
val buttons = settingsActivity.resources.getStringArray(R.array.n3dsButtons).take(10).toTypedArray()
sl.apply {
add(HeaderSetting(R.string.generic_buttons))
Settings.buttonKeys.forEachIndexed { i: Int, key: String ->
@ -808,48 +827,6 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
BooleanSetting.USE_ARTIC_BASE_CONTROLLER.defaultValue
)
)
add(
SubmenuSetting(
R.string.combo_key_options,
R.string.combo_key_description,
R.drawable.button_combo,
Settings.SECTION_COMBO
)
)
}
}
private fun addComboButtonSettings(sl: ArrayList<SettingsItem>) {
settingsActivity.setToolbarTitle(settingsActivity.getString(R.string.button_combo))
val comboSetting = object : AbstractMultiStringSetting {
override var strings: MutableSet<String>
get() {
return Settings.comboSelection
}
set(values) {
for (item in values) {
Settings.comboSelection.add(item)
}
}
override val key = null
override val section = null
override val isRuntimeEditable = true
override val valueAsString get() = ""
override val defaultValue = ""
}
val buttons = settingsActivity.resources.getStringArray(R.array.n3dsButtons).take(10).toTypedArray()
sl.apply {
add(
SwitchSetting(
BooleanSetting.ENABLE_COMBO_KEY,
R.string.combo_key_enable,
R.string.combo_key_submenu_description,
BooleanSetting.ENABLE_COMBO_KEY.key,
BooleanSetting.ENABLE_COMBO_KEY.defaultValue,
)
)
add(
StringMultiChoiceSetting(
comboSetting,
@ -860,9 +837,10 @@ class SettingsFragmentPresenter(private val fragmentView: SettingsFragmentView)
)
)
}
}
private fun getInputObject(key: String): AbstractStringSetting {
return object : AbstractStringSetting {
override var string: String