Move keyboard height & padding preferences into theme configuration

This commit is contained in:
Guanran Wang 2025-08-04 14:57:11 +08:00
parent ee94b83e2b
commit 1272167aca
No known key found for this signature in database
GPG Key ID: 91F97D9ED12639CF
4 changed files with 72 additions and 72 deletions

View File

@ -173,65 +173,7 @@ class AppPrefs(private val sharedPreferences: SharedPreferences) {
LangSwitchBehavior.Enumerate
) { showLangSwitchKey.getValue() }
val keyboardHeightPercent: ManagedPreference.PInt
val keyboardHeightPercentLandscape: ManagedPreference.PInt
init {
val (primary, secondary) = twinInt(
R.string.keyboard_height,
R.string.portrait,
"keyboard_height_percent",
30,
R.string.landscape,
"keyboard_height_percent_landscape",
49,
10,
90,
"%"
)
keyboardHeightPercent = primary
keyboardHeightPercentLandscape = secondary
}
val keyboardSidePadding: ManagedPreference.PInt
val keyboardSidePaddingLandscape: ManagedPreference.PInt
init {
val (primary, secondary) = twinInt(
R.string.keyboard_side_padding,
R.string.portrait,
"keyboard_side_padding",
0,
R.string.landscape,
"keyboard_side_padding_landscape",
0,
0,
300,
"dp"
)
keyboardSidePadding = primary
keyboardSidePaddingLandscape = secondary
}
val keyboardBottomPadding: ManagedPreference.PInt
val keyboardBottomPaddingLandscape: ManagedPreference.PInt
init {
val (primary, secondary) = twinInt(
R.string.keyboard_bottom_padding,
R.string.portrait,
"keyboard_bottom_padding",
0,
R.string.landscape,
"keyboard_bottom_padding_landscape",
0,
0,
100,
"dp"
)
keyboardBottomPadding = primary
keyboardBottomPaddingLandscape = secondary
}
val horizontalCandidateStyle = enumList(
R.string.horizontal_candidate_style,

View File

@ -86,6 +86,66 @@ class ThemePrefs(sharedPreferences: SharedPreferences) :
val clipboardEntryRadius =
int(R.string.clipboard_entry_radius, "clipboard_entry_radius", 2, 0, 48, "dp")
val keyboardHeightPercent: ManagedPreference.PInt
val keyboardHeightPercentLandscape: ManagedPreference.PInt
init {
val (primary, secondary) = twinInt(
R.string.keyboard_height,
R.string.portrait,
"keyboard_height_percent",
30,
R.string.landscape,
"keyboard_height_percent_landscape",
49,
10,
90,
"%"
)
keyboardHeightPercent = primary
keyboardHeightPercentLandscape = secondary
}
val keyboardSidePadding: ManagedPreference.PInt
val keyboardSidePaddingLandscape: ManagedPreference.PInt
init {
val (primary, secondary) = twinInt(
R.string.keyboard_side_padding,
R.string.portrait,
"keyboard_side_padding",
0,
R.string.landscape,
"keyboard_side_padding_landscape",
0,
0,
300,
"dp"
)
keyboardSidePadding = primary
keyboardSidePaddingLandscape = secondary
}
val keyboardBottomPadding: ManagedPreference.PInt
val keyboardBottomPaddingLandscape: ManagedPreference.PInt
init {
val (primary, secondary) = twinInt(
R.string.keyboard_bottom_padding,
R.string.portrait,
"keyboard_bottom_padding",
0,
R.string.landscape,
"keyboard_bottom_padding_landscape",
0,
0,
100,
"dp"
)
keyboardBottomPadding = primary
keyboardBottomPaddingLandscape = secondary
}
enum class PunctuationPosition(override val stringRes: Int) : ManagedPreferenceEnum {
None(R.string.punctuation_pos_none),
Bottom(R.string.punctuation_pos_bottom),

View File

@ -133,12 +133,12 @@ class InputView(
private val focusChangeResetKeyboard by keyboardPrefs.focusChangeResetKeyboard
private val keyboardHeightPercent = keyboardPrefs.keyboardHeightPercent
private val keyboardHeightPercentLandscape = keyboardPrefs.keyboardHeightPercentLandscape
private val keyboardSidePadding = keyboardPrefs.keyboardSidePadding
private val keyboardSidePaddingLandscape = keyboardPrefs.keyboardSidePaddingLandscape
private val keyboardBottomPadding = keyboardPrefs.keyboardBottomPadding
private val keyboardBottomPaddingLandscape = keyboardPrefs.keyboardBottomPaddingLandscape
private val keyboardHeightPercent = ThemeManager.prefs.keyboardHeightPercent
private val keyboardHeightPercentLandscape = ThemeManager.prefs.keyboardHeightPercentLandscape
private val keyboardSidePadding = ThemeManager.prefs.keyboardSidePadding
private val keyboardSidePaddingLandscape = ThemeManager.prefs.keyboardSidePaddingLandscape
private val keyboardBottomPadding = ThemeManager.prefs.keyboardBottomPadding
private val keyboardBottomPaddingLandscape = ThemeManager.prefs.keyboardBottomPaddingLandscape
private val keyboardSizePrefs = listOf(
keyboardHeightPercent,

View File

@ -16,7 +16,6 @@ import androidx.constraintlayout.widget.ConstraintLayout
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat
import androidx.core.view.updateLayoutParams
import org.fcitx.fcitx5.android.data.prefs.AppPrefs
import org.fcitx.fcitx5.android.data.prefs.ManagedPreference
import org.fcitx.fcitx5.android.data.theme.Theme
import org.fcitx.fcitx5.android.data.theme.ThemeManager
@ -47,13 +46,12 @@ class KeyboardPreviewUi(override val ctx: Context, val theme: Theme) : Ui {
var intrinsicHeight: Int = -1
private set
private val keyboardPrefs = AppPrefs.getInstance().keyboard
private val keyboardHeightPercent by keyboardPrefs.keyboardHeightPercent
private val keyboardHeightPercentLandscape by keyboardPrefs.keyboardHeightPercentLandscape
private val keyboardSidePadding by keyboardPrefs.keyboardSidePadding
private val keyboardSidePaddingLandscape by keyboardPrefs.keyboardSidePaddingLandscape
private val keyboardBottomPadding by keyboardPrefs.keyboardBottomPadding
private val keyboardBottomPaddingLandscape by keyboardPrefs.keyboardBottomPaddingLandscape
private val keyboardHeightPercent by ThemeManager.prefs.keyboardHeightPercent
private val keyboardHeightPercentLandscape by ThemeManager.prefs.keyboardHeightPercentLandscape
private val keyboardSidePadding by ThemeManager.prefs.keyboardSidePadding
private val keyboardSidePaddingLandscape by ThemeManager.prefs.keyboardSidePaddingLandscape
private val keyboardBottomPadding by ThemeManager.prefs.keyboardBottomPadding
private val keyboardBottomPaddingLandscape by ThemeManager.prefs.keyboardBottomPaddingLandscape
private val keyboardSidePaddingPx: Int
get() {