allow setting space bar color for no-border themes

This commit is contained in:
Helium314 2023-09-10 10:42:35 +02:00
parent 3a01d59ac6
commit 22a8f285d5
2 changed files with 14 additions and 14 deletions

View file

@ -103,13 +103,13 @@ class Colors (
// need to set color to background if key borders are disabled, or there will be ugly keys // need to set color to background if key borders are disabled, or there will be ugly keys
keyBackgroundFilter = backgroundFilter keyBackgroundFilter = backgroundFilter
functionalKeyBackgroundFilter = keyBackgroundFilter functionalKeyBackgroundFilter = keyBackgroundFilter
spaceBarFilter = keyBackgroundFilter spaceBarFilter = colorFilter(spaceBar)
backgroundStateList = stateList(brightenOrDarken(background, true), background) backgroundStateList = stateList(brightenOrDarken(background, true), background)
keyStateList = backgroundStateList keyStateList = backgroundStateList
functionalKeyStateList = backgroundStateList functionalKeyStateList = backgroundStateList
actionKeyStateList = if (themeStyle == KeyboardTheme.THEME_STYLE_HOLO) functionalKeyStateList actionKeyStateList = if (themeStyle == KeyboardTheme.THEME_STYLE_HOLO) functionalKeyStateList
else stateList(brightenOrDarken(accent, true), accent) else stateList(brightenOrDarken(accent, true), accent)
spaceBarStateList = adjustedBackgroundStateList spaceBarStateList = stateList(brightenOrDarken(spaceBar, true), spaceBar)
} }
keyTextFilter = colorFilter(keyText, BlendModeCompat.SRC_ATOP) keyTextFilter = colorFilter(keyText, BlendModeCompat.SRC_ATOP)
accentColorFilter = colorFilter(accent) accentColorFilter = colorFilter(accent)

View file

@ -164,33 +164,33 @@ class AppearanceSettingsFragment : SubScreenFragment() {
private fun adjustColors(dark: Boolean) { private fun adjustColors(dark: Boolean) {
val items = listOf( val items = listOf(
R.string.select_color_background, R.string.select_color_background,
R.string.select_color_key_background,
R.string.select_color_key, R.string.select_color_key,
R.string.select_color_key_hint, R.string.select_color_key_hint,
R.string.select_color_accent, R.string.select_color_accent,
R.string.select_color_key_background
).map { requireContext().getString(it) } ).map { requireContext().getString(it) }
val itemsArray = if (findPreference<TwoStatePreference>(Settings.PREF_THEME_KEY_BORDERS)!!.isChecked) items.toTypedArray()
else items.subList(0, 4).toTypedArray()
AlertDialog.Builder(requireContext()) AlertDialog.Builder(requireContext())
.setPositiveButton(android.R.string.ok, null) .setPositiveButton(android.R.string.ok, null)
.setTitle(R.string.select_color_to_adjust) .setTitle(R.string.select_color_to_adjust)
.setItems(itemsArray) { _, i -> .setItems(items.toTypedArray()) { _, i ->
val (pref, default) = val (pref, default) =
if (dark) if (dark)
when (i) { when (i) {
0 -> Settings.PREF_THEME_USER_DARK_COLOR_BACKGROUND to Color.DKGRAY 0 -> Settings.PREF_THEME_USER_DARK_COLOR_BACKGROUND to Color.DKGRAY
1 -> Settings.PREF_THEME_USER_DARK_COLOR_TEXT to Color.WHITE 1 -> Settings.PREF_THEME_USER_DARK_COLOR_KEYS to Color.LTGRAY
2 -> Settings.PREF_THEME_USER_DARK_COLOR_HINT_TEXT to Color.WHITE 2 -> Settings.PREF_THEME_USER_DARK_COLOR_TEXT to Color.WHITE
3 -> Settings.PREF_THEME_USER_DARK_COLOR_ACCENT to Color.BLUE 3 -> Settings.PREF_THEME_USER_DARK_COLOR_HINT_TEXT to Color.WHITE
else -> Settings.PREF_THEME_USER_DARK_COLOR_KEYS to Color.LTGRAY 4 -> Settings.PREF_THEME_USER_DARK_COLOR_ACCENT to Color.BLUE
else -> return@setItems
} }
else else
when (i) { when (i) {
0 -> Settings.PREF_THEME_USER_COLOR_BACKGROUND to Color.DKGRAY 0 -> Settings.PREF_THEME_USER_COLOR_BACKGROUND to Color.DKGRAY
1 -> Settings.PREF_THEME_USER_COLOR_TEXT to Color.WHITE 1 -> Settings.PREF_THEME_USER_COLOR_KEYS to Color.LTGRAY
2 -> Settings.PREF_THEME_USER_COLOR_HINT_TEXT to Color.WHITE 2 -> Settings.PREF_THEME_USER_COLOR_TEXT to Color.WHITE
3 -> Settings.PREF_THEME_USER_COLOR_ACCENT to Color.BLUE 3 -> Settings.PREF_THEME_USER_COLOR_HINT_TEXT to Color.WHITE
else -> Settings.PREF_THEME_USER_COLOR_KEYS to Color.LTGRAY 4 -> Settings.PREF_THEME_USER_COLOR_ACCENT to Color.BLUE
else -> return@setItems
} }
val d = ColorPickerDialog(requireContext(), items[i], sharedPreferences, pref, default) val d = ColorPickerDialog(requireContext(), items[i], sharedPreferences, pref, default)
d.show() d.show()