1
0
Fork 0

added a setting for controlling the numpad key font size

This commit is contained in:
sspanak 2025-02-03 11:47:59 +02:00 committed by Dimo Karaivanov
parent 3f69ba4e3b
commit 2df9071ce7
21 changed files with 74 additions and 6 deletions

View file

@ -31,15 +31,18 @@ public class AppearanceScreen extends BaseScreenFragment {
ItemNumpadShape numpadShape = new ItemNumpadShape(findPreference(ItemNumpadShape.NAME), activity.getSettings()); ItemNumpadShape numpadShape = new ItemNumpadShape(findPreference(ItemNumpadShape.NAME), activity.getSettings());
ItemShowArrows showArrows = new ItemShowArrows(findPreference(ItemShowArrows.NAME), activity.getSettings()); ItemShowArrows showArrows = new ItemShowArrows(findPreference(ItemShowArrows.NAME), activity.getSettings());
ItemNumpadFnKeyScale fnKeyWidth = new ItemNumpadFnKeyScale(findPreference(ItemNumpadFnKeyScale.NAME), activity.getSettings()); ItemNumpadFnKeyScale fnKeyWidth = new ItemNumpadFnKeyScale(findPreference(ItemNumpadFnKeyScale.NAME), activity.getSettings());
ItemNumpadKeyFontSize numpadKeyFontSize = new ItemNumpadKeyFontSize(findPreference(ItemNumpadKeyFontSize.NAME), activity.getSettings());
ItemSelectLayoutType selectLayout = new ItemSelectLayoutType(findPreference(ItemSelectLayoutType.NAME), activity) ItemSelectLayoutType selectLayout = new ItemSelectLayoutType(findPreference(ItemSelectLayoutType.NAME), activity)
.addOnChangeItem(alignment) .addOnChangeItem(alignment)
.addOnChangeItem(fnKeyWidth) .addOnChangeItem(fnKeyWidth)
.addOnChangeItem(keyboardWidth) .addOnChangeItem(keyboardWidth)
.addOnChangeItem(numpadKeyFontSize)
.addOnChangeItem(numpadKeyHeight) .addOnChangeItem(numpadKeyHeight)
.addOnChangeItem(numpadShape) .addOnChangeItem(numpadShape)
.addOnChangeItem(showArrows); .addOnChangeItem(showArrows);
ItemDropDown[] items = { ItemDropDown[] items = {
new ItemSelectTheme(findPreference(ItemSelectTheme.NAME), activity), new ItemSelectTheme(findPreference(ItemSelectTheme.NAME), activity),
new ItemSelectSettingsFontSize(findPreference(ItemSelectSettingsFontSize.NAME), this), new ItemSelectSettingsFontSize(findPreference(ItemSelectSettingsFontSize.NAME), this),
@ -48,7 +51,8 @@ public class AppearanceScreen extends BaseScreenFragment {
alignment, alignment,
keyboardWidth, keyboardWidth,
numpadShape, numpadShape,
fnKeyWidth fnKeyWidth,
numpadKeyFontSize
}; };
for (ItemDropDown item : items) { for (ItemDropDown item : items) {

View file

@ -0,0 +1,39 @@
package io.github.sspanak.tt9.preferences.screens.appearance;
import androidx.preference.DropDownPreference;
import java.util.LinkedHashMap;
import io.github.sspanak.tt9.preferences.items.ItemDropDown;
import io.github.sspanak.tt9.preferences.settings.SettingsStore;
public class ItemNumpadKeyFontSize extends ItemDropDown implements ItemLayoutChangeReactive{
public static final String NAME = "pref_numpad_key_font_size";
private final SettingsStore settings;
public ItemNumpadKeyFontSize(DropDownPreference item, SettingsStore settings) {
super(item);
this.settings = settings;
}
@Override
public ItemDropDown populate() {
LinkedHashMap<Integer, String> options = new LinkedHashMap<>();
for (int i = 80; i <= 130; i += 5) {
options.put(i, i + " ");
}
super.populateIntegers(options);
super.setValue(String.valueOf(settings.getNumpadKeyFontSizePercent()));
onLayoutChange(settings.getMainViewLayout());
return this;
}
public void onLayoutChange(int mainViewLayout) {
if (item != null) {
item.setVisible(mainViewLayout == SettingsStore.LAYOUT_NUMPAD);
item.setIconSpaceReserved(false);
}
}
}

View file

@ -29,7 +29,7 @@ public class ItemWidth extends ItemDropDown implements ItemLayoutChangeReactive
currentValue = Math.round(currentValue / 5f) * 5f; currentValue = Math.round(currentValue / 5f) * 5f;
currentValue = Math.max(Math.min(currentValue, 100f), 50f); currentValue = Math.max(Math.min(currentValue, 100f), 50f);
super.setValue((int) currentValue + ""); super.setValue(String.valueOf((int) currentValue));
onLayoutChange(settings.getMainViewLayout()); onLayoutChange(settings.getMainViewLayout());
return this; return this;

View file

@ -106,6 +106,10 @@ public class SettingsUI extends SettingsTyping {
return getStringifiedFloat("pref_numpad_fn_key_width", getNumpadFnKeyDefaultScale()); return getStringifiedFloat("pref_numpad_fn_key_width", getNumpadFnKeyDefaultScale());
} }
public int getNumpadKeyFontSizePercent() {
return isMainLayoutNumpad() ? getStringifiedInt("pref_numpad_key_font_size", 100) : 100;
}
public int getNumpadShape() { public int getNumpadShape() {
return getStringifiedInt("pref_numpad_shape", NUMPAD_SHAPE_SQUARE); return getStringifiedInt("pref_numpad_shape", NUMPAD_SHAPE_SQUARE);
} }

View file

@ -47,7 +47,8 @@ public class BaseSoftKeyWithIcons extends SoftKey {
protected float getCentralIconScale() { protected float getCentralIconScale() {
float keyboardSizeScale = Math.max(0.7f, Math.min(getTT9Width(), getTT9Height())); float keyboardSizeScale = Math.max(0.7f, Math.min(getTT9Width(), getTT9Height()));
keyboardSizeScale = Math.min(1.15f, keyboardSizeScale); keyboardSizeScale = Math.min(1.15f, keyboardSizeScale);
return keyboardSizeScale * Math.min(getScreenScaleX(), getScreenScaleY()); float settingsScale = tt9 != null ? tt9.getSettings().getNumpadKeyFontSizePercent() / 100f : 1;
return keyboardSizeScale * Math.min(getScreenScaleX(), getScreenScaleY()) * settingsScale;
} }

View file

@ -138,7 +138,8 @@ public class SoftKey extends BaseClickableKey {
protected float getTitleScale() { protected float getTitleScale() {
float keyboardSizeScale = Math.max(0.7f, Math.min(getTT9Width(), getTT9Height())); float keyboardSizeScale = Math.max(0.7f, Math.min(getTT9Width(), getTT9Height()));
float screenSizeScale = Math.min(getScreenScaleX(), getScreenScaleY()); float screenSizeScale = Math.min(getScreenScaleX(), getScreenScaleY());
return keyboardSizeScale * screenSizeScale; float settingsScale = tt9 != null ? tt9.getSettings().getNumpadKeyFontSizePercent() / 100f : 1;
return keyboardSizeScale * screenSizeScale * settingsScale;
} }
@ -155,7 +156,8 @@ public class SoftKey extends BaseClickableKey {
*/ */
protected float getHoldElementScale() { protected float getHoldElementScale() {
float keyboardSizeScale = Math.min(1, Math.max(getTT9Width(), getTT9Height())); float keyboardSizeScale = Math.min(1, Math.max(getTT9Width(), getTT9Height()));
return keyboardSizeScale * Math.min(getScreenScaleX(), getScreenScaleY()); float settingsScale = tt9 != null ? tt9.getSettings().getNumpadKeyFontSizePercent() / 100f : 1;
return keyboardSizeScale * Math.min(getScreenScaleX(), getScreenScaleY()) * settingsScale;
} }

View file

@ -144,7 +144,8 @@ public class SoftKeyBackspace extends BaseSwipeableKey {
@Override @Override
protected float getTitleScale() { protected float getTitleScale() {
float scale = tt9 != null && tt9.getSettings().isMainLayoutNumpad() ? super.getTitleScale() : 1; float scale = tt9 != null && tt9.getSettings().isMainLayoutNumpad() ? super.getTitleScale() : 1;
return scale * 1.1f; float settingsScale = tt9 != null ? tt9.getSettings().getNumpadKeyFontSizePercent() / 100f : 1;
return scale * settingsScale * 1.1f;
} }

View file

@ -143,6 +143,7 @@
<string name="dictionary_export_generating_csv">Експортиране на CSV…</string> <string name="dictionary_export_generating_csv">Експортиране на CSV…</string>
<string name="dictionary_export_generating_csv_for_language">Експортиране на CSV (%1$s)…</string> <string name="dictionary_export_generating_csv_for_language">Експортиране на CSV (%1$s)…</string>
<string name="pref_layout">Екранна подредба</string> <string name="pref_layout">Екранна подредба</string>
<string name="pref_numpad_key_font_size">Размер на шрифта на клавишите</string>
<string name="pref_numpad_key_height">Височина</string> <string name="pref_numpad_key_height">Височина</string>
<string name="pref_numpad_fn_key_width">Ширина на клавишите с букви</string> <string name="pref_numpad_fn_key_width">Ширина на клавишите с букви</string>
<string name="pref_font_size">Размер на шрифта в настройките</string> <string name="pref_font_size">Размер на шрифта в настройките</string>

View file

@ -131,6 +131,7 @@
<string name="pref_layout">Layout auf dem Bildschirm</string> <string name="pref_layout">Layout auf dem Bildschirm</string>
<string name="dictionary_no_notifications">Wörterbuchbenachrichtigungen</string> <string name="dictionary_no_notifications">Wörterbuchbenachrichtigungen</string>
<string name="dictionary_no_notifications_summary">Benachrichtigen über Wörterbuchaktualisierungen und den Ladevorgang.</string> <string name="dictionary_no_notifications_summary">Benachrichtigen über Wörterbuchaktualisierungen und den Ladevorgang.</string>
<string name="pref_numpad_key_font_size">Schriftgröße der Tasten</string>
<string name="pref_numpad_key_height">Höhe</string> <string name="pref_numpad_key_height">Höhe</string>
<string name="pref_numpad_fn_key_width">Breite der Buchstabentasten</string> <string name="pref_numpad_fn_key_width">Breite der Buchstabentasten</string>
<string name="pref_font_size">Schriftgröße der Einstellungen</string> <string name="pref_font_size">Schriftgröße der Einstellungen</string>

View file

@ -143,6 +143,7 @@
<string name="dictionary_export_generating_csv">Exportando CSV…</string> <string name="dictionary_export_generating_csv">Exportando CSV…</string>
<string name="dictionary_export_generating_csv_for_language">Exportando CSV (%1$s)…</string> <string name="dictionary_export_generating_csv_for_language">Exportando CSV (%1$s)…</string>
<string name="pref_layout">Distribución del teclado en pantalla</string> <string name="pref_layout">Distribución del teclado en pantalla</string>
<string name="pref_numpad_key_font_size">Tamaño de fuente de las teclas</string>
<string name="pref_numpad_key_height">Altura</string> <string name="pref_numpad_key_height">Altura</string>
<string name="pref_numpad_fn_key_width">Anchura de las teclas de letras</string> <string name="pref_numpad_fn_key_width">Anchura de las teclas de letras</string>
<string name="pref_font_size">Tamaño de fuente de configuración</string> <string name="pref_font_size">Tamaño de fuente de configuración</string>

View file

@ -141,6 +141,7 @@
<string name="dictionary_export_generating_csv">Exportation CSV en cours…</string> <string name="dictionary_export_generating_csv">Exportation CSV en cours…</string>
<string name="dictionary_export_generating_csv_for_language">Exportation CSV en cours (%1$s)…</string> <string name="dictionary_export_generating_csv_for_language">Exportation CSV en cours (%1$s)…</string>
<string name="pref_layout">Disposition à l\'écran</string> <string name="pref_layout">Disposition à l\'écran</string>
<string name="pref_numpad_key_font_size">Taille de la police des touches</string>
<string name="pref_numpad_key_height">Hauteur</string> <string name="pref_numpad_key_height">Hauteur</string>
<string name="pref_numpad_fn_key_width">Largeur des touches de lettres</string> <string name="pref_numpad_fn_key_width">Largeur des touches de lettres</string>
<string name="pref_font_size">Taille de la police des paramètres</string> <string name="pref_font_size">Taille de la police des paramètres</string>

View file

@ -132,6 +132,7 @@
<string name="pref_layout">Layout sullo schermo</string> <string name="pref_layout">Layout sullo schermo</string>
<string name="dictionary_no_notifications">Notifiche del dizionario</string> <string name="dictionary_no_notifications">Notifiche del dizionario</string>
<string name="dictionary_no_notifications_summary">Ricevere notifiche sugli aggiornamenti del dizionario e sul progresso del caricamento.</string> <string name="dictionary_no_notifications_summary">Ricevere notifiche sugli aggiornamenti del dizionario e sul progresso del caricamento.</string>
<string name="pref_numpad_key_font_size">Dimensione del carattere dei tasti</string>
<string name="pref_numpad_key_height">Altezza</string> <string name="pref_numpad_key_height">Altezza</string>
<string name="pref_numpad_fn_key_width">Larghezza dei tasti lettera</string> <string name="pref_numpad_fn_key_width">Larghezza dei tasti lettera</string>
<string name="pref_font_size">Dimensione del carattere delle impostazioni</string> <string name="pref_font_size">Dimensione del carattere delle impostazioni</string>

View file

@ -144,6 +144,7 @@
<string name="pref_layout">תצורת המקלדת על המסך</string> <string name="pref_layout">תצורת המקלדת על המסך</string>
<string name="dictionary_no_notifications">התראות מילון</string> <string name="dictionary_no_notifications">התראות מילון</string>
<string name="dictionary_no_notifications_summary">לקבל התראות על עדכוני המילון ועל התקדמות הטעינה.</string> <string name="dictionary_no_notifications_summary">לקבל התראות על עדכוני המילון ועל התקדמות הטעינה.</string>
<string name="pref_numpad_key_font_size">גודל גופן המקשים</string>
<string name="pref_numpad_key_height">גובה</string> <string name="pref_numpad_key_height">גובה</string>
<string name="pref_numpad_fn_key_width">רוחב מקשי האותיות</string> <string name="pref_numpad_fn_key_width">רוחב מקשי האותיות</string>
<string name="pref_font_size">גודל הגופן בהגדרות</string> <string name="pref_font_size">גודל הגופן בהגדרות</string>

View file

@ -152,6 +152,7 @@
<string name="donate_title">Paaukoti</string> <string name="donate_title">Paaukoti</string>
<string name="donate_summary">Jei jums patinka %1$s, galite pavaišinti mane alumi čia: %2$s.</string> <string name="donate_summary">Jei jums patinka %1$s, galite pavaišinti mane alumi čia: %2$s.</string>
<string name="pref_layout">Klaviatūros išdėstymas ekrane</string> <string name="pref_layout">Klaviatūros išdėstymas ekrane</string>
<string name="pref_numpad_key_font_size">Klavišų šrifto dydis</string>
<string name="pref_numpad_key_height">Aukštis</string> <string name="pref_numpad_key_height">Aukštis</string>
<string name="pref_numpad_fn_key_width">Raidžių klavišų plotis</string> <string name="pref_numpad_fn_key_width">Raidžių klavišų plotis</string>
<string name="pref_font_size">Nustatymų šrifto dydis</string> <string name="pref_font_size">Nustatymų šrifto dydis</string>

View file

@ -131,6 +131,7 @@
<string name="pref_layout">Indeling op het scherm</string> <string name="pref_layout">Indeling op het scherm</string>
<string name="dictionary_no_notifications">Woordenboekmeldingen</string> <string name="dictionary_no_notifications">Woordenboekmeldingen</string>
<string name="dictionary_no_notifications_summary">Ontvang meldingen over woordenboekupdates en de voortgang van het laden.</string> <string name="dictionary_no_notifications_summary">Ontvang meldingen over woordenboekupdates en de voortgang van het laden.</string>
<string name="pref_numpad_key_font_size">Lettergrootte van toetsen</string>
<string name="pref_numpad_key_height">Hoogte</string> <string name="pref_numpad_key_height">Hoogte</string>
<string name="pref_numpad_fn_key_width">Breedte van lettertoetsen</string> <string name="pref_numpad_fn_key_width">Breedte van lettertoetsen</string>
<string name="pref_font_size">Instellingen lettergrootte</string> <string name="pref_font_size">Instellingen lettergrootte</string>

View file

@ -144,6 +144,7 @@
<string name="pref_layout">Layout na tela</string> <string name="pref_layout">Layout na tela</string>
<string name="dictionary_no_notifications">Notificações do dicionário</string> <string name="dictionary_no_notifications">Notificações do dicionário</string>
<string name="dictionary_no_notifications_summary">Receber notificações sobre atualizações do dicionário e sobre o progresso do carregamento.</string> <string name="dictionary_no_notifications_summary">Receber notificações sobre atualizações do dicionário e sobre o progresso do carregamento.</string>
<string name="pref_numpad_key_font_size">Tamanho da fonte das teclas</string>
<string name="pref_numpad_key_height">Altura</string> <string name="pref_numpad_key_height">Altura</string>
<string name="pref_numpad_fn_key_width">Largura das teclas de letras</string> <string name="pref_numpad_fn_key_width">Largura das teclas de letras</string>
<string name="pref_font_size">Tamanho da fonte das configurações</string> <string name="pref_font_size">Tamanho da fonte das configurações</string>

View file

@ -143,6 +143,7 @@
<string name="dictionary_export_generating_csv">Экспорт CSV…</string> <string name="dictionary_export_generating_csv">Экспорт CSV…</string>
<string name="dictionary_export_generating_csv_for_language">Экспорт CSV (%1$s)…</string> <string name="dictionary_export_generating_csv_for_language">Экспорт CSV (%1$s)…</string>
<string name="pref_layout">Экранная раскладка</string> <string name="pref_layout">Экранная раскладка</string>
<string name="pref_numpad_key_font_size">Размер шрифта клавиш</string>
<string name="pref_numpad_key_height">Высота</string> <string name="pref_numpad_key_height">Высота</string>
<string name="pref_numpad_fn_key_width">Ширина буквенных клавиш</string> <string name="pref_numpad_fn_key_width">Ширина буквенных клавиш</string>
<string name="pref_font_size">Размер шрифта в настройках</string> <string name="pref_font_size">Размер шрифта в настройках</string>

View file

@ -130,6 +130,7 @@
<string name="pref_layout">Ekran Düzeni</string> <string name="pref_layout">Ekran Düzeni</string>
<string name="dictionary_no_notifications">Sözlük Bildirimleri</string> <string name="dictionary_no_notifications">Sözlük Bildirimleri</string>
<string name="dictionary_no_notifications_summary">Sözlük güncelleme ve yüklemeleri hakkında bildirimde bulunun.</string> <string name="dictionary_no_notifications_summary">Sözlük güncelleme ve yüklemeleri hakkında bildirimde bulunun.</string>
<string name="pref_numpad_key_font_size">Tuş yazı tipi boyutu</string>
<string name="pref_numpad_key_height">Yükseklik</string> <string name="pref_numpad_key_height">Yükseklik</string>
<string name="pref_numpad_fn_key_width">Harf tuşlarının genişliği</string> <string name="pref_numpad_fn_key_width">Harf tuşlarının genişliği</string>
<string name="pref_font_size">Yazı tipi boyutunu ayarla</string> <string name="pref_font_size">Yazı tipi boyutunu ayarla</string>

View file

@ -154,6 +154,7 @@
<string name="dictionary_export_generating_csv">Експорт CSV…</string> <string name="dictionary_export_generating_csv">Експорт CSV…</string>
<string name="dictionary_export_generating_csv_for_language">Експорт CSV (%1$s)…</string> <string name="dictionary_export_generating_csv_for_language">Експорт CSV (%1$s)…</string>
<string name="pref_layout">Екранна розкладка</string> <string name="pref_layout">Екранна розкладка</string>
<string name="pref_numpad_key_font_size">Розмір шрифту клавіш</string>
<string name="pref_numpad_key_height">Висота</string> <string name="pref_numpad_key_height">Висота</string>
<string name="pref_numpad_fn_key_width">Ширина літерних клавіш</string> <string name="pref_numpad_fn_key_width">Ширина літерних клавіш</string>
<string name="pref_font_size">Розмір шрифту у налаштуваннях</string> <string name="pref_font_size">Розмір шрифту у налаштуваннях</string>

View file

@ -85,6 +85,7 @@
<string name="pref_layout_stealth">Invisible</string> <string name="pref_layout_stealth">Invisible</string>
<string name="pref_layout_tray">Suggestion list only</string> <string name="pref_layout_tray">Suggestion list only</string>
<string name="pref_numpad_alignment">Alignment</string> <string name="pref_numpad_alignment">Alignment</string>
<string name="pref_numpad_key_font_size">Key Font Size</string>
<string name="pref_numpad_key_height">Height</string> <string name="pref_numpad_key_height">Height</string>
<string name="pref_numpad_shape">Shape</string> <string name="pref_numpad_shape">Shape</string>
<string name="pref_numpad_shape_square">Square</string> <string name="pref_numpad_shape_square">Square</string>

View file

@ -31,6 +31,10 @@
app:key="pref_numpad_key_height" app:key="pref_numpad_key_height"
app:title="@string/pref_numpad_key_height" /> app:title="@string/pref_numpad_key_height" />
<DropDownPreference
app:key="pref_numpad_key_font_size"
app:title="@string/pref_numpad_key_font_size" />
<DropDownPreference <DropDownPreference
app:key="pref_numpad_fn_key_width" app:key="pref_numpad_fn_key_width"
app:title="@string/pref_numpad_fn_key_width" /> app:title="@string/pref_numpad_fn_key_width" />