From e6012c55d481480c269f07a2596b5a9f2f78de14 Mon Sep 17 00:00:00 2001 From: Maxim Starikov Date: Wed, 10 Dec 2025 19:53:27 +0100 Subject: [PATCH 1/6] Disable autowrapping in editor --- .../com/maxistar/textpad/activities/EditorActivity.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/src/main/java/com/maxistar/textpad/activities/EditorActivity.java b/app/src/main/java/com/maxistar/textpad/activities/EditorActivity.java index 2898c49..17734fc 100644 --- a/app/src/main/java/com/maxistar/textpad/activities/EditorActivity.java +++ b/app/src/main/java/com/maxistar/textpad/activities/EditorActivity.java @@ -164,6 +164,7 @@ public void onCreate(Bundle savedInstanceState) { } mText = this.findViewById(R.id.editText1); mText.setBackgroundResource(android.R.color.transparent); + configureTextEditor(); editTextUndoRedo = new EditTextUndoRedo(mText, this); if (simpleScrolling()) { @@ -431,6 +432,12 @@ void applyPreferences() { applyColors(); } + private void configureTextEditor() { + mText.setHorizontallyScrolling(true); + mText.setHorizontalScrollBarEnabled(true); + mText.setMaxLines(Integer.MAX_VALUE); + } + private void applyFontFace() { mText.setInputType(InputType.TYPE_TEXT_FLAG_MULTI_LINE | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS | From 639d669b927c14f3dcc31bbb3aa7d2d33c535116 Mon Sep 17 00:00:00 2001 From: Maxim Starikov Date: Wed, 10 Dec 2025 20:00:06 +0100 Subject: [PATCH 2/6] Add autowrapping preference option --- .../com/maxistar/textpad/service/SettingsService.java | 8 ++++++++ app/src/main/res/values/strings.xml | 2 ++ app/src/main/res/xml/preferences.xml | 6 ++++++ 3 files changed, 16 insertions(+) diff --git a/app/src/main/java/com/maxistar/textpad/service/SettingsService.java b/app/src/main/java/com/maxistar/textpad/service/SettingsService.java index a2877e3..4637fcf 100644 --- a/app/src/main/java/com/maxistar/textpad/service/SettingsService.java +++ b/app/src/main/java/com/maxistar/textpad/service/SettingsService.java @@ -30,6 +30,8 @@ public class SettingsService { public static final String SETTING_ALTERNATIVE_FILE_ACCESS = "use_alternative_file_access"; public static final String SETTING_SHOW_LAST_EDITED_FILES = "show_last_edited_files"; + public static final String SETTING_AUTO_WRAPPING = "auto_wrapping"; + private static final String SETTING_USE_WAKE_LOCK = "use_wake_lock"; public static final String SETTING_USE_SIMPLE_SCROLLING = "use_simple_scrolling"; @@ -59,6 +61,7 @@ public class SettingsService { private boolean legacy_file_picker = false; private boolean alternative_file_access = true; private boolean auto_save_current_file = false; + private boolean auto_wrapping = true; private String file_encoding = ""; private String last_filename = ""; @@ -93,6 +96,7 @@ public void loadSettings(Context context) { useWakeLock = sharedPref.getBoolean(SETTING_USE_WAKE_LOCK, false); useSimpleScrolling = sharedPref.getBoolean(SETTING_USE_SIMPLE_SCROLLING, false); alternative_file_access = sharedPref.getBoolean(SETTING_ALTERNATIVE_FILE_ACCESS, true); + auto_wrapping = sharedPref.getBoolean(SETTING_AUTO_WRAPPING, true); last_filename = sharedPref.getString(SETTING_LAST_FILENAME, TPStrings.EMPTY); file_encoding = sharedPref.getString(SETTING_FILE_ENCODING, TPStrings.UTF_8); delimiters = sharedPref.getString(SETTING_DELIMITERS, TPStrings.EMPTY); @@ -281,4 +285,8 @@ public boolean useWakeLock() { public boolean isUseSimpleScrolling() { return this.useSimpleScrolling; } + + public boolean isAutoWrapping() { + return this.auto_wrapping; + } } diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 1c36982..8ddaeca 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -90,6 +90,8 @@ Autosaving Automatically save currently editing file when window is closed + Autowrapping + wrap the line if text too long Open other… diff --git a/app/src/main/res/xml/preferences.xml b/app/src/main/res/xml/preferences.xml index e69f260..c3d98f0 100644 --- a/app/src/main/res/xml/preferences.xml +++ b/app/src/main/res/xml/preferences.xml @@ -20,6 +20,12 @@ android:summary="@string/preferenceAutoSaveCurrentFileDescription" android:defaultValue="false" /> + + Date: Wed, 10 Dec 2025 20:04:46 +0100 Subject: [PATCH 3/6] connect autowrapping with settings --- .../java/com/maxistar/textpad/activities/EditorActivity.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/maxistar/textpad/activities/EditorActivity.java b/app/src/main/java/com/maxistar/textpad/activities/EditorActivity.java index ba40e8c..e5c1276 100644 --- a/app/src/main/java/com/maxistar/textpad/activities/EditorActivity.java +++ b/app/src/main/java/com/maxistar/textpad/activities/EditorActivity.java @@ -164,7 +164,9 @@ public void onCreate(Bundle savedInstanceState) { } mText = this.findViewById(R.id.editText1); mText.setBackgroundResource(android.R.color.transparent); - configureTextEditor(); + if (!settingsService.isAutoWrapping()) { + configureTextEditor(); + } editTextUndoRedo = new EditTextUndoRedo(mText, this); if (simpleScrolling()) { From 4787abd413f05cf199792e9d54863ad9b60a9f43 Mon Sep 17 00:00:00 2001 From: Max Starikov Date: Fri, 19 Dec 2025 14:50:30 +0100 Subject: [PATCH 4/6] translate feature --- app/src/main/res/values-ar/strings.xml | 4 +++- app/src/main/res/values-cn/strings.xml | 2 ++ app/src/main/res/values-de/strings.xml | 4 +++- app/src/main/res/values-es/strings.xml | 2 ++ app/src/main/res/values-fr/strings.xml | 4 +++- app/src/main/res/values-it/strings.xml | 2 ++ app/src/main/res/values-ja/strings.xml | 2 ++ app/src/main/res/values-pl/strings.xml | 2 ++ app/src/main/res/values-pt/strings.xml | 2 ++ app/src/main/res/values-ru/strings.xml | 2 ++ app/src/main/res/values-tr/strings.xml | 12 +++++++----- app/src/main/res/values-uk/strings.xml | 2 ++ scripts/package-lock.json | 16 ---------------- 13 files changed, 32 insertions(+), 24 deletions(-) diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml index 336581a..d36891b 100644 --- a/app/src/main/res/values-ar/strings.xml +++ b/app/src/main/res/values-ar/strings.xml @@ -88,6 +88,8 @@ إظهار آخر الملفات التي تم تحريرها في قائمة الخيارات الحفظ التلقائي حفظ ملف التحرير الحالي تلقائيًا عند إغلاق النافذة + التفاف السطر إذا كان النص طويلاً جدًا + الالتفاف التلقائي للأسطر فتح أخرى ... يشارك... مطبعة @@ -112,4 +114,4 @@ المتابعة في وضع القراءة فقط - \ No newline at end of file + diff --git a/app/src/main/res/values-cn/strings.xml b/app/src/main/res/values-cn/strings.xml index b3c153a..78e32c2 100644 --- a/app/src/main/res/values-cn/strings.xml +++ b/app/src/main/res/values-cn/strings.xml @@ -89,6 +89,8 @@ 在选项菜单中显示最后编辑的文件 自动保存 关闭窗口时自动保存当前正在编辑的文件 + 当文本过长时自动换行 + 自动换行 打开其他... 分享 打印 diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index 2db445d..25281e0 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -88,6 +88,8 @@ Zuletzt bearbeitete Dateien im Optionsmenü anzeigen Automatisches Speichern Speichern Sie die aktuell bearbeitete Datei automatisch, wenn das Fenster geschlossen wird + Zeile umbrechen, wenn der Text zu lang ist + Automatischer Zeilenumbruch Andere öffnen... Teilen... Drucken @@ -111,4 +113,4 @@ Im Nur-Lese-Modus fortfahren - \ No newline at end of file + diff --git a/app/src/main/res/values-es/strings.xml b/app/src/main/res/values-es/strings.xml index 484d793..39645f7 100644 --- a/app/src/main/res/values-es/strings.xml +++ b/app/src/main/res/values-es/strings.xml @@ -88,6 +88,8 @@ Mostrar los últimos archivos editados en el menú de opciones Guardado automático Guardar automáticamente el archivo de edición actual cuando se cierra la ventana + Ajustar la línea si el texto es demasiado largo + Ajuste automático de línea Abierto otro... Compartir... Imprimir diff --git a/app/src/main/res/values-fr/strings.xml b/app/src/main/res/values-fr/strings.xml index 71d0175..38c3712 100644 --- a/app/src/main/res/values-fr/strings.xml +++ b/app/src/main/res/values-fr/strings.xml @@ -88,6 +88,8 @@ Afficher les derniers fichiers modifiés dans le menu des options Sauvegarde automatique Enregistrer automatiquement le fichier en cours d\'édition lorsque la fenêtre est fermée + Retourner à la ligne si le texte est trop long + Retour automatique à la ligne Ouvrir d\'autres... Partager... Imprimer @@ -109,4 +111,4 @@ Continuer en lecture seule Corriger le défilement erratique Activez ceci si le texte saute de manière inattendue à la fin pendant le défilement - \ No newline at end of file + diff --git a/app/src/main/res/values-it/strings.xml b/app/src/main/res/values-it/strings.xml index 267ab47..94bfc5e 100644 --- a/app/src/main/res/values-it/strings.xml +++ b/app/src/main/res/values-it/strings.xml @@ -88,6 +88,8 @@ Mostra gli ultimi file modificati nel menu delle opzioni Salvataggio automatico Salva automaticamente il file attualmente in fase di modifica quando la finestra è chiusa + Vai a capo se il testo è troppo lungo + A capo automatico Apri altro… Condividi… Stampa diff --git a/app/src/main/res/values-ja/strings.xml b/app/src/main/res/values-ja/strings.xml index ed055bf..1dda443 100644 --- a/app/src/main/res/values-ja/strings.xml +++ b/app/src/main/res/values-ja/strings.xml @@ -88,6 +88,8 @@ オプションメニューに最後に編集したファイルを表示する 自動保存 ウィンドウを閉じたときに現在編集中のファイルを自動的に保存する + テキストが長い場合に自動で改行する + 自動改行 他を開く... 共有... 印刷する diff --git a/app/src/main/res/values-pl/strings.xml b/app/src/main/res/values-pl/strings.xml index 470f649..23158bc 100644 --- a/app/src/main/res/values-pl/strings.xml +++ b/app/src/main/res/values-pl/strings.xml @@ -88,6 +88,8 @@ Pokaż ostatnio edytowane pliki w menu opcji Autozapisywanie Automatycznie zapisuj aktualnie edytowany plik, gdy okno jest zamknięte + Zawijaj wiersz, jeśli tekst jest zbyt długi + Automatyczne zawijanie wierszy Otwórz inne… Udostępnij... Wydrukować diff --git a/app/src/main/res/values-pt/strings.xml b/app/src/main/res/values-pt/strings.xml index 990f170..5870d1c 100644 --- a/app/src/main/res/values-pt/strings.xml +++ b/app/src/main/res/values-pt/strings.xml @@ -88,6 +88,8 @@ Mostrar os últimos arquivos editados no menu de opções Salvamento automático Salva automaticamente o arquivo em edição atual quando a janela é fechada + Quebrar a linha se o texto for muito longo + Quebra automática de linha Abra outro... Compartilhar… Imprimir diff --git a/app/src/main/res/values-ru/strings.xml b/app/src/main/res/values-ru/strings.xml index 983e7e1..a1ebdec 100644 --- a/app/src/main/res/values-ru/strings.xml +++ b/app/src/main/res/values-ru/strings.xml @@ -88,6 +88,8 @@ Показывать последние отредактированные файлы в меню параметров Автосохранение Автоматически сохранять текущий редактируемый файл при закрытии окна + Переносить строку, если текст слишком длинный + Автоперенос строк Открыть другой... Поделиться... Распечатать diff --git a/app/src/main/res/values-tr/strings.xml b/app/src/main/res/values-tr/strings.xml index 61cde17..c7ca6df 100644 --- a/app/src/main/res/values-tr/strings.xml +++ b/app/src/main/res/values-tr/strings.xml @@ -86,10 +86,12 @@ Arama Sonucu Vurgu Rengi Son Düzenlenen Dosyaları Göster Seçenekler menüsünde son düzenlenen dosyaları göster - - Otomatik kaydetme - Pencere kapatıldığında, o anda düzenlenen dosyayı otomatik olarak kaydet - Diğer aç… + + Otomatik kaydetme + Pencere kapatıldığında, o anda düzenlenen dosyayı otomatik olarak kaydet + Metin çok uzunsa satırı kaydır + Otomatik satır kaydırma + Diğer aç… Paylaş… Yazdır @@ -112,4 +114,4 @@ Salt okunur olarak devam et - \ No newline at end of file + diff --git a/app/src/main/res/values-uk/strings.xml b/app/src/main/res/values-uk/strings.xml index f580eb0..f585fed 100644 --- a/app/src/main/res/values-uk/strings.xml +++ b/app/src/main/res/values-uk/strings.xml @@ -86,6 +86,8 @@ Показати останні змінені файли в меню параметрів Автозбереження Автоматично зберігати поточний файл після закриття вікна + Переносити рядок, якщо текст надто довгий + Автоперенесення рядків Відкрити інші… Поділитися… Роздрукувати diff --git a/scripts/package-lock.json b/scripts/package-lock.json index 7f0f1f3..7d001f2 100644 --- a/scripts/package-lock.json +++ b/scripts/package-lock.json @@ -3948,22 +3948,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/typescript": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", - "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", - "dev": true, - "license": "Apache-2.0", - "optional": true, - "peer": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, "node_modules/unbzip2-stream": { "version": "1.4.3", "resolved": "https://registry.npmjs.org/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz", From d3cbf29ea87e3536c0df50e713f65376ce66b422 Mon Sep 17 00:00:00 2001 From: Max Starikov Date: Fri, 19 Dec 2025 14:57:47 +0100 Subject: [PATCH 5/6] rename function to proper explain what it does --- .../com/maxistar/textpad/activities/EditorActivity.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/maxistar/textpad/activities/EditorActivity.java b/app/src/main/java/com/maxistar/textpad/activities/EditorActivity.java index e5c1276..675315c 100644 --- a/app/src/main/java/com/maxistar/textpad/activities/EditorActivity.java +++ b/app/src/main/java/com/maxistar/textpad/activities/EditorActivity.java @@ -37,7 +37,6 @@ import android.text.Spanned; import android.text.TextWatcher; import android.text.style.BackgroundColorSpan; -import android.util.Log; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; @@ -165,7 +164,7 @@ public void onCreate(Bundle savedInstanceState) { mText = this.findViewById(R.id.editText1); mText.setBackgroundResource(android.R.color.transparent); if (!settingsService.isAutoWrapping()) { - configureTextEditor(); + disableEditorAutowrapping(); } editTextUndoRedo = new EditTextUndoRedo(mText, this); @@ -434,9 +433,9 @@ void applyPreferences() { applyColors(); } - private void configureTextEditor() { + private void disableEditorAutowrapping() { mText.setHorizontallyScrolling(true); - mText.setHorizontalScrollBarEnabled(true); + //mText.setHorizontalScrollBarEnabled(true); mText.setMaxLines(Integer.MAX_VALUE); } From b87645973132742715b69f00df3defd4eb2c7841 Mon Sep 17 00:00:00 2001 From: Max Starikov Date: Fri, 19 Dec 2025 14:58:24 +0100 Subject: [PATCH 6/6] rename function to proper explain what it does --- .../java/com/maxistar/textpad/activities/EditorActivity.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/maxistar/textpad/activities/EditorActivity.java b/app/src/main/java/com/maxistar/textpad/activities/EditorActivity.java index 675315c..09a2e9b 100644 --- a/app/src/main/java/com/maxistar/textpad/activities/EditorActivity.java +++ b/app/src/main/java/com/maxistar/textpad/activities/EditorActivity.java @@ -435,7 +435,7 @@ void applyPreferences() { private void disableEditorAutowrapping() { mText.setHorizontallyScrolling(true); - //mText.setHorizontalScrollBarEnabled(true); + mText.setHorizontalScrollBarEnabled(true); mText.setMaxLines(Integer.MAX_VALUE); }