diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserAlerts.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserAlerts.java index 80e71cdff..3f5d54472 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserAlerts.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserAlerts.java @@ -2,6 +2,7 @@ package io.xpipe.app.browser.file; import io.xpipe.app.core.AppI18n; import io.xpipe.app.core.window.AppWindowHelper; +import io.xpipe.app.prefs.AppPrefs; import io.xpipe.core.store.FileEntry; import io.xpipe.core.store.FileKind; import io.xpipe.core.store.FilePath; @@ -62,7 +63,7 @@ public class BrowserAlerts { } public static boolean showDeleteAlert(List source) { - if (source.stream().noneMatch(entry -> entry.getKind() == FileKind.DIRECTORY)) { + if (!AppPrefs.get().confirmDeletions().get() && source.stream().noneMatch(entry -> entry.getKind() == FileKind.DIRECTORY)) { return true; } diff --git a/app/src/main/java/io/xpipe/app/prefs/AppPrefs.java b/app/src/main/java/io/xpipe/app/prefs/AppPrefs.java index 456d58658..bc7c4e96d 100644 --- a/app/src/main/java/io/xpipe/app/prefs/AppPrefs.java +++ b/app/src/main/java/io/xpipe/app/prefs/AppPrefs.java @@ -105,6 +105,8 @@ public class AppPrefs { map(new SimpleBooleanProperty(true), "openConnectionSearchWindowOnConnectionCreation", Boolean.class); final ObjectProperty storageDirectory = map(new SimpleObjectProperty<>(DEFAULT_STORAGE_DIR), "storageDirectory", Path.class); + final BooleanProperty confirmAllDeletions = + map(new SimpleBooleanProperty(false), "confirmAllDeletions", Boolean.class); final BooleanProperty developerMode = map(new SimpleBooleanProperty(false), "developerMode", Boolean.class); final BooleanProperty developerDisableUpdateVersionCheck = map(new SimpleBooleanProperty(false), "developerDisableUpdateVersionCheck", Boolean.class); diff --git a/app/src/main/java/io/xpipe/app/prefs/WorkflowCategory.java b/app/src/main/java/io/xpipe/app/prefs/WorkflowCategory.java index 3185aea46..f0e21a3b3 100644 --- a/app/src/main/java/io/xpipe/app/prefs/WorkflowCategory.java +++ b/app/src/main/java/io/xpipe/app/prefs/WorkflowCategory.java @@ -14,7 +14,7 @@ public class WorkflowCategory extends AppPrefsCategory { protected Comp create() { var prefs = AppPrefs.get(); return new OptionsBuilder() - .addTitle("workflow") + .addTitle("connections") .sub(new OptionsBuilder() .nameAndDescription("condenseConnectionDisplay") .addToggle(prefs.condenseConnectionDisplay) @@ -24,6 +24,10 @@ public class WorkflowCategory extends AppPrefsCategory { .addToggle(prefs.openConnectionSearchWindowOnConnectionCreation) .nameAndDescription("requireDoubleClickForConnections") .addToggle(prefs.requireDoubleClickForConnections)) + .addTitle("fileBrowser") + .sub(new OptionsBuilder() + .nameAndDescription("confirmAllDeletions") + .addToggle(prefs.confirmAllDeletions)) .buildComp(); } } diff --git a/lang/app/strings/translations_da.properties b/lang/app/strings/translations_da.properties index 6a74ba5f3..cb65bbbd7 100644 --- a/lang/app/strings/translations_da.properties +++ b/lang/app/strings/translations_da.properties @@ -514,3 +514,6 @@ enableHttpApiDescription=Aktiverer API'en, så eksterne programmer kan kalde XPi chooseCustomIcon=Vælg et brugerdefineret ikon clear=Rydde gitVault=Git-hvælving +fileBrowser=Fil-browser +confirmAllDeletions=Bekræft alle sletninger +confirmAllDeletionsDescription=Om der skal vises en bekræftelsesdialog for alle sletteoperationer. Som standard er det kun mapper, der kræver en bekræftelse. diff --git a/lang/app/strings/translations_de.properties b/lang/app/strings/translations_de.properties index 4d7416e2e..6fb15f35f 100644 --- a/lang/app/strings/translations_de.properties +++ b/lang/app/strings/translations_de.properties @@ -508,3 +508,6 @@ enableHttpApiDescription=Aktiviert die API, damit externe Programme den XPipe-Da chooseCustomIcon=Benutzerdefiniertes Symbol auswählen clear=Löschen gitVault=Git-Tresor +fileBrowser=Dateibrowser +confirmAllDeletions=Bestätige alle Löschungen +confirmAllDeletionsDescription=Ob ein Bestätigungsdialog für alle Löschvorgänge angezeigt werden soll. Standardmäßig benötigen nur Verzeichnisse eine Bestätigung. diff --git a/lang/app/strings/translations_en.properties b/lang/app/strings/translations_en.properties index ce3b5aee7..b0f57b9cb 100644 --- a/lang/app/strings/translations_en.properties +++ b/lang/app/strings/translations_en.properties @@ -512,4 +512,7 @@ enableHttpApiDescription=Enables the API, allowing external programs to call the chooseCustomIcon=Choose custom icon #context: verb, to delete clear=Clear -gitVault=Git vault \ No newline at end of file +gitVault=Git vault +fileBrowser=File browser +confirmAllDeletions=Confirm all deletions +confirmAllDeletionsDescription=Whether to show a confirmation dialog for all delete operations. By default, only directories require a confirmation. \ No newline at end of file diff --git a/lang/app/strings/translations_es.properties b/lang/app/strings/translations_es.properties index b3444ba26..1e11b9a9d 100644 --- a/lang/app/strings/translations_es.properties +++ b/lang/app/strings/translations_es.properties @@ -495,3 +495,6 @@ enableHttpApiDescription=Habilita la API, permitiendo que programas externos lla chooseCustomIcon=Elegir icono personalizado clear=Borrar gitVault=Bóveda Git +fileBrowser=Navegador de archivos +confirmAllDeletions=Confirmar todos los borrados +confirmAllDeletionsDescription=Si mostrar un diálogo de confirmación para todas las operaciones de borrado. Por defecto, sólo los directorios requieren una confirmación. diff --git a/lang/app/strings/translations_fr.properties b/lang/app/strings/translations_fr.properties index 150979f6b..23d0c23f9 100644 --- a/lang/app/strings/translations_fr.properties +++ b/lang/app/strings/translations_fr.properties @@ -495,3 +495,6 @@ enableHttpApiDescription=Active l'API, ce qui permet aux programmes externes d'a chooseCustomIcon=Choisis une icône personnalisée clear=Effacer gitVault=Coffre-fort Git +fileBrowser=Navigateur de fichiers +confirmAllDeletions=Confirme toutes les suppressions +confirmAllDeletionsDescription=Affichage ou non d'une boîte de dialogue de confirmation pour toutes les opérations de suppression. Par défaut, seuls les répertoires nécessitent une confirmation. diff --git a/lang/app/strings/translations_it.properties b/lang/app/strings/translations_it.properties index 51595a0d4..018a1660a 100644 --- a/lang/app/strings/translations_it.properties +++ b/lang/app/strings/translations_it.properties @@ -495,3 +495,6 @@ enableHttpApiDescription=Abilita l'API, consentendo ai programmi esterni di chia chooseCustomIcon=Scegli un'icona personalizzata clear=Cancellare gitVault=Git vault +fileBrowser=Browser di file +confirmAllDeletions=Conferma tutte le eliminazioni +confirmAllDeletionsDescription=Se mostrare una finestra di conferma per tutte le operazioni di cancellazione. Per impostazione predefinita, solo le directory richiedono una conferma. diff --git a/lang/app/strings/translations_ja.properties b/lang/app/strings/translations_ja.properties index 3a796fd21..c5279e51d 100644 --- a/lang/app/strings/translations_ja.properties +++ b/lang/app/strings/translations_ja.properties @@ -495,3 +495,6 @@ enableHttpApiDescription=APIを有効にし、外部プログラムからXPipe chooseCustomIcon=カスタムアイコンを選ぶ clear=消去する gitVault=Git保管庫 +fileBrowser=ファイルブラウザ +confirmAllDeletions=すべての削除を確認する +confirmAllDeletionsDescription=すべての削除操作に対して確認ダイアログを表示するかどうか。デフォルトでは、確認が必要なのはディレクトリだけである。 diff --git a/lang/app/strings/translations_nl.properties b/lang/app/strings/translations_nl.properties index bff85f33b..64d6a4d5f 100644 --- a/lang/app/strings/translations_nl.properties +++ b/lang/app/strings/translations_nl.properties @@ -495,3 +495,6 @@ enableHttpApiDescription=Schakelt de API in, waardoor externe programma's de XPi chooseCustomIcon=Aangepast pictogram kiezen clear=Wis gitVault=Git kluis +fileBrowser=Bestandsbrowser +confirmAllDeletions=Alle verwijderingen bevestigen +confirmAllDeletionsDescription=Of een bevestigingsvenster moet worden weergegeven voor alle verwijderbewerkingen. Standaard vereisen alleen mappen een bevestiging. diff --git a/lang/app/strings/translations_pt.properties b/lang/app/strings/translations_pt.properties index 89f1d7372..6d15c332e 100644 --- a/lang/app/strings/translations_pt.properties +++ b/lang/app/strings/translations_pt.properties @@ -495,3 +495,6 @@ enableHttpApiDescription=Habilita a API, permitindo que programas externos chame chooseCustomIcon=Escolhe um ícone personalizado clear=Limpar gitVault=Cofre do Git +fileBrowser=Navegador de ficheiros +confirmAllDeletions=Confirma todas as eliminações +confirmAllDeletionsDescription=Mostra ou não uma caixa de diálogo de confirmação para todas as operações de eliminação. Por predefinição, apenas as diretorias requerem uma confirmação. diff --git a/lang/app/strings/translations_ru.properties b/lang/app/strings/translations_ru.properties index 2e78b6186..d16895c78 100644 --- a/lang/app/strings/translations_ru.properties +++ b/lang/app/strings/translations_ru.properties @@ -495,3 +495,6 @@ enableHttpApiDescription=Включает API, позволяя внешним chooseCustomIcon=Выберите пользовательскую иконку clear=Очистить gitVault=Git vault +fileBrowser=Браузер файлов +confirmAllDeletions=Подтвердите все удаления +confirmAllDeletionsDescription=Показывать ли диалог подтверждения для всех операций удаления. По умолчанию подтверждение требуется только для каталогов. diff --git a/lang/app/strings/translations_tr.properties b/lang/app/strings/translations_tr.properties index 1fcb391e1..ef434cd8e 100644 --- a/lang/app/strings/translations_tr.properties +++ b/lang/app/strings/translations_tr.properties @@ -496,3 +496,6 @@ enableHttpApiDescription=API'yi etkinleştirerek harici programların yönetilen chooseCustomIcon=Özel simge seçin clear=Temiz gitVault=Git kasası +fileBrowser=Dosya tarayıcısı +confirmAllDeletions=Tüm silme işlemlerini onaylayın +confirmAllDeletionsDescription=Tüm silme işlemleri için bir onay iletişim kutusu gösterilip gösterilmeyeceği. Varsayılan olarak, yalnızca dizinler onay gerektirir. diff --git a/lang/app/strings/translations_zh.properties b/lang/app/strings/translations_zh.properties index 0a15d87c3..d00a6ec90 100644 --- a/lang/app/strings/translations_zh.properties +++ b/lang/app/strings/translations_zh.properties @@ -495,3 +495,6 @@ enableHttpApiDescription=启用 API,允许外部程序调用 XPipe 守护进 chooseCustomIcon=选择自定义图标 clear=清除 gitVault=Git 数据库 +fileBrowser=文件浏览器 +confirmAllDeletions=确认所有删除 +confirmAllDeletionsDescription=是否为所有删除操作显示确认对话框。默认情况下,只有目录需要确认。 diff --git a/lang/base/strings/translations_da.properties b/lang/base/strings/translations_da.properties index 579899a35..356fcb9e7 100644 --- a/lang/base/strings/translations_da.properties +++ b/lang/base/strings/translations_da.properties @@ -173,3 +173,4 @@ hasService=$COUNT$ tilgængelig tjeneste openHttp=Åben HTTP-tjeneste openHttps=Åben HTTPS-tjeneste noScriptsAvailable=Ingen tilgængelige scripts +changeIcon=Skift ikon diff --git a/lang/base/strings/translations_de.properties b/lang/base/strings/translations_de.properties index 62f9d9d2c..8794b86f8 100644 --- a/lang/base/strings/translations_de.properties +++ b/lang/base/strings/translations_de.properties @@ -164,3 +164,4 @@ hasService=$COUNT$ verfügbarer Dienst openHttp=Offener HTTP-Dienst openHttps=HTTPS-Dienst öffnen noScriptsAvailable=Keine Skripte verfügbar +changeIcon=Symbol ändern diff --git a/lang/base/strings/translations_es.properties b/lang/base/strings/translations_es.properties index 4bc1acdeb..7321b607e 100644 --- a/lang/base/strings/translations_es.properties +++ b/lang/base/strings/translations_es.properties @@ -162,3 +162,4 @@ hasService=$COUNT$ servicio disponible openHttp=Servicio HTTP abierto openHttps=Abrir servicio HTTPS noScriptsAvailable=No hay guiones disponibles +changeIcon=Cambiar icono diff --git a/lang/base/strings/translations_fr.properties b/lang/base/strings/translations_fr.properties index 2d3b63240..e15efb6fc 100644 --- a/lang/base/strings/translations_fr.properties +++ b/lang/base/strings/translations_fr.properties @@ -162,3 +162,4 @@ hasService=$COUNT$ service disponible openHttp=Service HTTP ouvert openHttps=Service HTTPS ouvert noScriptsAvailable=Pas de scripts disponibles +changeIcon=Changer d'icône diff --git a/lang/base/strings/translations_it.properties b/lang/base/strings/translations_it.properties index 0dc6f7179..400e235ba 100644 --- a/lang/base/strings/translations_it.properties +++ b/lang/base/strings/translations_it.properties @@ -162,3 +162,4 @@ hasService=$COUNT$ servizio disponibile openHttp=Servizio HTTP aperto openHttps=Servizio HTTPS aperto noScriptsAvailable=Non sono disponibili script +changeIcon=Cambia icona diff --git a/lang/base/strings/translations_ja.properties b/lang/base/strings/translations_ja.properties index 1969f52ed..0cbc77033 100644 --- a/lang/base/strings/translations_ja.properties +++ b/lang/base/strings/translations_ja.properties @@ -162,3 +162,4 @@ hasService=$COUNT$ 利用可能なサービス openHttp=オープンHTTPサービス openHttps=HTTPSサービスを開く noScriptsAvailable=スクリプトはない +changeIcon=アイコンの変更 diff --git a/lang/base/strings/translations_nl.properties b/lang/base/strings/translations_nl.properties index f29e0f46b..e1ee18f68 100644 --- a/lang/base/strings/translations_nl.properties +++ b/lang/base/strings/translations_nl.properties @@ -162,3 +162,4 @@ hasService=$COUNT$ beschikbare dienst openHttp=Open HTTP service openHttps=Open HTTPS service noScriptsAvailable=Geen scripts beschikbaar +changeIcon=Pictogram wijzigen diff --git a/lang/base/strings/translations_pt.properties b/lang/base/strings/translations_pt.properties index 1ca6da6bf..bad3c7099 100644 --- a/lang/base/strings/translations_pt.properties +++ b/lang/base/strings/translations_pt.properties @@ -162,3 +162,4 @@ hasService=$COUNT$ serviço disponível openHttp=Abre o serviço HTTP openHttps=Abre o serviço HTTPS noScriptsAvailable=Não há scripts disponíveis +changeIcon=Altera o ícone diff --git a/lang/base/strings/translations_ru.properties b/lang/base/strings/translations_ru.properties index faa826dd6..0ee728ea5 100644 --- a/lang/base/strings/translations_ru.properties +++ b/lang/base/strings/translations_ru.properties @@ -162,3 +162,4 @@ hasService=$COUNT$ доступный сервис openHttp=Открытый HTTP-сервис openHttps=Открытая служба HTTPS noScriptsAvailable=Нет доступных скриптов +changeIcon=Значок изменения diff --git a/lang/base/strings/translations_tr.properties b/lang/base/strings/translations_tr.properties index 188490243..512561400 100644 --- a/lang/base/strings/translations_tr.properties +++ b/lang/base/strings/translations_tr.properties @@ -162,3 +162,4 @@ hasService=$COUNT$ mevcut hizmet openHttp=Açık HTTP hizmeti openHttps=HTTPS hizmetini açın noScriptsAvailable=Mevcut senaryo yok +changeIcon=Simge değiştir diff --git a/lang/base/strings/translations_zh.properties b/lang/base/strings/translations_zh.properties index e2cbc2be3..b8ce581ca 100644 --- a/lang/base/strings/translations_zh.properties +++ b/lang/base/strings/translations_zh.properties @@ -162,3 +162,4 @@ hasService=$COUNT$ 可用服务 openHttp=开放式 HTTP 服务 openHttps=打开 HTTPS 服务 noScriptsAvailable=无脚本可用 +changeIcon=更改图标