diff --git a/app/src/main/java/io/github/sspanak/tt9/preferences/screens/punctuation/PreferenceSentencePunctuationList.java b/app/src/main/java/io/github/sspanak/tt9/preferences/screens/punctuation/PreferenceSentencePunctuationList.java index 0c1ab689..aa22bb30 100644 --- a/app/src/main/java/io/github/sspanak/tt9/preferences/screens/punctuation/PreferenceSentencePunctuationList.java +++ b/app/src/main/java/io/github/sspanak/tt9/preferences/screens/punctuation/PreferenceSentencePunctuationList.java @@ -25,7 +25,7 @@ public class PreferenceSentencePunctuationList extends AbstractPreferenceCharLis @NonNull @Override protected char[] getForbiddenChars() { - return SettingsStore.MANDATORY_SPECIAL_CHARS; + return SettingsStore.FORBIDDEN_SPECIAL_CHARS; } /** diff --git a/app/src/main/java/io/github/sspanak/tt9/preferences/screens/punctuation/PreferenceSpecialCharList.java b/app/src/main/java/io/github/sspanak/tt9/preferences/screens/punctuation/PreferenceSpecialCharList.java index 242b2597..d68fd45d 100644 --- a/app/src/main/java/io/github/sspanak/tt9/preferences/screens/punctuation/PreferenceSpecialCharList.java +++ b/app/src/main/java/io/github/sspanak/tt9/preferences/screens/punctuation/PreferenceSpecialCharList.java @@ -10,6 +10,7 @@ import io.github.sspanak.tt9.preferences.settings.SettingsStore; public class PreferenceSpecialCharList extends AbstractPreferenceCharList { public static final String NAME = "punctuation_order_special_chars"; + private char[] forbiddenChars; public PreferenceSpecialCharList(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); } public PreferenceSpecialCharList(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @@ -27,14 +28,24 @@ public class PreferenceSpecialCharList extends AbstractPreferenceCharList { @NonNull @Override protected char[] getForbiddenChars() { - return SettingsStore.MANDATORY_PUNCTUATION; + if (forbiddenChars == null) { + forbiddenChars = new char[SettingsStore.MANDATORY_PUNCTUATION.length + SettingsStore.FORBIDDEN_SPECIAL_CHARS.length]; + for (char i = 0; i < SettingsStore.MANDATORY_PUNCTUATION.length; i++) { + forbiddenChars[i] = SettingsStore.MANDATORY_PUNCTUATION[i]; + } + for (char i = 0; i < SettingsStore.FORBIDDEN_SPECIAL_CHARS.length; i++) { + forbiddenChars[i + SettingsStore.MANDATORY_PUNCTUATION.length] = SettingsStore.FORBIDDEN_SPECIAL_CHARS[i]; + } + } + + return forbiddenChars; } @NonNull @Override protected char[] getMandatoryChars() { - return SettingsStore.MANDATORY_SPECIAL_CHARS; + return new char[0]; } diff --git a/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsPunctuation.java b/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsPunctuation.java index 2b2999b0..e5845334 100644 --- a/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsPunctuation.java +++ b/app/src/main/java/io/github/sspanak/tt9/preferences/settings/SettingsPunctuation.java @@ -13,7 +13,7 @@ class SettingsPunctuation extends SettingsInput { private final static String KEY_PREFIX_PUNCTUATION = "pref_punctuation_"; private final static String KEY_PREFIX_SPECIAL = "pref_special_chars_"; public final static char[] MANDATORY_PUNCTUATION = new char[] {'\'', '"', '-'}; - public final static char[] MANDATORY_SPECIAL_CHARS = new char[] {' ', '\n'}; + public final static char[] FORBIDDEN_SPECIAL_CHARS = new char[] {' ', '\n', '\t'}; SettingsPunctuation(Context context) { diff --git a/app/src/main/res/values-bg/strings.xml b/app/src/main/res/values-bg/strings.xml index cfc1128d..7de27d59 100644 --- a/app/src/main/res/values-bg/strings.xml +++ b/app/src/main/res/values-bg/strings.xml @@ -197,7 +197,6 @@ Изтривай цели думи при задържане или плъзване на Backspace. (Не работи в някои приложения.) Ред на пунктуацията Изберете език - Интервал и нов ред ще бъдат автоматично добавени в началото на списъка. Липсва задължителен символ:%1$s Липсват задължителни символи:%1$s Неуспешно запазване на реда на знаците. diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 179c7a9a..9bed6b2d 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -185,7 +185,6 @@ Ganze Wörter löschen, indem Sie die Rücktaste gedrückt halten oder wischen. (Nicht in allen Apps unterstützt) Interpunktionsreihenfolge Sprache auswählen - Leer- und Zeilenumbruchzeichen werden automatisch am Anfang der Liste hinzugefügt. Fehlendes erforderliches Zeichen:%1$s Fehlende erforderliche Zeichen:%1$s Zeichenreihenfolge konnte nicht gespeichert werden. diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 9b7d6176..ca025619 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -196,7 +196,6 @@ Borrar palabras completas manteniendo pulsado o deslizando Retroceso. (No compatible con algunas aplicaciones) Orden de puntuación Seleccionar idioma - Los caracteres Espacio y Nueva línea se añadirán automáticamente al principio de la lista. Falta carácter obligatorio:%1$s Faltan caracteres obligatorios:%1$s Error al guardar el orden de los caracteres. diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 1c1178d0..7c41eb6d 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -194,7 +194,6 @@ Effacer des mots entiers en maintenant ou en glissant sur Retour arrière. (Non pris en charge dans certaines applications) Ordre de ponctuation Sélectionner la langue - Les caractères Espace et Retour à la ligne seront automatiquement ajoutés au début de la liste. Caractère obligatoire manquant :%1$s Caractères obligatoires manquants :%1$s Échec de l’enregistrement de l’ordre des caractères. diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index ab4fdbf9..18f15b21 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -183,7 +183,6 @@ Cancellare intere parole tenendo premuto o scorrendo Backspace. (Non supportato in alcune app) Ordine di punteggiatura Seleziona la lingua - I caratteri Spazio e Nuova linea verranno automaticamente aggiunti all\'inizio dell\'elenco. Carattere obbligatorio mancante:%1$s Caratteri obbligatori mancanti:%1$s Salvataggio dell’ordine dei caratteri non riuscito. diff --git a/app/src/main/res/values-iw/strings.xml b/app/src/main/res/values-iw/strings.xml index a399897c..ce7a6f35 100644 --- a/app/src/main/res/values-iw/strings.xml +++ b/app/src/main/res/values-iw/strings.xml @@ -197,7 +197,6 @@ למחוק מילים שלמות על ידי החזקת Backspace או החלקה עליו. (לא נתמך בחלק מהאפליקציות) סדר סימני פיסוק בחר שפה - תווי רווח ושורה חדשה יתווספו אוטומטית בתחילת הרשימה. תו חובה חסר: %1$s תווי חובה חסרים:%1$s שמירת סדר התווים נכשלה. diff --git a/app/src/main/res/values-lt/strings.xml b/app/src/main/res/values-lt/strings.xml index 67ebe7be..0095df71 100644 --- a/app/src/main/res/values-lt/strings.xml +++ b/app/src/main/res/values-lt/strings.xml @@ -205,7 +205,6 @@ Ištrinti visus žodžius laikant arba perbraukiant Backspace. (Nepalaikoma kai kuriose programėlėse) Skyrybos ženklų tvarka Pasirinkite kalbą - Tarpas ir naujos eilutės simboliai bus automatiškai pridėti sąrašo pradžioje. Trūksta privalomo simbolio:%1$s Trūksta privalomų simbolių:%1$s Nepavyko išsaugoti simbolių tvarkos. diff --git a/app/src/main/res/values-nl/strings.xml b/app/src/main/res/values-nl/strings.xml index 2090d921..da9889d9 100644 --- a/app/src/main/res/values-nl/strings.xml +++ b/app/src/main/res/values-nl/strings.xml @@ -185,7 +185,6 @@ Hele woorden wissen door Backspace ingedrukt te houden of te vegen. (Niet ondersteund in sommige apps) Interpunctievolgorde Selecteer taal - Spatie- en nieuwe regeltekens worden automatisch aan het begin van de lijst toegevoegd. Ontbrekend verplicht teken:%1$s Ontbrekende verplichte tekens:%1$s Opslaan van de tekenvolgorde mislukt. diff --git a/app/src/main/res/values-pt-rBR/strings.xml b/app/src/main/res/values-pt-rBR/strings.xml index 021ec51c..5a34f7ed 100644 --- a/app/src/main/res/values-pt-rBR/strings.xml +++ b/app/src/main/res/values-pt-rBR/strings.xml @@ -198,7 +198,6 @@ Apagar palavras inteiras mantendo pressionado ou deslizando o Backspace. (Não suportado em alguns aplicativos) Ordem de pontuação Selecione o idioma - Os caracteres de Espaço e Nova linha serão automaticamente adicionados no início da lista. Caractere obrigatório ausente:%1$s Caracteres obrigatórios ausentes:%1$s Falha ao salvar a ordem dos caracteres. diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index eec6cf35..c3b1938e 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -196,7 +196,6 @@ Стереть целые слова, удерживая или проведя по клавише Backspace. (Не поддерживается в некоторых приложениях) Порядок пунктуации Выберите язык - Пробел и символ новой строки будут автоматически добавлены в начало списка. Отсутствует обязательный символ:%1$s Отсутствуют обязательные символы:%1$s е удалось сохранить порядок символов. diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index dfbb7a6d..0f8d4a89 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -198,7 +198,6 @@ Geri tuşunu basılı tutarak veya kaydırarak tüm kelimeleri sil. (Bazı uygulamalarda desteklenmez) Noktalama sırası Dil Seçin - Boşluk ve Yeni Satır karakterleri listenin başına otomatik olarak eklenecektir. Zorunlu karakter eksik:%1$s Zorunlu karakterler eksik:%1$s Karakter sırası kaydedilemedi. diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index abd2b3b1..3c89d9ec 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -207,7 +207,6 @@ Видалити цілі слова, утримуючи або провівши клавішею Backspace. (Не підтримується в деяких додатках) Порядок пунктуації Виберіть мову - Пробіл і символ нового рядка буде автоматично додано на початок списку. Відсутній обов’язковий символ:%1$s Відсутні обов’язкові символи:%1$s Не вдалося зберегти порядок символів. diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index f4fbc165..ac80b93c 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -205,7 +205,6 @@ Select Language - Space and Newline characters will be automatically added at the beginning of the list. Missing mandatory character:%1$s Missing mandatory characters:%1$s Forbidden character:%1$s diff --git a/app/src/main/res/xml/prefs_screen_punctuation.xml b/app/src/main/res/xml/prefs_screen_punctuation.xml index accf208c..80fffc9f 100644 --- a/app/src/main/res/xml/prefs_screen_punctuation.xml +++ b/app/src/main/res/xml/prefs_screen_punctuation.xml @@ -11,8 +11,7 @@ + android:title="@string/punctuation_order_special"/>