diff --git a/app/src/main/java/io/github/sspanak/tt9/preferences/screens/appearance/AppearanceScreen.java b/app/src/main/java/io/github/sspanak/tt9/preferences/screens/appearance/AppearanceScreen.java index 9319372b..2eb4ef13 100644 --- a/app/src/main/java/io/github/sspanak/tt9/preferences/screens/appearance/AppearanceScreen.java +++ b/app/src/main/java/io/github/sspanak/tt9/preferences/screens/appearance/AppearanceScreen.java @@ -31,15 +31,18 @@ public class AppearanceScreen extends BaseScreenFragment { ItemNumpadShape numpadShape = new ItemNumpadShape(findPreference(ItemNumpadShape.NAME), activity.getSettings()); ItemShowArrows showArrows = new ItemShowArrows(findPreference(ItemShowArrows.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) .addOnChangeItem(alignment) .addOnChangeItem(fnKeyWidth) .addOnChangeItem(keyboardWidth) + .addOnChangeItem(numpadKeyFontSize) .addOnChangeItem(numpadKeyHeight) .addOnChangeItem(numpadShape) .addOnChangeItem(showArrows); + ItemDropDown[] items = { new ItemSelectTheme(findPreference(ItemSelectTheme.NAME), activity), new ItemSelectSettingsFontSize(findPreference(ItemSelectSettingsFontSize.NAME), this), @@ -48,7 +51,8 @@ public class AppearanceScreen extends BaseScreenFragment { alignment, keyboardWidth, numpadShape, - fnKeyWidth + fnKeyWidth, + numpadKeyFontSize }; for (ItemDropDown item : items) { diff --git a/app/src/main/java/io/github/sspanak/tt9/preferences/screens/appearance/ItemNumpadKeyFontSize.java b/app/src/main/java/io/github/sspanak/tt9/preferences/screens/appearance/ItemNumpadKeyFontSize.java new file mode 100644 index 00000000..69cff7a8 --- /dev/null +++ b/app/src/main/java/io/github/sspanak/tt9/preferences/screens/appearance/ItemNumpadKeyFontSize.java @@ -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 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); + } + } +} diff --git a/app/src/main/java/io/github/sspanak/tt9/preferences/screens/appearance/ItemWidth.java b/app/src/main/java/io/github/sspanak/tt9/preferences/screens/appearance/ItemWidth.java index b99de8fc..a24e8149 100644 --- a/app/src/main/java/io/github/sspanak/tt9/preferences/screens/appearance/ItemWidth.java +++ b/app/src/main/java/io/github/sspanak/tt9/preferences/screens/appearance/ItemWidth.java @@ -29,7 +29,7 @@ public class ItemWidth extends ItemDropDown implements ItemLayoutChangeReactive currentValue = Math.round(currentValue / 5f) * 5f; currentValue = Math.max(Math.min(currentValue, 100f), 50f); - super.setValue((int) currentValue + ""); + super.setValue(String.valueOf((int) currentValue)); onLayoutChange(settings.getMainViewLayout()); return this; diff --git a/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsUI.java b/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsUI.java index 4933460a..66e11a51 100644 --- a/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsUI.java +++ b/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsUI.java @@ -106,6 +106,10 @@ public class SettingsUI extends SettingsTyping { return getStringifiedFloat("pref_numpad_fn_key_width", getNumpadFnKeyDefaultScale()); } + public int getNumpadKeyFontSizePercent() { + return isMainLayoutNumpad() ? getStringifiedInt("pref_numpad_key_font_size", 100) : 100; + } + public int getNumpadShape() { return getStringifiedInt("pref_numpad_shape", NUMPAD_SHAPE_SQUARE); } diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/BaseSoftKeyWithIcons.java b/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/BaseSoftKeyWithIcons.java index 0da40475..5881cdb6 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/BaseSoftKeyWithIcons.java +++ b/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/BaseSoftKeyWithIcons.java @@ -47,7 +47,8 @@ public class BaseSoftKeyWithIcons extends SoftKey { protected float getCentralIconScale() { float keyboardSizeScale = Math.max(0.7f, Math.min(getTT9Width(), getTT9Height())); 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; } diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKey.java b/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKey.java index 01c9a121..407982a8 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKey.java +++ b/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKey.java @@ -138,7 +138,8 @@ public class SoftKey extends BaseClickableKey { protected float getTitleScale() { float keyboardSizeScale = Math.max(0.7f, Math.min(getTT9Width(), getTT9Height())); 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() { 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; } diff --git a/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKeyBackspace.java b/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKeyBackspace.java index 2744f313..6a75bf1a 100644 --- a/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKeyBackspace.java +++ b/app/src/main/java/io/github/sspanak/tt9/ui/main/keys/SoftKeyBackspace.java @@ -144,7 +144,8 @@ public class SoftKeyBackspace extends BaseSwipeableKey { @Override protected float getTitleScale() { 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; } diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index 8eb709aa..8e13d836 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -143,6 +143,7 @@ Експортиране на CSV… Експортиране на CSV (%1$s)… Екранна подредба + Размер на шрифта на клавишите Височина Ширина на клавишите с букви Размер на шрифта в настройките diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 88a5e39a..500283e3 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -131,6 +131,7 @@ Layout auf dem Bildschirm Wörterbuchbenachrichtigungen Benachrichtigen über Wörterbuchaktualisierungen und den Ladevorgang. + Schriftgröße der Tasten Höhe Breite der Buchstabentasten Schriftgröße der Einstellungen diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 45ff6ac5..dfbba4b5 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -143,6 +143,7 @@ Exportando CSV… Exportando CSV (%1$s)… Distribución del teclado en pantalla + Tamaño de fuente de las teclas Altura Anchura de las teclas de letras Tamaño de fuente de configuración diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 44abe83c..f6f0f6b2 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -141,6 +141,7 @@ Exportation CSV en cours… Exportation CSV en cours (%1$s)… Disposition à l\'écran + Taille de la police des touches Hauteur Largeur des touches de lettres Taille de la police des paramètres diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 264f1d5b..b2d6220e 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -132,6 +132,7 @@ Layout sullo schermo Notifiche del dizionario Ricevere notifiche sugli aggiornamenti del dizionario e sul progresso del caricamento. + Dimensione del carattere dei tasti Altezza Larghezza dei tasti lettera Dimensione del carattere delle impostazioni diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index 082d7311..e57b834d 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -144,6 +144,7 @@ תצורת המקלדת על המסך התראות מילון לקבל התראות על עדכוני המילון ועל התקדמות הטעינה. + גודל גופן המקשים גובה רוחב מקשי האותיות גודל הגופן בהגדרות diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index a1155fec..c3dc006e 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -152,6 +152,7 @@ Paaukoti Jei jums patinka %1$s, galite pavaišinti mane alumi čia: %2$s. Klaviatūros išdėstymas ekrane + Klavišų šrifto dydis Aukštis Raidžių klavišų plotis Nustatymų šrifto dydis diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 7c8ef7a2..91e3e34b 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -131,6 +131,7 @@ Indeling op het scherm Woordenboekmeldingen Ontvang meldingen over woordenboekupdates en de voortgang van het laden. + Lettergrootte van toetsen Hoogte Breedte van lettertoetsen Instellingen lettergrootte diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index d004669a..a851fcc6 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -144,6 +144,7 @@ Layout na tela Notificações do dicionário Receber notificações sobre atualizações do dicionário e sobre o progresso do carregamento. + Tamanho da fonte das teclas Altura Largura das teclas de letras Tamanho da fonte das configurações diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 9d04874d..0b0e78b1 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -143,6 +143,7 @@ Экспорт CSV… Экспорт CSV (%1$s)… Экранная раскладка + Размер шрифта клавиш Высота Ширина буквенных клавиш Размер шрифта в настройках diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 350ff80d..6a74ae50 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -130,6 +130,7 @@ Ekran Düzeni Sözlük Bildirimleri Sözlük güncelleme ve yüklemeleri hakkında bildirimde bulunun. + Tuş yazı tipi boyutu Yükseklik Harf tuşlarının genişliği Yazı tipi boyutunu ayarla diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index e973f951..e26e2600 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -154,6 +154,7 @@ Експорт CSV… Експорт CSV (%1$s)… Екранна розкладка + Розмір шрифту клавіш Висота Ширина літерних клавіш Розмір шрифту у налаштуваннях diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 0bf57a87..eda20053 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -85,6 +85,7 @@ Invisible Suggestion list only Alignment + Key Font Size Height Shape Square diff --git a/app/src/main/res/xml/prefs_screen_appearance.xml b/app/src/main/res/xml/prefs_screen_appearance.xml index 03408013..4008257c 100644 --- a/app/src/main/res/xml/prefs_screen_appearance.xml +++ b/app/src/main/res/xml/prefs_screen_appearance.xml @@ -31,6 +31,10 @@ app:key="pref_numpad_key_height" app:title="@string/pref_numpad_key_height" /> + +