From a1c1aff60cd559bf2283136aafe9a893c94516b8 Mon Sep 17 00:00:00 2001 From: sanua356 Date: Sun, 26 Jul 2026 14:46:03 +0300 Subject: [PATCH 01/14] add search field in 'open with' dialog --- i18n/af/cosmic_files.ftl | 1 + i18n/ar/cosmic_files.ftl | 1 + i18n/be/cosmic_files.ftl | 1 + i18n/bg/cosmic_files.ftl | 1 + i18n/ca/cosmic_files.ftl | 1 + i18n/cs/cosmic_files.ftl | 1 + i18n/da/cosmic_files.ftl | 1 + i18n/de/cosmic_files.ftl | 1 + i18n/el/cosmic_files.ftl | 1 + i18n/en/cosmic_files.ftl | 1 + i18n/es-419/cosmic_files.ftl | 1 + i18n/es/cosmic_files.ftl | 1 + i18n/et/cosmic_files.ftl | 1 + i18n/fa/cosmic_files.ftl | 1 + i18n/fi/cosmic_files.ftl | 1 + i18n/fr/cosmic_files.ftl | 1 + i18n/fy/cosmic_files.ftl | 1 + i18n/ga/cosmic_files.ftl | 1 + i18n/hi/cosmic_files.ftl | 1 + i18n/hu/cosmic_files.ftl | 1 + i18n/id/cosmic_files.ftl | 1 + i18n/is/cosmic_files.ftl | 1 + i18n/it/cosmic_files.ftl | 1 + i18n/ja/cosmic_files.ftl | 1 + i18n/kab/cosmic_files.ftl | 1 + i18n/kk/cosmic_files.ftl | 1 + i18n/kmr/cosmic_files.ftl | 1 + i18n/kn/cosmic_files.ftl | 1 + i18n/ko/cosmic_files.ftl | 1 + i18n/lt/cosmic_files.ftl | 1 + i18n/nb-NO/cosmic_files.ftl | 1 + i18n/nl/cosmic_files.ftl | 1 + i18n/pa/cosmic_files.ftl | 1 + i18n/pl/cosmic_files.ftl | 1 + i18n/pt-BR/cosmic_files.ftl | 1 + i18n/pt/cosmic_files.ftl | 1 + i18n/ro/cosmic_files.ftl | 1 + i18n/ru/cosmic_files.ftl | 1 + i18n/sk/cosmic_files.ftl | 1 + i18n/sr/cosmic_files.ftl | 1 + i18n/sv/cosmic_files.ftl | 1 + i18n/th/cosmic_files.ftl | 1 + i18n/tr/cosmic_files.ftl | 1 + i18n/uk/cosmic_files.ftl | 1 + i18n/zh-CN/cosmic_files.ftl | 1 + i18n/zh-TW/cosmic_files.ftl | 1 + src/app.rs | 30 +++++++++++++++++++++++++++++- 47 files changed, 75 insertions(+), 1 deletion(-) diff --git a/i18n/af/cosmic_files.ftl b/i18n/af/cosmic_files.ftl index 610548b..d4a9306 100644 --- a/i18n/af/cosmic_files.ftl +++ b/i18n/af/cosmic_files.ftl @@ -41,3 +41,4 @@ default-size = Standaardgrootte zoom-out = Zoem uit zoom-in = Zoem in menu-settings = Instellings… +search-application = Soek volgens programnaam diff --git a/i18n/ar/cosmic_files.ftl b/i18n/ar/cosmic_files.ftl index c4e3292..78af675 100644 --- a/i18n/ar/cosmic_files.ftl +++ b/i18n/ar/cosmic_files.ftl @@ -73,6 +73,7 @@ copy_noun = نسخ menu-open-with = افتح ب‍استخدام... default-app = { $name } (المبدئي) +search-application = البحث حسب اسم التطبيق ## Properties diff --git a/i18n/be/cosmic_files.ftl b/i18n/be/cosmic_files.ftl index ca4a4e9..243f909 100644 --- a/i18n/be/cosmic_files.ftl +++ b/i18n/be/cosmic_files.ftl @@ -317,6 +317,7 @@ unknown-folder = невядомая папка menu-open-with = Адкрыць праз... default-app = { $name } (па змаўчанні) +search-application = Пошук па назве праграмы ## Show details diff --git a/i18n/bg/cosmic_files.ftl b/i18n/bg/cosmic_files.ftl index fc2be4e..be0d860 100644 --- a/i18n/bg/cosmic_files.ftl +++ b/i18n/bg/cosmic_files.ftl @@ -322,6 +322,7 @@ unknown-folder = неизвестна папка menu-open-with = Отваряне с... default-app = { $name } (стандартно) +search-application = Търсене по име на приложението ## Show details diff --git a/i18n/ca/cosmic_files.ftl b/i18n/ca/cosmic_files.ftl index f37cc18..27c3c6c 100644 --- a/i18n/ca/cosmic_files.ftl +++ b/i18n/ca/cosmic_files.ftl @@ -265,6 +265,7 @@ unknown-folder = carpeta desconeguda menu-open-with = Obre amb... default-app = { $name } (per defecte) +search-application = Cerca pel nom de l'aplicació ## Show details diff --git a/i18n/cs/cosmic_files.ftl b/i18n/cs/cosmic_files.ftl index fac1794..1424c8c 100644 --- a/i18n/cs/cosmic_files.ftl +++ b/i18n/cs/cosmic_files.ftl @@ -73,6 +73,7 @@ copy_noun = Kopie menu-open-with = Otevřít pomocí... default-app = { $name } (výchozí) +search-application = Hledat podle názvu aplikace ## Properties diff --git a/i18n/da/cosmic_files.ftl b/i18n/da/cosmic_files.ftl index 82e7f27..4df6a42 100644 --- a/i18n/da/cosmic_files.ftl +++ b/i18n/da/cosmic_files.ftl @@ -219,6 +219,7 @@ unknown-folder = ukendt mappe menu-open-with = Åbn med... default-app = { $name } (standardindstilling) +search-application = Søg efter appnavn ## Show details diff --git a/i18n/de/cosmic_files.ftl b/i18n/de/cosmic_files.ftl index 65a5ebf..8ce9d63 100644 --- a/i18n/de/cosmic_files.ftl +++ b/i18n/de/cosmic_files.ftl @@ -301,6 +301,7 @@ unknown-folder = unbekannter Ordner menu-open-with = Öffnen mit... default-app = { $name } (Standard) +search-application = Nach App-Namen suchen ## Details anzeigen diff --git a/i18n/el/cosmic_files.ftl b/i18n/el/cosmic_files.ftl index c75e419..3fab5cb 100644 --- a/i18n/el/cosmic_files.ftl +++ b/i18n/el/cosmic_files.ftl @@ -135,6 +135,7 @@ menu-about = Σχετικά με τα Αρχεία COSMIC... setting-executable-and-launching = Ορισμός του «{ $name }» ως εκτελέσιμου και εκκίνηση open-multiple-files = Άνοιγμα πολλαπλών αρχείων menu-open-with = Άνοιγμα με... +search-application = Αναζήτηση με όνομα εφαρμογής extracted = Έγινε αποσυμπίεση { $items } { $items -> [one] στοιχείου diff --git a/i18n/en/cosmic_files.ftl b/i18n/en/cosmic_files.ftl index 44ff788..ea01f7e 100644 --- a/i18n/en/cosmic_files.ftl +++ b/i18n/en/cosmic_files.ftl @@ -293,6 +293,7 @@ unknown-folder = unknown folder ## Open with menu-open-with = Open with... default-app = {$name} (default) +search-application = Search by app name ## Show details show-details = Show details diff --git a/i18n/es-419/cosmic_files.ftl b/i18n/es-419/cosmic_files.ftl index 9f8ef72..d1dc0c9 100644 --- a/i18n/es-419/cosmic_files.ftl +++ b/i18n/es-419/cosmic_files.ftl @@ -204,6 +204,7 @@ unknown-folder = carpeta desconocida menu-open-with = Abrir con... default-app = { $name } (predeterminado) +search-application = Buscar por nombre de la aplicación ## Show details diff --git a/i18n/es/cosmic_files.ftl b/i18n/es/cosmic_files.ftl index 4794c10..41d9096 100644 --- a/i18n/es/cosmic_files.ftl +++ b/i18n/es/cosmic_files.ftl @@ -311,6 +311,7 @@ unknown-folder = carpeta desconocida menu-open-with = Abrir con... default-app = { $name } (predeterminado) +search-application = Buscar por nombre de la aplicación ## Show details diff --git a/i18n/et/cosmic_files.ftl b/i18n/et/cosmic_files.ftl index c4a8785..5a898df 100644 --- a/i18n/et/cosmic_files.ftl +++ b/i18n/et/cosmic_files.ftl @@ -123,6 +123,7 @@ progress-failed = { $percent }%, ebaõnnestus progress-paused = { $percent }%, peatatud unknown-folder = tundmatu kaust menu-open-with = Ava rakendusega… +search-application = Otsi rakenduse nime järgi default-app = { $name } (vaikimisi) show-details = Näita üksikasju type = Tüüp: { $mime } diff --git a/i18n/fa/cosmic_files.ftl b/i18n/fa/cosmic_files.ftl index 972e3c9..ed94f47 100644 --- a/i18n/fa/cosmic_files.ftl +++ b/i18n/fa/cosmic_files.ftl @@ -247,6 +247,7 @@ unknown-folder = پوشه ناشناس menu-open-with = باز کردن با... default-app = { $name } (پیش‌فرض) +search-application = جستجو بر اساس نام برنامه ## Show details diff --git a/i18n/fi/cosmic_files.ftl b/i18n/fi/cosmic_files.ftl index 6000bc7..06b11e3 100644 --- a/i18n/fi/cosmic_files.ftl +++ b/i18n/fi/cosmic_files.ftl @@ -212,6 +212,7 @@ unknown-folder = tuntematon kansio menu-open-with = Avaa sovelluksella… default-app = { $name } (oletus) +search-application = Hae sovelluksen nimellä ## Show details diff --git a/i18n/fr/cosmic_files.ftl b/i18n/fr/cosmic_files.ftl index 7301596..d619b31 100644 --- a/i18n/fr/cosmic_files.ftl +++ b/i18n/fr/cosmic_files.ftl @@ -305,6 +305,7 @@ unknown-folder = Dossier inconnu menu-open-with = Ouvrir avec... default-app = { $name } (défaut) +search-application = Rechercher par nom d’application ## Show details diff --git a/i18n/fy/cosmic_files.ftl b/i18n/fy/cosmic_files.ftl index 1e2942e..a626675 100644 --- a/i18n/fy/cosmic_files.ftl +++ b/i18n/fy/cosmic_files.ftl @@ -9,3 +9,4 @@ cosmic-files = COSMIC Bestannen empty-folder = Lege map empty-folder-hidden = Lege map (mei ferburgen bestannen) no-results = Gjin resultaten fûn +search-application = Sykje op appnamme diff --git a/i18n/ga/cosmic_files.ftl b/i18n/ga/cosmic_files.ftl index 773c2fa..2001e38 100644 --- a/i18n/ga/cosmic_files.ftl +++ b/i18n/ga/cosmic_files.ftl @@ -288,6 +288,7 @@ unknown-folder = Fillteán anaithnid menu-open-with = Oscail le... default-app = { $name } (réamhshocraithe) +search-application = Cuardaigh de réir ainm na haipe ## Show details diff --git a/i18n/hi/cosmic_files.ftl b/i18n/hi/cosmic_files.ftl index 03e0db4..ca80c32 100644 --- a/i18n/hi/cosmic_files.ftl +++ b/i18n/hi/cosmic_files.ftl @@ -204,6 +204,7 @@ unknown-folder = अज्ञात फ़ोल्डर menu-open-with = इसके साथ खोलें default-app = { $name } (डिफ़ॉल्ट) +search-application = ऐप के नाम से खोजें ## Show details diff --git a/i18n/hu/cosmic_files.ftl b/i18n/hu/cosmic_files.ftl index dfdbf44..76802d3 100644 --- a/i18n/hu/cosmic_files.ftl +++ b/i18n/hu/cosmic_files.ftl @@ -321,6 +321,7 @@ unknown-folder = ismeretlen mappa menu-open-with = Megnyitás mással… default-app = { $name } (alapértelmezett) +search-application = Keresés alkalmazásnév alapján ## Show details diff --git a/i18n/id/cosmic_files.ftl b/i18n/id/cosmic_files.ftl index 3300d25..57f8a54 100644 --- a/i18n/id/cosmic_files.ftl +++ b/i18n/id/cosmic_files.ftl @@ -198,6 +198,7 @@ set-executable-and-launched = Atur "{ $name }" sebagai dijalankan dan diluncurka setting-permissions = Mengatur izin untuk "{ $name }" ke { $mode } set-permissions = Atur izin untuk "{ $name }" ke { $mode } menu-open-with = Buka dengan... +search-application = Cari berdasarkan nama aplikasi unknown-folder = map yang tidak diketahui default-app = { $name } (bawaan) show-details = Tampilkan rincian diff --git a/i18n/is/cosmic_files.ftl b/i18n/is/cosmic_files.ftl index 300f1fb..4457f50 100644 --- a/i18n/is/cosmic_files.ftl +++ b/i18n/is/cosmic_files.ftl @@ -205,6 +205,7 @@ set-executable-and-launched = Stilla „{ $name }“ sem keyranlega og ræst setting-permissions = Stilli heimildir fyrir „{ $name }“ á { $mode } unknown-folder = óþekkt mappa menu-open-with = Opna með... +search-application = Leita eftir heiti forrits default-app = { $name } (sjálfgefið) show-details = Sýna upplýsingar type = Gerð: { $mime } diff --git a/i18n/it/cosmic_files.ftl b/i18n/it/cosmic_files.ftl index e3766e5..5812239 100644 --- a/i18n/it/cosmic_files.ftl +++ b/i18n/it/cosmic_files.ftl @@ -301,6 +301,7 @@ unknown-folder = cartella sconosciuta menu-open-with = Apri con... default-app = { $name } (predefinito) +search-application = Cerca per nome dell'app ## Show details diff --git a/i18n/ja/cosmic_files.ftl b/i18n/ja/cosmic_files.ftl index 5534a72..6041778 100644 --- a/i18n/ja/cosmic_files.ftl +++ b/i18n/ja/cosmic_files.ftl @@ -163,6 +163,7 @@ unknown-folder = 不明なフォルダー menu-open-with = 別のアプリケーションで開く... default-app = { $name } (デフォルト) +search-application = アプリ名で検索 ## Properties diff --git a/i18n/kab/cosmic_files.ftl b/i18n/kab/cosmic_files.ftl index 233c47d..44466d5 100644 --- a/i18n/kab/cosmic_files.ftl +++ b/i18n/kab/cosmic_files.ftl @@ -140,6 +140,7 @@ renaming = Asnifel n yisem "{ $from }" ɣer "{ $to }" renamed = Yettwasenfel yisem n "{ $from }" ɣer "{ $to }" unknown-folder = akaram arussin menu-open-with = Ldi s… +search-application = Nadi s yisem n usnas default-app = { $name } (amezwer) show-details = Sken talqayt type = Anaw: { $mime } diff --git a/i18n/kk/cosmic_files.ftl b/i18n/kk/cosmic_files.ftl index 0ee3ffe..ca16230 100644 --- a/i18n/kk/cosmic_files.ftl +++ b/i18n/kk/cosmic_files.ftl @@ -235,6 +235,7 @@ restored = } { trash } ішінен қалпына келтірілді unknown-folder = белгісіз бума menu-open-with = Көмегімен ашу... +search-application = Қолданба атауы бойынша іздеу default-app = { $name } (әдепкі) show-details = Мәліметтерді көрсету type = Түрі: { $mime } diff --git a/i18n/kmr/cosmic_files.ftl b/i18n/kmr/cosmic_files.ftl index 6c08bd0..fb12586 100644 --- a/i18n/kmr/cosmic_files.ftl +++ b/i18n/kmr/cosmic_files.ftl @@ -264,6 +264,7 @@ restoring = icon-size-and-spacing = Mezinahiya îkonan û valahiya di navbera wan de type-to-search-enter-path = Riya rêgehê yan jî pelê têdixîne menu-open-with = Veke bi... +search-application = Li gorî navê sepanê bigere original-file = Pelê resen read-write-execute = Xwendin, nivîsandin û xebitandin calculating = Tê jimartin... diff --git a/i18n/kn/cosmic_files.ftl b/i18n/kn/cosmic_files.ftl index cf7a71d..3d8f35c 100644 --- a/i18n/kn/cosmic_files.ftl +++ b/i18n/kn/cosmic_files.ftl @@ -204,6 +204,7 @@ unknown-folder = ಅಜ್ಞಾತ ಫೋಲ್ಡರ್ menu-open-with = ಇದರೊಂದಿಗೆ ತೆರೆಯಿರಿ default-app = { $name } (ಸ್ಥೂಲ) +search-application = ಅಪ್ಲಿಕೇಶನ್ ಹೆಸರಿನಿಂದ ಹುಡುಕಿ ## Show details diff --git a/i18n/ko/cosmic_files.ftl b/i18n/ko/cosmic_files.ftl index 5683c39..3ba9ee4 100644 --- a/i18n/ko/cosmic_files.ftl +++ b/i18n/ko/cosmic_files.ftl @@ -51,6 +51,7 @@ complete = 완료 menu-open-with = 다른 앱으로 열기 default-app = { $name } (기본) +search-application = 앱 이름으로 검색 ## Properties diff --git a/i18n/lt/cosmic_files.ftl b/i18n/lt/cosmic_files.ftl index 2a8e36f..1757631 100644 --- a/i18n/lt/cosmic_files.ftl +++ b/i18n/lt/cosmic_files.ftl @@ -235,6 +235,7 @@ restored = } iš { trash } unknown-folder = nežinomas aplankas menu-open-with = Atidaryti su... +search-application = Ieškoti pagal programėlės pavadinimą default-app = { $name } (numatytas) show-details = Rodyti išsamią informaciją type = Tipas: { $mime } diff --git a/i18n/nb-NO/cosmic_files.ftl b/i18n/nb-NO/cosmic_files.ftl index cae2b5b..36741d7 100644 --- a/i18n/nb-NO/cosmic_files.ftl +++ b/i18n/nb-NO/cosmic_files.ftl @@ -255,6 +255,7 @@ restored = } fra { trash } unknown-folder = ukjent mappe menu-open-with = Åpne med… +search-application = Søk etter appnavn default-app = { $name } (standard) show-details = Vis detaljer type = Type: { $mime } diff --git a/i18n/nl/cosmic_files.ftl b/i18n/nl/cosmic_files.ftl index 2be219f..9c996c2 100644 --- a/i18n/nl/cosmic_files.ftl +++ b/i18n/nl/cosmic_files.ftl @@ -309,6 +309,7 @@ unknown-folder = Onbekende map menu-open-with = Openen met… default-app = { $name } (standaard) +search-application = Zoeken op appnaam ## Show details diff --git a/i18n/pa/cosmic_files.ftl b/i18n/pa/cosmic_files.ftl index be7163e..ee3a2f3 100644 --- a/i18n/pa/cosmic_files.ftl +++ b/i18n/pa/cosmic_files.ftl @@ -105,6 +105,7 @@ history = ਅਤੀਤ pending = ਬਕਾਇਆ progress = { $percent }% menu-open-with = Open with...ਨਾਲ ਖੋਲ੍ਹੋ +search-application = ਐਪ ਦੇ ਨਾਮ ਨਾਲ ਖੋਜੋ default-app = { $name } (ਮੂਲ) show-details = ਵੇਰਵਿਆਂ ਨੂੰ ਵੇਖੋ type = ਕਿਸਮ: { $mime } diff --git a/i18n/pl/cosmic_files.ftl b/i18n/pl/cosmic_files.ftl index 2f58d64..bed1ae9 100644 --- a/i18n/pl/cosmic_files.ftl +++ b/i18n/pl/cosmic_files.ftl @@ -325,6 +325,7 @@ unknown-folder = nieznany katalog menu-open-with = Otwórz za pomocą… default-app = { $name } (domyślnie) +search-application = Wyszukaj według nazwy aplikacji ## Show details diff --git a/i18n/pt-BR/cosmic_files.ftl b/i18n/pt-BR/cosmic_files.ftl index 6309e46..3e7ab2d 100644 --- a/i18n/pt-BR/cosmic_files.ftl +++ b/i18n/pt-BR/cosmic_files.ftl @@ -323,6 +323,7 @@ unknown-folder = pasta desconhecida menu-open-with = Abrir com... default-app = { $name } (padrão) +search-application = Pesquisar pelo nome do aplicativo ## Show details diff --git a/i18n/pt/cosmic_files.ftl b/i18n/pt/cosmic_files.ftl index b0c7e30..e7a9deb 100644 --- a/i18n/pt/cosmic_files.ftl +++ b/i18n/pt/cosmic_files.ftl @@ -130,6 +130,7 @@ unknown-folder = pasta desconhecida menu-open-with = Abrir com... default-app = { $name } (predefinição) +search-application = Pesquisar pelo nome da aplicação ## Show details diff --git a/i18n/ro/cosmic_files.ftl b/i18n/ro/cosmic_files.ftl index 9a903f5..4248086 100644 --- a/i18n/ro/cosmic_files.ftl +++ b/i18n/ro/cosmic_files.ftl @@ -280,6 +280,7 @@ unknown-folder = dosar necunoscut menu-open-with = Deschide cu... default-app = { $name } (implicit) +search-application = Caută după numele aplicației ## Show details diff --git a/i18n/ru/cosmic_files.ftl b/i18n/ru/cosmic_files.ftl index f34a377..9d1d9f7 100644 --- a/i18n/ru/cosmic_files.ftl +++ b/i18n/ru/cosmic_files.ftl @@ -174,6 +174,7 @@ unknown-folder = неизвестная папка menu-open-with = Открыть с помощью… default-app = { $name } (по умолчанию) +search-application = Поиск по названию приложения ## Show details diff --git a/i18n/sk/cosmic_files.ftl b/i18n/sk/cosmic_files.ftl index 5a183d7..3784752 100644 --- a/i18n/sk/cosmic_files.ftl +++ b/i18n/sk/cosmic_files.ftl @@ -357,6 +357,7 @@ unknown-folder = neznámy priečinok menu-open-with = Otvoriť pomocou... default-app = { $name } (predvolené) +search-application = Hľadať podľa názvu aplikácie ## Show details diff --git a/i18n/sr/cosmic_files.ftl b/i18n/sr/cosmic_files.ftl index 98a9e35..f039815 100644 --- a/i18n/sr/cosmic_files.ftl +++ b/i18n/sr/cosmic_files.ftl @@ -66,6 +66,7 @@ setting-executable-and-launching = Подешавање „{ $name }“ као open-multiple-files = Отвори више датотека default-size = Подразумевана величина menu-open-with = Отвори програмом... +search-application = Претражи по називу апликације extracted = Извлачено { $items } { $items -> [one] ставка diff --git a/i18n/sv/cosmic_files.ftl b/i18n/sv/cosmic_files.ftl index 506be0b..a8606eb 100644 --- a/i18n/sv/cosmic_files.ftl +++ b/i18n/sv/cosmic_files.ftl @@ -234,6 +234,7 @@ unknown-folder = okänd mapp menu-open-with = Öppna med... default-app = { $name } (standard) +search-application = Sök efter appnamn ## Visa detaljer diff --git a/i18n/th/cosmic_files.ftl b/i18n/th/cosmic_files.ftl index c0da7bc..031eef2 100644 --- a/i18n/th/cosmic_files.ftl +++ b/i18n/th/cosmic_files.ftl @@ -219,6 +219,7 @@ unknown-folder = แฟ้มที่ไม่รู้จัก menu-open-with = เปิดด้วย... default-app = { $name } (ค่าเริ่มต้น) +search-application = ค้นหาตามชื่อแอป ## Show details diff --git a/i18n/tr/cosmic_files.ftl b/i18n/tr/cosmic_files.ftl index c27767d..91745bc 100644 --- a/i18n/tr/cosmic_files.ftl +++ b/i18n/tr/cosmic_files.ftl @@ -227,6 +227,7 @@ unknown-folder = bilinmeyen klasör menu-open-with = Birlikte aç... default-app = { $name } (varsayılan) +search-application = Uygulama adına göre ara ## Show details diff --git a/i18n/uk/cosmic_files.ftl b/i18n/uk/cosmic_files.ftl index 31b4103..2fdbf5e 100644 --- a/i18n/uk/cosmic_files.ftl +++ b/i18n/uk/cosmic_files.ftl @@ -121,6 +121,7 @@ unknown-folder = невідома тека menu-open-with = Відкрити за допомогою... default-app = { $name } (звичайний) +search-application = Пошук за назвою застосунку ## Properties diff --git a/i18n/zh-CN/cosmic_files.ftl b/i18n/zh-CN/cosmic_files.ftl index 4807c4a..d9344a5 100644 --- a/i18n/zh-CN/cosmic_files.ftl +++ b/i18n/zh-CN/cosmic_files.ftl @@ -319,6 +319,7 @@ unknown-folder = 未知文件夹 menu-open-with = 打开方式… default-app = { $name }(默认) +search-application = 按应用名称搜索 ## Show details diff --git a/i18n/zh-TW/cosmic_files.ftl b/i18n/zh-TW/cosmic_files.ftl index 294ed2a..39eb31f 100644 --- a/i18n/zh-TW/cosmic_files.ftl +++ b/i18n/zh-TW/cosmic_files.ftl @@ -179,6 +179,7 @@ unknown-folder = 不明資料夾 menu-open-with = 開啟檔案... default-app = { $name } (預設) +search-application = 依應用程式名稱搜尋 ## Show details diff --git a/src/app.rs b/src/app.rs index fe7404b..3d85777 100644 --- a/src/app.rs +++ b/src/app.rs @@ -566,6 +566,7 @@ pub enum DialogPage { mime: mime_guess::Mime, selected: usize, store_opt: Option>, + search_app_name: String, }, PermanentlyDelete { paths: Box<[PathBuf]>, @@ -3845,6 +3846,7 @@ impl Application for App { .and_then(|mime| { self.mime_app_cache.get(&mime).first().cloned() }), + search_app_name: String::new(), }, Some(CONFIRM_OPEN_WITH_BUTTON_ID.clone()), ); @@ -5110,6 +5112,7 @@ impl Application for App { .and_then(|mime| { self.mime_app_cache.get(&mime).first().cloned() }), + search_app_name: String::new(), }, None, ); @@ -5966,6 +5969,7 @@ impl Application for App { mime, selected, store_opt, + search_app_name, .. } => { let name = match path.file_name() { @@ -5974,7 +5978,13 @@ impl Application for App { }; let mut column = widget::list_column(); - let available_apps = self.mime_app_cache.get_apps_for_mime(mime, true); + let mut available_apps = self.mime_app_cache.get_apps_for_mime(mime, true); + available_apps.retain(|(app, _)| { + app.name + .to_lowercase() + .trim() + .contains(search_app_name.to_lowercase().as_str().trim()) + }); let item_height = 32.0; let mut displayed_default = false; let mut last_kind = MimeAppMatch::Exact; @@ -6038,6 +6048,24 @@ impl Application for App { .secondary_action( widget::button::standard(fl!("cancel")).on_press(Message::DialogCancel), ) + .control( + widget::column::with_children([ + widget::text::body(fl!("search-application")).into(), + widget::text_input("", search_app_name) + .id(self.dialog_text_input.clone()) + .on_input(move |search_app_name| { + Message::DialogUpdate(DialogPage::OpenWith { + path: path.clone(), + mime: mime.clone(), + selected: *selected, + store_opt: store_opt.clone(), + search_app_name, + }) + }) + .into(), + ]) + .spacing(space_xxs), + ) .control(widget::scrollable(column).height({ let max_size = self .size From 9a4f78aa75cb8e3fe543e87fcb7c0c21ae18103e Mon Sep 17 00:00:00 2001 From: sanua356 Date: Sun, 26 Jul 2026 17:36:56 +0300 Subject: [PATCH 02/14] remove extra translations --- i18n/af/cosmic_files.ftl | 1 - i18n/ar/cosmic_files.ftl | 1 - i18n/be/cosmic_files.ftl | 1 - i18n/bg/cosmic_files.ftl | 1 - i18n/ca/cosmic_files.ftl | 1 - i18n/cs/cosmic_files.ftl | 1 - i18n/da/cosmic_files.ftl | 1 - i18n/de/cosmic_files.ftl | 1 - i18n/el/cosmic_files.ftl | 1 - i18n/es-419/cosmic_files.ftl | 1 - i18n/es/cosmic_files.ftl | 1 - i18n/et/cosmic_files.ftl | 1 - i18n/fa/cosmic_files.ftl | 1 - i18n/fi/cosmic_files.ftl | 1 - i18n/fr/cosmic_files.ftl | 1 - i18n/fy/cosmic_files.ftl | 1 - i18n/ga/cosmic_files.ftl | 1 - i18n/hi/cosmic_files.ftl | 1 - i18n/hu/cosmic_files.ftl | 1 - i18n/id/cosmic_files.ftl | 1 - i18n/is/cosmic_files.ftl | 1 - i18n/it/cosmic_files.ftl | 1 - i18n/ja/cosmic_files.ftl | 1 - i18n/kab/cosmic_files.ftl | 1 - i18n/kk/cosmic_files.ftl | 1 - i18n/kmr/cosmic_files.ftl | 1 - i18n/kn/cosmic_files.ftl | 1 - i18n/ko/cosmic_files.ftl | 1 - i18n/lt/cosmic_files.ftl | 1 - i18n/nb-NO/cosmic_files.ftl | 1 - i18n/nl/cosmic_files.ftl | 1 - i18n/pa/cosmic_files.ftl | 1 - i18n/pl/cosmic_files.ftl | 1 - i18n/pt-BR/cosmic_files.ftl | 1 - i18n/pt/cosmic_files.ftl | 1 - i18n/ro/cosmic_files.ftl | 1 - i18n/sk/cosmic_files.ftl | 1 - i18n/sr/cosmic_files.ftl | 1 - i18n/sv/cosmic_files.ftl | 1 - i18n/th/cosmic_files.ftl | 1 - i18n/tr/cosmic_files.ftl | 1 - i18n/uk/cosmic_files.ftl | 1 - i18n/zh-CN/cosmic_files.ftl | 1 - i18n/zh-TW/cosmic_files.ftl | 1 - 44 files changed, 44 deletions(-) diff --git a/i18n/af/cosmic_files.ftl b/i18n/af/cosmic_files.ftl index d4a9306..610548b 100644 --- a/i18n/af/cosmic_files.ftl +++ b/i18n/af/cosmic_files.ftl @@ -41,4 +41,3 @@ default-size = Standaardgrootte zoom-out = Zoem uit zoom-in = Zoem in menu-settings = Instellings… -search-application = Soek volgens programnaam diff --git a/i18n/ar/cosmic_files.ftl b/i18n/ar/cosmic_files.ftl index 78af675..c4e3292 100644 --- a/i18n/ar/cosmic_files.ftl +++ b/i18n/ar/cosmic_files.ftl @@ -73,7 +73,6 @@ copy_noun = نسخ menu-open-with = افتح ب‍استخدام... default-app = { $name } (المبدئي) -search-application = البحث حسب اسم التطبيق ## Properties diff --git a/i18n/be/cosmic_files.ftl b/i18n/be/cosmic_files.ftl index 243f909..ca4a4e9 100644 --- a/i18n/be/cosmic_files.ftl +++ b/i18n/be/cosmic_files.ftl @@ -317,7 +317,6 @@ unknown-folder = невядомая папка menu-open-with = Адкрыць праз... default-app = { $name } (па змаўчанні) -search-application = Пошук па назве праграмы ## Show details diff --git a/i18n/bg/cosmic_files.ftl b/i18n/bg/cosmic_files.ftl index be0d860..fc2be4e 100644 --- a/i18n/bg/cosmic_files.ftl +++ b/i18n/bg/cosmic_files.ftl @@ -322,7 +322,6 @@ unknown-folder = неизвестна папка menu-open-with = Отваряне с... default-app = { $name } (стандартно) -search-application = Търсене по име на приложението ## Show details diff --git a/i18n/ca/cosmic_files.ftl b/i18n/ca/cosmic_files.ftl index 27c3c6c..f37cc18 100644 --- a/i18n/ca/cosmic_files.ftl +++ b/i18n/ca/cosmic_files.ftl @@ -265,7 +265,6 @@ unknown-folder = carpeta desconeguda menu-open-with = Obre amb... default-app = { $name } (per defecte) -search-application = Cerca pel nom de l'aplicació ## Show details diff --git a/i18n/cs/cosmic_files.ftl b/i18n/cs/cosmic_files.ftl index 1424c8c..fac1794 100644 --- a/i18n/cs/cosmic_files.ftl +++ b/i18n/cs/cosmic_files.ftl @@ -73,7 +73,6 @@ copy_noun = Kopie menu-open-with = Otevřít pomocí... default-app = { $name } (výchozí) -search-application = Hledat podle názvu aplikace ## Properties diff --git a/i18n/da/cosmic_files.ftl b/i18n/da/cosmic_files.ftl index 4df6a42..82e7f27 100644 --- a/i18n/da/cosmic_files.ftl +++ b/i18n/da/cosmic_files.ftl @@ -219,7 +219,6 @@ unknown-folder = ukendt mappe menu-open-with = Åbn med... default-app = { $name } (standardindstilling) -search-application = Søg efter appnavn ## Show details diff --git a/i18n/de/cosmic_files.ftl b/i18n/de/cosmic_files.ftl index 8ce9d63..65a5ebf 100644 --- a/i18n/de/cosmic_files.ftl +++ b/i18n/de/cosmic_files.ftl @@ -301,7 +301,6 @@ unknown-folder = unbekannter Ordner menu-open-with = Öffnen mit... default-app = { $name } (Standard) -search-application = Nach App-Namen suchen ## Details anzeigen diff --git a/i18n/el/cosmic_files.ftl b/i18n/el/cosmic_files.ftl index 3fab5cb..c75e419 100644 --- a/i18n/el/cosmic_files.ftl +++ b/i18n/el/cosmic_files.ftl @@ -135,7 +135,6 @@ menu-about = Σχετικά με τα Αρχεία COSMIC... setting-executable-and-launching = Ορισμός του «{ $name }» ως εκτελέσιμου και εκκίνηση open-multiple-files = Άνοιγμα πολλαπλών αρχείων menu-open-with = Άνοιγμα με... -search-application = Αναζήτηση με όνομα εφαρμογής extracted = Έγινε αποσυμπίεση { $items } { $items -> [one] στοιχείου diff --git a/i18n/es-419/cosmic_files.ftl b/i18n/es-419/cosmic_files.ftl index d1dc0c9..9f8ef72 100644 --- a/i18n/es-419/cosmic_files.ftl +++ b/i18n/es-419/cosmic_files.ftl @@ -204,7 +204,6 @@ unknown-folder = carpeta desconocida menu-open-with = Abrir con... default-app = { $name } (predeterminado) -search-application = Buscar por nombre de la aplicación ## Show details diff --git a/i18n/es/cosmic_files.ftl b/i18n/es/cosmic_files.ftl index 41d9096..4794c10 100644 --- a/i18n/es/cosmic_files.ftl +++ b/i18n/es/cosmic_files.ftl @@ -311,7 +311,6 @@ unknown-folder = carpeta desconocida menu-open-with = Abrir con... default-app = { $name } (predeterminado) -search-application = Buscar por nombre de la aplicación ## Show details diff --git a/i18n/et/cosmic_files.ftl b/i18n/et/cosmic_files.ftl index 5a898df..c4a8785 100644 --- a/i18n/et/cosmic_files.ftl +++ b/i18n/et/cosmic_files.ftl @@ -123,7 +123,6 @@ progress-failed = { $percent }%, ebaõnnestus progress-paused = { $percent }%, peatatud unknown-folder = tundmatu kaust menu-open-with = Ava rakendusega… -search-application = Otsi rakenduse nime järgi default-app = { $name } (vaikimisi) show-details = Näita üksikasju type = Tüüp: { $mime } diff --git a/i18n/fa/cosmic_files.ftl b/i18n/fa/cosmic_files.ftl index ed94f47..972e3c9 100644 --- a/i18n/fa/cosmic_files.ftl +++ b/i18n/fa/cosmic_files.ftl @@ -247,7 +247,6 @@ unknown-folder = پوشه ناشناس menu-open-with = باز کردن با... default-app = { $name } (پیش‌فرض) -search-application = جستجو بر اساس نام برنامه ## Show details diff --git a/i18n/fi/cosmic_files.ftl b/i18n/fi/cosmic_files.ftl index 06b11e3..6000bc7 100644 --- a/i18n/fi/cosmic_files.ftl +++ b/i18n/fi/cosmic_files.ftl @@ -212,7 +212,6 @@ unknown-folder = tuntematon kansio menu-open-with = Avaa sovelluksella… default-app = { $name } (oletus) -search-application = Hae sovelluksen nimellä ## Show details diff --git a/i18n/fr/cosmic_files.ftl b/i18n/fr/cosmic_files.ftl index d619b31..7301596 100644 --- a/i18n/fr/cosmic_files.ftl +++ b/i18n/fr/cosmic_files.ftl @@ -305,7 +305,6 @@ unknown-folder = Dossier inconnu menu-open-with = Ouvrir avec... default-app = { $name } (défaut) -search-application = Rechercher par nom d’application ## Show details diff --git a/i18n/fy/cosmic_files.ftl b/i18n/fy/cosmic_files.ftl index a626675..1e2942e 100644 --- a/i18n/fy/cosmic_files.ftl +++ b/i18n/fy/cosmic_files.ftl @@ -9,4 +9,3 @@ cosmic-files = COSMIC Bestannen empty-folder = Lege map empty-folder-hidden = Lege map (mei ferburgen bestannen) no-results = Gjin resultaten fûn -search-application = Sykje op appnamme diff --git a/i18n/ga/cosmic_files.ftl b/i18n/ga/cosmic_files.ftl index 2001e38..773c2fa 100644 --- a/i18n/ga/cosmic_files.ftl +++ b/i18n/ga/cosmic_files.ftl @@ -288,7 +288,6 @@ unknown-folder = Fillteán anaithnid menu-open-with = Oscail le... default-app = { $name } (réamhshocraithe) -search-application = Cuardaigh de réir ainm na haipe ## Show details diff --git a/i18n/hi/cosmic_files.ftl b/i18n/hi/cosmic_files.ftl index ca80c32..03e0db4 100644 --- a/i18n/hi/cosmic_files.ftl +++ b/i18n/hi/cosmic_files.ftl @@ -204,7 +204,6 @@ unknown-folder = अज्ञात फ़ोल्डर menu-open-with = इसके साथ खोलें default-app = { $name } (डिफ़ॉल्ट) -search-application = ऐप के नाम से खोजें ## Show details diff --git a/i18n/hu/cosmic_files.ftl b/i18n/hu/cosmic_files.ftl index 76802d3..dfdbf44 100644 --- a/i18n/hu/cosmic_files.ftl +++ b/i18n/hu/cosmic_files.ftl @@ -321,7 +321,6 @@ unknown-folder = ismeretlen mappa menu-open-with = Megnyitás mással… default-app = { $name } (alapértelmezett) -search-application = Keresés alkalmazásnév alapján ## Show details diff --git a/i18n/id/cosmic_files.ftl b/i18n/id/cosmic_files.ftl index 57f8a54..3300d25 100644 --- a/i18n/id/cosmic_files.ftl +++ b/i18n/id/cosmic_files.ftl @@ -198,7 +198,6 @@ set-executable-and-launched = Atur "{ $name }" sebagai dijalankan dan diluncurka setting-permissions = Mengatur izin untuk "{ $name }" ke { $mode } set-permissions = Atur izin untuk "{ $name }" ke { $mode } menu-open-with = Buka dengan... -search-application = Cari berdasarkan nama aplikasi unknown-folder = map yang tidak diketahui default-app = { $name } (bawaan) show-details = Tampilkan rincian diff --git a/i18n/is/cosmic_files.ftl b/i18n/is/cosmic_files.ftl index 4457f50..300f1fb 100644 --- a/i18n/is/cosmic_files.ftl +++ b/i18n/is/cosmic_files.ftl @@ -205,7 +205,6 @@ set-executable-and-launched = Stilla „{ $name }“ sem keyranlega og ræst setting-permissions = Stilli heimildir fyrir „{ $name }“ á { $mode } unknown-folder = óþekkt mappa menu-open-with = Opna með... -search-application = Leita eftir heiti forrits default-app = { $name } (sjálfgefið) show-details = Sýna upplýsingar type = Gerð: { $mime } diff --git a/i18n/it/cosmic_files.ftl b/i18n/it/cosmic_files.ftl index 5812239..e3766e5 100644 --- a/i18n/it/cosmic_files.ftl +++ b/i18n/it/cosmic_files.ftl @@ -301,7 +301,6 @@ unknown-folder = cartella sconosciuta menu-open-with = Apri con... default-app = { $name } (predefinito) -search-application = Cerca per nome dell'app ## Show details diff --git a/i18n/ja/cosmic_files.ftl b/i18n/ja/cosmic_files.ftl index 6041778..5534a72 100644 --- a/i18n/ja/cosmic_files.ftl +++ b/i18n/ja/cosmic_files.ftl @@ -163,7 +163,6 @@ unknown-folder = 不明なフォルダー menu-open-with = 別のアプリケーションで開く... default-app = { $name } (デフォルト) -search-application = アプリ名で検索 ## Properties diff --git a/i18n/kab/cosmic_files.ftl b/i18n/kab/cosmic_files.ftl index 44466d5..233c47d 100644 --- a/i18n/kab/cosmic_files.ftl +++ b/i18n/kab/cosmic_files.ftl @@ -140,7 +140,6 @@ renaming = Asnifel n yisem "{ $from }" ɣer "{ $to }" renamed = Yettwasenfel yisem n "{ $from }" ɣer "{ $to }" unknown-folder = akaram arussin menu-open-with = Ldi s… -search-application = Nadi s yisem n usnas default-app = { $name } (amezwer) show-details = Sken talqayt type = Anaw: { $mime } diff --git a/i18n/kk/cosmic_files.ftl b/i18n/kk/cosmic_files.ftl index ca16230..0ee3ffe 100644 --- a/i18n/kk/cosmic_files.ftl +++ b/i18n/kk/cosmic_files.ftl @@ -235,7 +235,6 @@ restored = } { trash } ішінен қалпына келтірілді unknown-folder = белгісіз бума menu-open-with = Көмегімен ашу... -search-application = Қолданба атауы бойынша іздеу default-app = { $name } (әдепкі) show-details = Мәліметтерді көрсету type = Түрі: { $mime } diff --git a/i18n/kmr/cosmic_files.ftl b/i18n/kmr/cosmic_files.ftl index fb12586..6c08bd0 100644 --- a/i18n/kmr/cosmic_files.ftl +++ b/i18n/kmr/cosmic_files.ftl @@ -264,7 +264,6 @@ restoring = icon-size-and-spacing = Mezinahiya îkonan û valahiya di navbera wan de type-to-search-enter-path = Riya rêgehê yan jî pelê têdixîne menu-open-with = Veke bi... -search-application = Li gorî navê sepanê bigere original-file = Pelê resen read-write-execute = Xwendin, nivîsandin û xebitandin calculating = Tê jimartin... diff --git a/i18n/kn/cosmic_files.ftl b/i18n/kn/cosmic_files.ftl index 3d8f35c..cf7a71d 100644 --- a/i18n/kn/cosmic_files.ftl +++ b/i18n/kn/cosmic_files.ftl @@ -204,7 +204,6 @@ unknown-folder = ಅಜ್ಞಾತ ಫೋಲ್ಡರ್ menu-open-with = ಇದರೊಂದಿಗೆ ತೆರೆಯಿರಿ default-app = { $name } (ಸ್ಥೂಲ) -search-application = ಅಪ್ಲಿಕೇಶನ್ ಹೆಸರಿನಿಂದ ಹುಡುಕಿ ## Show details diff --git a/i18n/ko/cosmic_files.ftl b/i18n/ko/cosmic_files.ftl index 3ba9ee4..5683c39 100644 --- a/i18n/ko/cosmic_files.ftl +++ b/i18n/ko/cosmic_files.ftl @@ -51,7 +51,6 @@ complete = 완료 menu-open-with = 다른 앱으로 열기 default-app = { $name } (기본) -search-application = 앱 이름으로 검색 ## Properties diff --git a/i18n/lt/cosmic_files.ftl b/i18n/lt/cosmic_files.ftl index 1757631..2a8e36f 100644 --- a/i18n/lt/cosmic_files.ftl +++ b/i18n/lt/cosmic_files.ftl @@ -235,7 +235,6 @@ restored = } iš { trash } unknown-folder = nežinomas aplankas menu-open-with = Atidaryti su... -search-application = Ieškoti pagal programėlės pavadinimą default-app = { $name } (numatytas) show-details = Rodyti išsamią informaciją type = Tipas: { $mime } diff --git a/i18n/nb-NO/cosmic_files.ftl b/i18n/nb-NO/cosmic_files.ftl index 36741d7..cae2b5b 100644 --- a/i18n/nb-NO/cosmic_files.ftl +++ b/i18n/nb-NO/cosmic_files.ftl @@ -255,7 +255,6 @@ restored = } fra { trash } unknown-folder = ukjent mappe menu-open-with = Åpne med… -search-application = Søk etter appnavn default-app = { $name } (standard) show-details = Vis detaljer type = Type: { $mime } diff --git a/i18n/nl/cosmic_files.ftl b/i18n/nl/cosmic_files.ftl index 9c996c2..2be219f 100644 --- a/i18n/nl/cosmic_files.ftl +++ b/i18n/nl/cosmic_files.ftl @@ -309,7 +309,6 @@ unknown-folder = Onbekende map menu-open-with = Openen met… default-app = { $name } (standaard) -search-application = Zoeken op appnaam ## Show details diff --git a/i18n/pa/cosmic_files.ftl b/i18n/pa/cosmic_files.ftl index ee3a2f3..be7163e 100644 --- a/i18n/pa/cosmic_files.ftl +++ b/i18n/pa/cosmic_files.ftl @@ -105,7 +105,6 @@ history = ਅਤੀਤ pending = ਬਕਾਇਆ progress = { $percent }% menu-open-with = Open with...ਨਾਲ ਖੋਲ੍ਹੋ -search-application = ਐਪ ਦੇ ਨਾਮ ਨਾਲ ਖੋਜੋ default-app = { $name } (ਮੂਲ) show-details = ਵੇਰਵਿਆਂ ਨੂੰ ਵੇਖੋ type = ਕਿਸਮ: { $mime } diff --git a/i18n/pl/cosmic_files.ftl b/i18n/pl/cosmic_files.ftl index bed1ae9..2f58d64 100644 --- a/i18n/pl/cosmic_files.ftl +++ b/i18n/pl/cosmic_files.ftl @@ -325,7 +325,6 @@ unknown-folder = nieznany katalog menu-open-with = Otwórz za pomocą… default-app = { $name } (domyślnie) -search-application = Wyszukaj według nazwy aplikacji ## Show details diff --git a/i18n/pt-BR/cosmic_files.ftl b/i18n/pt-BR/cosmic_files.ftl index 3e7ab2d..6309e46 100644 --- a/i18n/pt-BR/cosmic_files.ftl +++ b/i18n/pt-BR/cosmic_files.ftl @@ -323,7 +323,6 @@ unknown-folder = pasta desconhecida menu-open-with = Abrir com... default-app = { $name } (padrão) -search-application = Pesquisar pelo nome do aplicativo ## Show details diff --git a/i18n/pt/cosmic_files.ftl b/i18n/pt/cosmic_files.ftl index e7a9deb..b0c7e30 100644 --- a/i18n/pt/cosmic_files.ftl +++ b/i18n/pt/cosmic_files.ftl @@ -130,7 +130,6 @@ unknown-folder = pasta desconhecida menu-open-with = Abrir com... default-app = { $name } (predefinição) -search-application = Pesquisar pelo nome da aplicação ## Show details diff --git a/i18n/ro/cosmic_files.ftl b/i18n/ro/cosmic_files.ftl index 4248086..9a903f5 100644 --- a/i18n/ro/cosmic_files.ftl +++ b/i18n/ro/cosmic_files.ftl @@ -280,7 +280,6 @@ unknown-folder = dosar necunoscut menu-open-with = Deschide cu... default-app = { $name } (implicit) -search-application = Caută după numele aplicației ## Show details diff --git a/i18n/sk/cosmic_files.ftl b/i18n/sk/cosmic_files.ftl index 3784752..5a183d7 100644 --- a/i18n/sk/cosmic_files.ftl +++ b/i18n/sk/cosmic_files.ftl @@ -357,7 +357,6 @@ unknown-folder = neznámy priečinok menu-open-with = Otvoriť pomocou... default-app = { $name } (predvolené) -search-application = Hľadať podľa názvu aplikácie ## Show details diff --git a/i18n/sr/cosmic_files.ftl b/i18n/sr/cosmic_files.ftl index f039815..98a9e35 100644 --- a/i18n/sr/cosmic_files.ftl +++ b/i18n/sr/cosmic_files.ftl @@ -66,7 +66,6 @@ setting-executable-and-launching = Подешавање „{ $name }“ као open-multiple-files = Отвори више датотека default-size = Подразумевана величина menu-open-with = Отвори програмом... -search-application = Претражи по називу апликације extracted = Извлачено { $items } { $items -> [one] ставка diff --git a/i18n/sv/cosmic_files.ftl b/i18n/sv/cosmic_files.ftl index a8606eb..506be0b 100644 --- a/i18n/sv/cosmic_files.ftl +++ b/i18n/sv/cosmic_files.ftl @@ -234,7 +234,6 @@ unknown-folder = okänd mapp menu-open-with = Öppna med... default-app = { $name } (standard) -search-application = Sök efter appnamn ## Visa detaljer diff --git a/i18n/th/cosmic_files.ftl b/i18n/th/cosmic_files.ftl index 031eef2..c0da7bc 100644 --- a/i18n/th/cosmic_files.ftl +++ b/i18n/th/cosmic_files.ftl @@ -219,7 +219,6 @@ unknown-folder = แฟ้มที่ไม่รู้จัก menu-open-with = เปิดด้วย... default-app = { $name } (ค่าเริ่มต้น) -search-application = ค้นหาตามชื่อแอป ## Show details diff --git a/i18n/tr/cosmic_files.ftl b/i18n/tr/cosmic_files.ftl index 91745bc..c27767d 100644 --- a/i18n/tr/cosmic_files.ftl +++ b/i18n/tr/cosmic_files.ftl @@ -227,7 +227,6 @@ unknown-folder = bilinmeyen klasör menu-open-with = Birlikte aç... default-app = { $name } (varsayılan) -search-application = Uygulama adına göre ara ## Show details diff --git a/i18n/uk/cosmic_files.ftl b/i18n/uk/cosmic_files.ftl index 2fdbf5e..31b4103 100644 --- a/i18n/uk/cosmic_files.ftl +++ b/i18n/uk/cosmic_files.ftl @@ -121,7 +121,6 @@ unknown-folder = невідома тека menu-open-with = Відкрити за допомогою... default-app = { $name } (звичайний) -search-application = Пошук за назвою застосунку ## Properties diff --git a/i18n/zh-CN/cosmic_files.ftl b/i18n/zh-CN/cosmic_files.ftl index d9344a5..4807c4a 100644 --- a/i18n/zh-CN/cosmic_files.ftl +++ b/i18n/zh-CN/cosmic_files.ftl @@ -319,7 +319,6 @@ unknown-folder = 未知文件夹 menu-open-with = 打开方式… default-app = { $name }(默认) -search-application = 按应用名称搜索 ## Show details diff --git a/i18n/zh-TW/cosmic_files.ftl b/i18n/zh-TW/cosmic_files.ftl index 39eb31f..294ed2a 100644 --- a/i18n/zh-TW/cosmic_files.ftl +++ b/i18n/zh-TW/cosmic_files.ftl @@ -179,7 +179,6 @@ unknown-folder = 不明資料夾 menu-open-with = 開啟檔案... default-app = { $name } (預設) -search-application = 依應用程式名稱搜尋 ## Show details From 6273fe6505ff47ac6253ed1641b2648b696547ff Mon Sep 17 00:00:00 2001 From: sanua356 Date: Sun, 16 Aug 2026 10:30:57 +0300 Subject: [PATCH 03/14] add autofocus, move label to placeholder, add search and clear icons --- src/app.rs | 68 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 38 insertions(+), 30 deletions(-) diff --git a/src/app.rs b/src/app.rs index 3d85777..15abbd5 100644 --- a/src/app.rs +++ b/src/app.rs @@ -395,6 +395,7 @@ pub enum Message { OpenWithBrowse, OpenWithDialog(Option), OpenWithSelection(usize), + OpenWithSearchClear, #[cfg(all(feature = "wayland", feature = "desktop-applet"))] Overlap(window::Id, OverlapNotifyEvent), Paste(Option), @@ -3835,21 +3836,24 @@ impl Application for App { let Some(path) = item.path_opt() else { continue; }; - return self.push_dialog( - DialogPage::OpenWith { - path: path.clone(), - mime: item.mime.clone(), - selected: 0, - store_opt: "x-scheme-handler/mime" - .parse::() - .ok() - .and_then(|mime| { - self.mime_app_cache.get(&mime).first().cloned() - }), - search_app_name: String::new(), - }, - Some(CONFIRM_OPEN_WITH_BUTTON_ID.clone()), - ); + return Task::batch([ + self.push_dialog( + DialogPage::OpenWith { + path: path.clone(), + mime: item.mime.clone(), + selected: 0, + store_opt: "x-scheme-handler/mime" + .parse::() + .ok() + .and_then(|mime| { + self.mime_app_cache.get(&mime).first().cloned() + }), + search_app_name: String::new(), + }, + Some(CONFIRM_OPEN_WITH_BUTTON_ID.clone()), + ), + widget::text_input::focus(self.dialog_text_input.clone()), + ]); } } } @@ -3858,6 +3862,14 @@ impl Application for App { *selected = index; } } + Message::OpenWithSearchClear => { + if let Some(DialogPage::OpenWith { + search_app_name, .. + }) = self.dialog_pages.front_mut() + { + *search_app_name = String::new(); + } + } Message::Paste(entity_opt) => { let entity = entity_opt.unwrap_or_else(|| self.tab_model.active()); if let Some(tab) = self.tab_model.data_mut::(entity) @@ -6049,22 +6061,18 @@ impl Application for App { widget::button::standard(fl!("cancel")).on_press(Message::DialogCancel), ) .control( - widget::column::with_children([ - widget::text::body(fl!("search-application")).into(), - widget::text_input("", search_app_name) - .id(self.dialog_text_input.clone()) - .on_input(move |search_app_name| { - Message::DialogUpdate(DialogPage::OpenWith { - path: path.clone(), - mime: mime.clone(), - selected: *selected, - store_opt: store_opt.clone(), - search_app_name, - }) + widget::search_input(fl!("search-application"), search_app_name) + .id(self.dialog_text_input.clone()) + .on_clear(Message::OpenWithSearchClear) + .on_input(move |search_app_name| { + Message::DialogUpdate(DialogPage::OpenWith { + path: path.clone(), + mime: mime.clone(), + selected: *selected, + store_opt: store_opt.clone(), + search_app_name, }) - .into(), - ]) - .spacing(space_xxs), + }), ) .control(widget::scrollable(column).height({ let max_size = self From e3aa2a0ec5c35242a62ecf09dc42aa00c89c9426 Mon Sep 17 00:00:00 2001 From: sanua356 Date: Sun, 16 Aug 2026 11:14:10 +0300 Subject: [PATCH 04/14] fix incorrect search --- src/app.rs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/app.rs b/src/app.rs index 15abbd5..4caea29 100644 --- a/src/app.rs +++ b/src/app.rs @@ -37,7 +37,7 @@ use cosmic::widget::menu::action::MenuAction; use cosmic::widget::menu::key_bind::KeyBind; use cosmic::widget::segmented_button::{self, Entity, ReorderEvent}; use cosmic::widget::{self, icon, settings, space}; -use cosmic::{Application, ApplicationExt, Element, cosmic_theme, executor, style, surface, theme}; +use cosmic::{Application, ApplicationExt, Element, cosmic_theme, executor, surface, theme}; use mime_guess::Mime; use notify_debouncer_full::notify::{self, RecommendedWatcher}; use notify_debouncer_full::{DebouncedEvent, Debouncer, RecommendedCache, new_debouncer}; @@ -3207,9 +3207,17 @@ impl Application for App { path, mime, selected, + search_app_name, .. } => { - let available_apps = self.mime_app_cache.get_apps_for_mime(&mime, true); + let mut available_apps = + self.mime_app_cache.get_apps_for_mime(&mime, true); + available_apps.retain(|(app, _)| { + app.name + .to_lowercase() + .trim() + .contains(search_app_name.to_lowercase().as_str().trim()) + }); if let Some((app, _)) = available_apps.get(selected) { if let Some(mut command) = From 9bdba47514015c3bfda7a177611545a5cdc4e207 Mon Sep 17 00:00:00 2001 From: Hosted Weblate Date: Wed, 19 Aug 2026 06:51:30 +0200 Subject: [PATCH 05/14] i18n: translation updates from weblate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Alex Co-authored-by: Andi Chandler Co-authored-by: CYAXXX <85353920+CYAXXX@users.noreply.github.com> Co-authored-by: Geeson Wan Co-authored-by: Hosted Weblate Co-authored-by: Jens Peter Nielsen Co-authored-by: Jiri Grönroos Co-authored-by: Kartik Nayak <65574961+kodebarista@users.noreply.github.com> Co-authored-by: Martin Meizoso Co-authored-by: Michael Millet Co-authored-by: Prasanta-Hembram Co-authored-by: Quentin PAGÈS Co-authored-by: Sproston Co-authored-by: Steen Rabol Co-authored-by: Walter William Beckerleg Bruckman Co-authored-by: Wilbur Lindqvist Co-authored-by: sicKat Co-authored-by: the-forest-watches Co-authored-by: therealmate Co-authored-by: 김유빈 Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-files/da/ Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-files/en_GB/ Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-files/fi/ Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-files/gl/ Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-files/hu/ Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-files/it/ Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-files/kmr/ Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-files/ko/ Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-files/nl/ Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-files/oc/ Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-files/pt_BR/ Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-files/ru/ Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-files/sat/ Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-files/zh_Hans/ Translation: Pop OS/COSMIC Files --- i18n/da/cosmic_files.ftl | 189 +++++++++++++++----- i18n/en-GB/cosmic_files.ftl | 100 +++++++++++ i18n/fi/cosmic_files.ftl | 5 +- i18n/gl/cosmic_files.ftl | 333 ++++++++++++++++++++++++++++++++++++ i18n/hu/cosmic_files.ftl | 2 +- i18n/it/cosmic_files.ftl | 6 +- i18n/kmr/cosmic_files.ftl | 10 +- i18n/ko/cosmic_files.ftl | 9 + i18n/nl/cosmic_files.ftl | 2 +- i18n/oc/cosmic_files.ftl | 6 + i18n/pt-BR/cosmic_files.ftl | 2 +- i18n/ru/cosmic_files.ftl | 2 +- i18n/sat/cosmic_files.ftl | 2 + i18n/zh-CN/cosmic_files.ftl | 14 +- 14 files changed, 621 insertions(+), 61 deletions(-) create mode 100644 i18n/gl/cosmic_files.ftl diff --git a/i18n/da/cosmic_files.ftl b/i18n/da/cosmic_files.ftl index 82e7f27..5666fdb 100644 --- a/i18n/da/cosmic_files.ftl +++ b/i18n/da/cosmic_files.ftl @@ -1,35 +1,43 @@ -cosmic-files = COSMIC Filer +cosmic-files = COSMIC Filhåndtering empty-folder = Tom mappe -empty-folder-hidden = Tom mappe (har skjulte filer) -no-results = Ingen resultater +empty-folder-hidden = Tom mappe (har skjulte emner) +no-results = Fandt ingen resultater filesystem = Filsystem home = Hjem networks = Netværk -notification-in-progress = Filoperationer er igangværende. -trash = Skraldespand +notification-in-progress = Fil-operationer er igang +trash = Papirkurv recents = Seneste undo = Fortryd today = I dag # Desktop view options -desktop-view-options = Indstillinger for skrivebordsudseende... -show-on-desktop = Vis på Skrivebordet -desktop-folder-content = Indhold på Skrivebordet +desktop-view-options = Valgmuligheder for skrivebordsvisning... +show-on-desktop = Vis på Skrivebord +desktop-folder-content = Skrivebords-mappeindhold mounted-drives = Monterede drev -trash-folder-icon = Skraldespandsikon -icon-size-and-spacing = Ikonstørrelse og afstand +trash-folder-icon = Papirkurv-ikon +icon-size-and-spacing = Ikonstørrelse og -afstand icon-size = Ikonstørrelse # List view name = Navn modified = Ændret -trashed-on = Smidt ud +trashed-on = Kasseret size = Størrelse # Progress footer details = Detaljer -dismiss = Afvis besked -operations-running = { $running } operationer er i gang ({ $percent }%)... -operations-running-finished = { $running } operationer er i gang ({ $percent }%), { $finished } færdiggjort... +dismiss = Luk meddelelse +operations-running = + { $running } { $running -> + [one] operation + *[other] operationer + } kører ({ $percent }%)... +operations-running-finished = + { $running } { $running -> + [one] operation + *[other] operationer + } kører ({ $percent }%), { $finished } færdig... pause = Pause -resume = Fortsæt +resume = Genoptag # Dialogs @@ -40,12 +48,12 @@ create-archive = Opret arkiv ## Empty Trash Dialog -empty-trash = Tøm skraldespand -empty-trash-warning = Er du sikker på du vil slette alle objekter i Skraldespanden permanent? +empty-trash = Tøm papirkurv +empty-trash-warning = Emner i Papirkurv-mappen vil blive slettet permanent ## Mount Error Dialog -mount-error = Kan ikke tilgå drev +mount-error = Ude af stand til at tilgå drev ## New File/Folder Dialog @@ -53,22 +61,22 @@ create-new-file = Opret ny fil create-new-folder = Opret ny mappe file-name = Filnavn folder-name = Mappenavn -file-already-exists = En fil med det navn eksisterer allerede. -folder-already-exists = En mappe med det navn eksisterer allerede. -name-hidden = Navne begyndende med "." vil blive skjult. -name-invalid = Navn kan ikke være "{ $filename }". -name-no-slashes = Navn kan ikke indeholde skråstreg. +file-already-exists = En fil med det navn eksisterer allerede +folder-already-exists = En mappe med det navn eksisterer allerede +name-hidden = Navne begyndende med "." vil være skjulte +name-invalid = Navn må ikke være "{ $filename }" +name-no-slashes = Navn må ikke indeholde skråstreger ## Open/Save Dialog -cancel = Annullér +cancel = Afbryd create = Opret open = Åbn open-file = Åbn fil open-folder = Åbn mappe -open-in-new-tab = Åbn i ny fane +open-in-new-tab = Åbn i nyt faneblad open-in-new-window = Åbn i nyt vindue -open-item-location = Åbn placering for objekt +open-item-location = Åbn emne-placering open-multiple-files = Åbn flere filer open-multiple-folders = Åbn flere mapper save = Gem @@ -87,20 +95,20 @@ rename-folder = Omdøb mappe ## Replace Dialog replace = Erstat -replace-title = "{ $filename }" eksisterer allerede på denne placering. -replace-warning = Vil du erstatte den med den du er ved at gemme? Hvis du erstatter den, overskriver du dens indhold. -replace-warning-operation = Vil du erstatte den? Hvis du erstatter den, overskriver du dens indhold. +replace-title = "{ $filename }" eksisterer allerede i denne placering +replace-warning = Ønsker du at erstatte den med den, du er ved at gemme? Erstatning af den vil overskrive dens indhold. +replace-warning-operation = Ønsker du at erstatte den? Erstatning af den vil overskrive dens indhold. original-file = Original fil replace-with = Erstat med -apply-to-all = Anvend for alle +apply-to-all = Anvend på alle keep-both = Behold begge skip = Spring over ## Set as Executable and Launch Dialog -set-executable-and-launch = Indstil som eksekverbar fil og start -set-executable-and-launch-description = Vil du indstille "{ $name }" som en eksekverbar fil og starte den? -set-and-launch = Indstil og start +set-executable-and-launch = Angiv som eksekverbar og start +set-executable-and-launch-description = Vil du angive "{ $name }" som eksekverbar og starte den? +set-and-launch = Angiv og start ## Metadata Dialog @@ -239,13 +247,13 @@ settings = Indstillinger appearance = Udseende theme = Tema -match-desktop = Match skrivebord -dark = Mørk -light = Lys +match-desktop = Følg skrivebordets indstillinger +dark = Mørkt +light = Lyst # Context menu add-to-sidebar = Tilføj til sidebjælke -compress = Komprimér -extract-here = Extract +compress = Komprimer… +extract-here = Uddrag new-file = Ny fil... new-folder = Ny mappe... open-in-terminal = Åbn i terminal @@ -280,15 +288,15 @@ quit = Afslut edit = Redigér cut = Klip copy = Kopiér -paste = Sæt ind -select-all = Vælg alt +paste = Indsæt +select-all = Vælg alle ## View zoom-in = Zoom ind default-size = Standardstørrelse zoom-out = Zoom ud -view = Visning +view = Vis grid-view = Gitter-visning list-view = Liste-visning show-hidden-files = Vis skjulte filer @@ -306,3 +314,102 @@ sort-newest-first = Nyeste først sort-oldest-first = Ældste først sort-smallest-to-largest = Mindste til største sort-largest-to-smallest = Største til mindste +delete = Slet +run = Kør +repository = Pakkearkiv +grid-spacing = Gitter-afstand +extract-password-required = Adgangskode påkrævet +extract-to = Udpak Til... +extract-to-title = Udpak til mappe +empty-trash-title = Tøm papirkurv? +keywords = Mappe;Håndtering; +comment = Filhåndteringsprogram til COSMIC-skrivebordet +copy-to-title = Vælg kopi destination +copy-to-button-label = Kopier +move-to-title = Vælg flytte destination +move-to-button-label = Flyt +deleted = + Slettede { $items } { $items -> + [one] element + *[other] elementer + } fra { trash } +removing-from-recents = + Fjerner { $items } { $items -> + [one] element + *[other] elementer + } fra { recents } +type-to-search-enter-path = Indtast stien til mappen eller filen +permanently-deleting = + Sletter permanent { $items } { $items -> + [one] element + *[other] elementer + } +execute-only = Kun kørsel +removed-from-recents = + Fjernede { $items } { $items -> + [one] element + *[other] elementer + } fra { recents } +permanently-deleted = + Slettede permanent { $items } { $items -> + [one] element + *[other] elementer + } +write-only = Kun skrivning +remove = Fjern +context-action = Konteksthandling +context-action-confirm-title = Kør “{ $name }”? +context-action-confirm-warning = + Dette vil køre på { $items } { $items -> + [one] item + *[other] items + }. +selected-items = De { $items } valgte elementer +mixed = Blandet +none = Ingen +write-execute = Skriv og kør +read-only = Kun læsning +read-execute = Læs og kør +read-write = Læs og skriv +read-write-execute = Læs, skriv og kør +keep = Behold +support = Support +progress-failed = { $percent } %, mislykkedes +pasted-image = Indsat billede +pasted-text = Indsat tekst +pasted-video = Indsat video +deleting = + Sletter { $items } { $items -> + [one] element + *[other] elementer + } fra { trash } ({ $progress })... +setting-permissions = Indstiller tilladelser for “{ $name }” til { $mode } +set-permissions = Sæt tilladelser for “{ $name }” til { $mode } +show-recents = Seneste-mappe i sidepanelet +type-to-search = Skriv for at søge +type-to-search-recursive = Søger i den aktuelle mappe og alle undermapper +type-to-search-select = Vælger den første matchende fil eller mappe +clear-recents-history = Ryd seneste historik +copy-to = Kopiér til… +delete-permanently = Slet permanent +eject = Skub ud +move-to = Flyt til… +remove-from-recents = Fjern fra seneste +reload-folder = Genindlæs mappe +copy-path = Kopiér sti +rename-confirm = Omdøb +calculate = Udregn +error = Fejl +checksum = { $kind }-kontrolsum +other-apps = Andre applikationer +related-apps = Relaterede applikationer +permanently-delete-question = Slet permanent? +permanently-delete-warning = { $target } vil blive slettet permanent. Denne handling kan ikke fortrydes. +open-with = Åbn med +favorite-path-error = Fejl ved åbning af sti +favorite-path-error-description = + Ude af stand til at åbne "{ $path }" + "{ $path }" Eksisterer muligvis ikke, eller du har måske ikketilladelse til at åbne den + + Ønsker du at fjerne den fra sidebjælken? +single-click = Enkelt klik for at åbne diff --git a/i18n/en-GB/cosmic_files.ftl b/i18n/en-GB/cosmic_files.ftl index e69de29..62d9b75 100644 --- a/i18n/en-GB/cosmic_files.ftl +++ b/i18n/en-GB/cosmic_files.ftl @@ -0,0 +1,100 @@ +save = Save +quit = Quit +name = Name +delete = Delete +cancel = Cancel +run = Run +new-window = New window +theme = Theme +appearance = Appearance +light = Light +repository = Repository +support = Support +dark = Dark +match-desktop = Match desktop +settings = Settings +replace = Replace +file = File +zoom-in = Zoom in +select-all = Select all +zoom-out = Zoom out +default-size = Default size +edit = Edit +copy = Copy +paste = Paste +view = View +undo = Undo +cut = Cut +icon-size-and-spacing = Icon size and spacing +cosmic-files = COSMIC Files +trash = Rubbish +empty-folder-hidden = Empty folder (has hidden items) +no-results = No results found +empty-folder = Empty folder +menu-settings = Settings... +recents = Recents +mounted-drives = Mounted drives +filesystem = Filesystem +home = Home +desktop-view-options = Desktop view options... +show-on-desktop = Show on Desktop +trash-folder-icon = Bin folder icon +desktop-folder-content = Desktop folder content +networks = Networks +today = Today +notification-in-progress = File operations are in progress +comment = File manager for the COSMIC desktop +keywords = Folder;Manager; +size = Size +dismiss = Dismiss message +trashed-on = Binned +create-archive = Create archive +pause = Pause +resume = Resume +grid-spacing = Grid spacing +details = Details +operations-running-finished = + { $running } { $running -> + [one] operation + *[other] operations + } running ({ $percent }%), { $finished } finished... +icon-size = Icon size +modified = Modified +operations-running = + { $running } { $running -> + [one] operation + *[other] operations + } running ({ $percent }%)... +copy-to-title = Select copy destination +open-file = Open file +open-multiple-files = Open multiple files +create-new-folder = Create new folder +create = Create +other-apps = Other applications +open-multiple-folders = Open multiple folders +extract-to = Extract To... +create-new-file = Create new file +open-in-new-window = Open in new window +folder-name = Folder name +browse-store = Browse { $store } +open-item-location = Open item location +mount-error = Unable to access drive +open = Open +extract-to-title = Extract to folder +open-with-title = How do you want to open "{ $name }"? +extract-password-required = Password required +open-folder = Open folder +open-in-new-tab = Open in new tab +file-name = File name +save-file = Save file +file-already-exists = A file with that name already exists +name-hidden = Names starting with "." will be hidden +folder-already-exists = A folder with that name already exists +empty-trash = Empty bin +empty-trash-title = Empty bin? +name-no-slashes = Name cannot contain slashes +name-invalid = Name cannot be "{ $filename }" +copy-to-button-label = Copy +move-to-title = Select move destination +move-to-button-label = Move +context-action = Context action diff --git a/i18n/fi/cosmic_files.ftl b/i18n/fi/cosmic_files.ftl index 6000bc7..f0bf682 100644 --- a/i18n/fi/cosmic_files.ftl +++ b/i18n/fi/cosmic_files.ftl @@ -225,7 +225,7 @@ settings = Asetukset appearance = Ulkoasu theme = Teema -match-desktop = Sovita työpöytään +match-desktop = Sama kuin työpöytä dark = Tumma light = Vaalea @@ -415,3 +415,6 @@ context-action-confirm-warning = }. run = Suorita rename-confirm = Nimeä uudelleen +checksum = { $kind }-tarkistussumma +calculate = Laske +error = Virhe diff --git a/i18n/gl/cosmic_files.ftl b/i18n/gl/cosmic_files.ftl new file mode 100644 index 0000000..77a5757 --- /dev/null +++ b/i18n/gl/cosmic_files.ftl @@ -0,0 +1,333 @@ +name = Nome +save = Gardar +cancel = Cancelar +run = Executar +delete = Eliminar +repository = Repositorio +support = Soporte +settings = Axustes +appearance = Apariencia +theme = Tema +match-desktop = Axustar ao escritorio +dark = Escuro +light = Claro +replace = Remplazar +file = Ficheiro +new-window = Nova xanela +quit = Pechar +edit = Editar +undo = Desfacer +cut = Cortar +copy = Copiar +paste = Pegar +select-all = Seleccionar todo +view = Ver +zoom-in = Aumentar Zoom +default-size = Tamaño por defecto +zoom-out = Afastar Zoom +menu-settings = Axustes... +cosmic-files = Ficheiros COSMIC +comment = Xestor de ficheiros para o escritorio COSMIC +keywords = Cartafol;Xestor; +empty-folder = Cartafol baleiro +empty-folder-hidden = Cartafol baleiro (contén elementos agochados) +no-results = Non se atoparon resultados +filesystem = Sistema de ficheiros +home = Inicio +networks = Redes +notification-in-progress = Operacións de ficheiros en progreso +trash = Lixo +recents = Recentes +today = Hoxe +desktop-view-options = Axustes da vista do escritorio… +show-on-desktop = Amosar no Escritorio +desktop-folder-content = Contido do cartafol Escritorio +mounted-drives = Unidades montadas +trash-folder-icon = Icona do cartafol do Lixo +icon-size-and-spacing = Tamaño e espazado das iconas +icon-size = Tamaño de icona +grid-spacing = Espazado da grella +modified = Modificado +trashed-on = No lixo +size = Tamaño +details = Detalles +dismiss = Descartar a mensaxe +operations-running = + { $running } { $executandose -> + [unha] operacion + *[outra] operacions + } executandose ({ $percent }%)... +operations-running-finished = + { $running } { $executandose -> + [unha] operacion + *[outra] operacions + } executandose ({ $percent }%), { $finished } rematadas... +pause = Pausa +resume = Retomar +create-archive = Crear arquivo comprimido +copy-to-title = Seleccionar o destino da copia +copy-to-button-label = Copiar +extract-password-required = Contrasinal necesario +extract-to = Extraer en… +extract-to-title = Extraer a cartafol +empty-trash = Baleirar Lixo +empty-trash-title = Baleirar o lixo? +empty-trash-warning = Os elementos do cartafol do lixo eliminaranse de forma permanente +mount-error = Non é posible acceder a unidade +move-to-title = Seleccionar o destino do movemento +move-to-button-label = Mover +create-new-file = Crear un novo ficheiro +create-new-folder = Crear novo cartafol +file-name = Nome do ficheiro +folder-name = Nome do cartafol +file-already-exists = Existe un ficheiro co mesmo nome +folder-already-exists = Existe un cartafol co mesmo nome +name-hidden = Os nomes que comecen por "." agocharanse +name-invalid = O nome non pode ser "{ $filename }" +name-no-slashes = O nome non pode conter barras +create = Crear +open = Abrir +open-file = Abrir ficheiro +open-folder = Abrir cartafol +open-in-new-tab = Abrir nunha nova lapela +open-in-new-window = Abrir nunha nova xanela +open-item-location = Abrir ubicación do ítem +open-multiple-files = Abrir multiples ficheiros +open-multiple-folders = Abrir multiples cartafoles +save-file = Gardar ficheiro +open-with-title = Como queres abrir «{ $name }»? +browse-store = Atopar { $store } +other-apps = Outras aplicacións +related-apps = Aplicacións relacionadas +context-action = Acción contextual +context-action-confirm-title = Executar "{ $name }"? +context-action-confirm-warning = + Esto vaise executar en { $items } { $items -> + [un] item + *[outro] items + }. +selected-items = Os { $items } elementos seleccionados +permanently-delete-question = Eliminar permanentemente? +permanently-delete-warning = { $target } será eliminado permanentemente. Esta acción non se poderá desfacer. +rename-file = Renomear ficheiro +rename-folder = Renomear cartafol +rename-confirm = Renomear +replace-title = "{ $filename }" xa existe nesta ubicación +replace-warning = Queres substituílo polo que estás a gardar? Ao substituílo sobrescribirase o seu contido. +replace-warning-operation = Queres substituílo? Ao substituílo sobrescribirase o seu contido. +original-file = Ficheiro orixinal +replace-with = Remplazar con +apply-to-all = Aplicar a todo +keep-both = Manter ambos +skip = Saltar +set-executable-and-launch = Marcar como executable e lanzalo +set-executable-and-launch-description = Queres marcar «{ $name }» como executábel e lanzalo? +set-and-launch = Marcar e executar +open-with = Abrir con +owner = Propietario +group = Grupo +other = Outro +mixed = Mesturar +none = Ningún +execute-only = Só execución +write-only = Só escritura +write-execute = Escritura e execución +read-only = Só lectura +read-execute = Lectura e execución +read-write = Lectura e escritura +read-write-execute = Lectura, escritura e execución +favorite-path-error = Erro abrindo o directorio +favorite-path-error-description = + Non foi posíbel abrir «{ $path }». + É posíbel que «{ $path }» non exista ou que non teñas permisos para abrilo. + + Queres retiralo da barra lateral? +remove = Eliminar +keep = Manter +add-network-drive = Engadir unidade de rede +connect = Conectar +connect-anonymously = Conectar de xeito anonimo +connecting = Conectando... +domain = Dominio +enter-server-address = Introducir a dirección do servidor +network-drive-description = + Os enderezos dos servidores inclúen un prefixo de protocolo e un enderezo. + Exemplos: ssh://192.168.0.1, ftp://[2001:db8::1] +network-drive-schemes = + Protocolos dispoñíbeis,Prefixo + AppleTalk,afp:// + Protocolo de transferencia de ficheiros,ftp:// ou ftps:// + Sistema de ficheiros en rede,nfs:// + Server Message Block,smb:// + Protocolo de transferencia de ficheiros por SSH,sftp:// ou ssh:// + WebDAV,dav:// ou davs:// +network-drive-error = Non foi posible acceder a unidade de rede +password = Contrasinal +remember-password = Recordar o contrasinal +try-again = Voltar a intentar +username = Nome de usuario +cancelled = Cancelado +edit-history = Editar historial +history = Historial +no-history = Non hai elementos no historial. +pending = Pendente +progress = { $percent }% +progress-cancelled = { $percent }%, cancelado +progress-failed = { $percent }%, fallou +progress-paused = { $percent }%, pausado +failed = Fallou +complete = Completado +compressing = + Comprimindo { $items } { $items -> + [one] elemento + *[other] elementos + } de «{ $from }» a «{ $to }» ({ $progress })... +compressed = + Comprimidos { $items } { $items -> + [one] elemento + *[other] elementos + } de «{ $from }» a «{ $to }» +copy_noun = Copiar +pasted-image = Imaxe pegada +pasted-text = Texto Pegado +pasted-video = Video pegado +creating = Creando "{ $name }" en "{ $parent }" +created = Creado "{ $name }" en "{ $parent }" +copying = + Copiando { $items } { $items -> + [one] elemento + *[other] elementos + } de «{ $from }» a «{ $to }» ({ $progress })... +copied = + Copiados { $items } { $items -> + [one] elemento + *[other] elementos + } de «{ $from }» a «{ $to }» +deleted = + Eliminando { $items } { $items -> + [one] elemento + *[other] elementos + } do lixo ({ $progress }) +emptying-trash = Baleirando { trash } ({ $progress })... +emptied-trash = Baleirado o { trash } +extracting = + Extraendo { $items } { $items -> + [one] elemento + *[other] elementos + } de «{ $from }» a «{ $to }» ({ $progress })... +extracted = + Extraídos { $items } { $items -> + [one] elemento + *[other] elementos + } de «{ $from }» a «{ $to }» +setting-executable-and-launching = Marcando «{ $name }» como executábel e executándoo +set-executable-and-launched = «{ $name }» marcouse como executábel e executouse +setting-permissions = Establecendo os permisos de «{ $name }» en { $mode } +set-permissions = Establecéronse os permisos de «{ $name }» en { $mode } +moving = + Movendo { $items } { $items -> + [one] elemento + *[other] elementos + } de «{ $from }» a «{ $to }» ({ $progress })... +moved = + Movidos { $items } { $items -> + [one] elemento + *[other] elementos + } de «{ $from }» a «{ $to }» +permanently-deleting = + Eliminando permanentemente { $items } { $items -> + [one] elemento + *[other] elementos + } +permanently-deleted = + Eliminados permanentemente { $items } { $items -> + [one] elemento + *[other] elementos + } +removing-from-recents = + Retirando { $items } { $items -> + [one] elemento + *[other] elementos + } dos { recents } +removed-from-recents = + Retirado { $items } { $items -> + [one] elemento + *[other] elementos + } de { recents } +renaming = Renomeando "{ $from }" a "{ $to }" +renamed = Renomeado "{ $from }" a "{ $to }" +restoring = + Restaurando { $items } { $items -> + [one] elemento + *[other] elementos + } de { trash } ({ $progress })... +restored = + Restaurado { $items } { $items -> + [one] elemento + *[other] elementos + } de { trash } +unknown-folder = cartafol descoñecido +menu-open-with = Abrir con... +default-app = { $name } (por defecto) +show-details = Amosar detalles +type = Tipo: { $mime } +items = Elementos: { $items } +item-size = Tamaño: { $size } +item-created = Creado: { $created } +item-modified = Modificado: { $modified } +item-accessed = Accedido: { $accessed } +calculating = Calculando... +checksum = { $kind } checksum +calculate = Calculado +error = Erro +single-click = Clic único para abrir +show-recents = Cartafol de recentes no panel lateral +type-to-search = Escribe para atopar +type-to-search-recursive = Busca no cartafol actual e en todos os subcartafoles +type-to-search-enter-path = Introduce a ruta do cartafol ou ficheiro +type-to-search-select = Selecciona o primeiro ficheiro ou cartafol coincidente +add-to-sidebar = Engadir o panel lateral +clear-recents-history = Limpar historial de recentes +compress = Comprimir... +copy-to = Copiar a... +delete-permanently = Eliminar permanentemente +eject = Expulsar +extract-here = Extraer +new-file = Novo ficheiro... +new-folder = Novo cartafol... +open-in-terminal = Abrir no terminal +move-to = Mover a... +move-to-trash = Mover ao lixo +restore-from-trash = Recuperar do lixo +remove-from-sidebar = Eliminar do panel lateral +sort-by-name = Ordenar por nome +sort-by-modified = Ordenar por modificación +sort-by-size = Ordenar por tamaño +sort-by-trashed = Ordenar pola data de eliminación +remove-from-recents = Eliminar de recentes +change-wallpaper = Cambiar fondo de pantalla... +desktop-appearance = Apariencia do Escritorio... +display-settings = Axustes de pantalla... +new-tab = Nova lapela +reload-folder = Recargar cartafol +rename = Renomear... +close-tab = Pechar lapela +copy-path = Copiar ruta +grid-view = Vista de grella +list-view = Vista de lista +show-hidden-files = Amosar ficheiros ocultos +list-directories-first = Listar primeiro os directorios +gallery-preview = Vista previa da galería +menu-about = Sobre Ficheiros COSMIC... +sort = Ordenar +sort-a-z = A-Z +sort-z-a = Z-A +sort-newest-first = Novos primeiro +sort-oldest-first = Antigos primeiro +sort-smallest-to-largest = Do máis pequeno ao máis grande +sort-largest-to-smallest = Do máis grande ao máis pequeno +deleting = + Eliminando { $items } { $items -> + [one] elemento + *[other] elementos + } da { trash } ({ $progress })... diff --git a/i18n/hu/cosmic_files.ftl b/i18n/hu/cosmic_files.ftl index 76bed29..827bfa1 100644 --- a/i18n/hu/cosmic_files.ftl +++ b/i18n/hu/cosmic_files.ftl @@ -386,7 +386,7 @@ new-window = Új ablak reload-folder = Mappa újratöltése rename = Átnevezés… close-tab = Lap bezárása -quit = Leállítás +quit = Kilépés ## Edit diff --git a/i18n/it/cosmic_files.ftl b/i18n/it/cosmic_files.ftl index 946507b..17abad0 100644 --- a/i18n/it/cosmic_files.ftl +++ b/i18n/it/cosmic_files.ftl @@ -1,5 +1,5 @@ cosmic-files = COSMIC Files -comment = File manager di COSMIC +comment = File manager per il desktop COSMIC keywords = File;Archivi;Cartelle;Explorer; empty-folder = Cartella vuota empty-folder-hidden = Cartella vuota (con elementi nascosti) @@ -7,7 +7,7 @@ no-results = Nessun risultato trovato filesystem = Filesystem home = Home networks = Reti -notification-in-progress = Operazioni sui file in corso. +notification-in-progress = Operazioni sui file in corso trash = Cestino recents = Recenti undo = Annulla @@ -322,7 +322,7 @@ single-click = Click singolo per aprire appearance = Aspetto theme = Tema -match-desktop = Sistema +match-desktop = Abbina al desktop dark = Scuro light = Chiaro diff --git a/i18n/kmr/cosmic_files.ftl b/i18n/kmr/cosmic_files.ftl index a6e3aeb..f45eaeb 100644 --- a/i18n/kmr/cosmic_files.ftl +++ b/i18n/kmr/cosmic_files.ftl @@ -158,7 +158,7 @@ progress-paused = { $percent }%, hate rawestandin desktop-view-options = Vebijêrkên dîtina sermaseyê... show-on-desktop = Li ser sermaseyê nîşan bide cancelled = Têkbirî -new-folder = Peldankan nû... +new-folder = Peldanka nû... match-desktop = Bi sermaseyê re li hev bîne name-no-slashes = Nav nabe ku "/" tê de hebe operations-running-finished = @@ -220,7 +220,7 @@ trash = Jêbirdank undo = Vegerîne today = Îro name = Nav -modified = Guhertî +modified = Guhertin size = Mezinahî details = Hûrgilî pause = Rawestîne @@ -229,7 +229,7 @@ copy-to-title = Rêgeha jêgirtinê hilbijêre copy-to-button-label = Jê bigire move-to-title = Rêgeha livandinê hilbijêre move-to-button-label = Bilivîne -create = Biafrîne +create = Afirandin save = Tomar bike context-action = Çalakiya naverokê context-action-confirm-title = "{ $name }" bixebtîne? @@ -263,7 +263,7 @@ restoring = } ji { trash } ({ $progress })... icon-size-and-spacing = Mezinahiya îkonan û valahiya di navbera wan de type-to-search-enter-path = Riya rêgehê yan jî pelê têdixîne -menu-open-with = Veke bi... +menu-open-with = Veke bi riya... original-file = Pelê resen read-write-execute = Xwendin, nivîsandin û xebitandin calculating = Tê jimartin... @@ -311,7 +311,7 @@ restored = domain = Navper sort = Rêz bike item-accessed = Gihîştin: { $accessed } -open-with = Veke bi +open-with = Veke bi riya keep-both = Herduyan bihêle permanently-deleted = { $items } bi mayînde hate jêbirin{ $items -> diff --git a/i18n/ko/cosmic_files.ftl b/i18n/ko/cosmic_files.ftl index 5683c39..0441da5 100644 --- a/i18n/ko/cosmic_files.ftl +++ b/i18n/ko/cosmic_files.ftl @@ -278,3 +278,12 @@ move-to-button-label = 이동 clear-recents-history = 최근 기록 비우기 copy-path = 복사 경로 move-to-title = 이동 위치 선택 +copy-to-title = 복사 경로 선택 +run = 실행 +rename-confirm = 이름 변경 +mixed = 혼합됨 +pasted-image = 붙여넣은 이미지 +pasted-text = 붙여넣은 텍스트 +pasted-video = 붙여넣은 영상 +copy-to = 복사하기... +move-to = 이동하기... diff --git a/i18n/nl/cosmic_files.ftl b/i18n/nl/cosmic_files.ftl index 2be219f..aa4ef5a 100644 --- a/i18n/nl/cosmic_files.ftl +++ b/i18n/nl/cosmic_files.ftl @@ -425,7 +425,7 @@ removed-from-recents = } uit { recents } verwijderd remove-from-recents = Uit recente verwijderen type-to-search-select = Dit selecteert het eerst overeenkomende bestand of map -comment = Bestandsbeheerder voor COSMIC desktop +comment = Bestandsbeheerder voor COSMIC copy-to-title = Kopieerbestemming aanwijzen copy-to-button-label = Kopiëren move-to-button-label = Verplaatsen diff --git a/i18n/oc/cosmic_files.ftl b/i18n/oc/cosmic_files.ftl index e69de29..aa7bd53 100644 --- a/i18n/oc/cosmic_files.ftl +++ b/i18n/oc/cosmic_files.ftl @@ -0,0 +1,6 @@ +appearance = Aparéncia +theme = Tèma +match-desktop = Assortir al burèu +dark = Fosc +light = Clar +file = Fichièr diff --git a/i18n/pt-BR/cosmic_files.ftl b/i18n/pt-BR/cosmic_files.ftl index e725da3..75b071d 100644 --- a/i18n/pt-BR/cosmic_files.ftl +++ b/i18n/pt-BR/cosmic_files.ftl @@ -388,7 +388,7 @@ new-window = Nova janela reload-folder = Recarregar pasta rename = Renomear... close-tab = Fechar aba -quit = Sair +quit = Encerrar ## Edit diff --git a/i18n/ru/cosmic_files.ftl b/i18n/ru/cosmic_files.ftl index 78ce654..d3dd432 100644 --- a/i18n/ru/cosmic_files.ftl +++ b/i18n/ru/cosmic_files.ftl @@ -272,7 +272,7 @@ extract-to-title = Распаковать в папку mount-error = Не удалось получить доступ к диску create = Создать open-with-title = Как хотите открыть «{ $name }»? -browse-store = Искать в { $store } +browse-store = Перейти в { $store } other-apps = Другие приложения related-apps = Связанные приложения selected-items = { $items } выделенных элем. diff --git a/i18n/sat/cosmic_files.ftl b/i18n/sat/cosmic_files.ftl index 67f522a..61dcbc2 100644 --- a/i18n/sat/cosmic_files.ftl +++ b/i18n/sat/cosmic_files.ftl @@ -1 +1,3 @@ cancel = ᱵᱟᱹᱛᱤᱞ +name = ᱧᱩᱛᱩᱢ +save = ᱥᱟᱧᱪᱟᱣ diff --git a/i18n/zh-CN/cosmic_files.ftl b/i18n/zh-CN/cosmic_files.ftl index a2a96a9..432c875 100644 --- a/i18n/zh-CN/cosmic_files.ftl +++ b/i18n/zh-CN/cosmic_files.ftl @@ -169,8 +169,8 @@ read-write-execute = 读取、写入和执行 favorite-path-error = 打开目录时出错 favorite-path-error-description = - 无法打开 "{ $path }" 。 - "{ $path }" 可能不存在或您没有权限打开它。 + 无法打开“{ $path }” 。 + “{ $path }”可能不存在或您没有权限打开它。 您想要从侧边栏中移除它吗? remove = 移除 @@ -267,10 +267,10 @@ extracted = [one] 项目 *[other] 项目 }到“{ $to }” -setting-executable-and-launching = 设置 "{ $name }" 为可执行文件并启动 -set-executable-and-launched = 已设 "{ $name }" 为可执行文件并且启动 -setting-permissions = 正在设置 "{ $name }" 的权限为 { $mode } -set-permissions = 设置 "{ $name }" 的权限为 { $mode } +setting-executable-and-launching = 设置 “{ $name }” 为可执行文件并启动 +set-executable-and-launched = 已设 “{ $name }” 为可执行文件并且启动 +setting-permissions = 正在设置 “{ $name }” 的权限为 { $mode } +set-permissions = 设置 “{ $name }” 的权限为 { $mode } moving = 正在从“{ $from }”移动 { $items } { $items -> [one] 项目 @@ -302,7 +302,7 @@ removed-from-recents = *[other] 项目 } renaming = 正在将“{ $from }”重命名为“{ $to }” -renamed = 已重命名"{ $from }"为"{ $to }" +renamed = 已重命名 “{ $from }” 为 “{ $to }” restoring = 正在从{ trash }中还原 { $items } { $items -> [one] 项目 From fd6d4523cd6b5fb40aa58c010811fcf64201b27e Mon Sep 17 00:00:00 2001 From: sanua356 Date: Wed, 19 Aug 2026 09:35:15 +0300 Subject: [PATCH 06/14] add submit form on focus search input, change import search_input --- src/app.rs | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/src/app.rs b/src/app.rs index 4caea29..c489e64 100644 --- a/src/app.rs +++ b/src/app.rs @@ -6069,18 +6069,22 @@ impl Application for App { widget::button::standard(fl!("cancel")).on_press(Message::DialogCancel), ) .control( - widget::search_input(fl!("search-application"), search_app_name) - .id(self.dialog_text_input.clone()) - .on_clear(Message::OpenWithSearchClear) - .on_input(move |search_app_name| { - Message::DialogUpdate(DialogPage::OpenWith { - path: path.clone(), - mime: mime.clone(), - selected: *selected, - store_opt: store_opt.clone(), - search_app_name, - }) - }), + widget::text_input::search_input( + fl!("search-application"), + search_app_name, + ) + .id(self.dialog_text_input.clone()) + .on_clear(Message::OpenWithSearchClear) + .on_input(move |search_app_name| { + Message::DialogUpdate(DialogPage::OpenWith { + path: path.clone(), + mime: mime.clone(), + selected: *selected, + store_opt: store_opt.clone(), + search_app_name, + }) + }) + .on_submit(|_| Message::DialogComplete), ) .control(widget::scrollable(column).height({ let max_size = self From a5422167cfcf8aaf92d3f65b720411167d082ccf Mon Sep 17 00:00:00 2001 From: norepro Date: Wed, 5 Aug 2026 22:26:52 -0700 Subject: [PATCH 07/14] Return None on mtime overflow --- src/tab.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tab.rs b/src/tab.rs index 0da0db2..89ad3c0 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -1909,7 +1909,7 @@ impl ItemMetadata { Self::Path { metadata, .. } => metadata.modified().ok(), #[cfg(feature = "gvfs")] Self::GvfsPath { mtime, .. } => { - Some(SystemTime::UNIX_EPOCH + Duration::from_secs(*mtime)) + SystemTime::UNIX_EPOCH.checked_add(Duration::from_secs(*mtime)) } _ => None, } From eebf5a9d4c458a40e5cb558519a483834ac118e3 Mon Sep 17 00:00:00 2001 From: Will Sheehan Date: Wed, 19 Aug 2026 21:46:45 -0700 Subject: [PATCH 08/14] do not panic in truly invalid timestamps --- src/tab.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/tab.rs b/src/tab.rs index 89ad3c0..d11a170 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -437,7 +437,9 @@ impl<'a> FormatTime<'a> { impl Display for FormatTime<'_> { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { - let zoned = jiff::Zoned::try_from(self.time).unwrap(); + let Ok(zoned) = jiff::Zoned::try_from(self.time) else { + return Ok(()); + }; let now = jiff::Zoned::now(); let icu_datetime = DateTime::convert_from(zoned.datetime()); if zoned.date() == now.date() { From cca10d2fd3217da37acde79c186c4dece286c34b Mon Sep 17 00:00:00 2001 From: Paul K Date: Thu, 20 Aug 2026 17:11:10 +0200 Subject: [PATCH 09/14] detect remote filesystems so SFTP browsing is not slow --- src/mounter/gvfs.rs | 40 ++++++++-- src/tab.rs | 176 ++++++++++++++++++++++++++++++++++++-------- 2 files changed, 179 insertions(+), 37 deletions(-) diff --git a/src/mounter/gvfs.rs b/src/mounter/gvfs.rs index 1b7af76..b675dd0 100644 --- a/src/mounter/gvfs.rs +++ b/src/mounter/gvfs.rs @@ -18,6 +18,15 @@ use crate::tab::{self, ChecksumState, DirSize, ItemMetadata, ItemThumbnail, Loca const TARGET_URI_ATTRIBUTE: &str = "standard::target-uri"; +// Attributes requested when listing a network directory. +const SCAN_ATTRIBUTES: &str = "standard::name,\ +standard::display-name,\ +standard::type,\ +standard::size,\ +standard::icon,\ +standard::is-hidden,\ +time::modified"; + fn resolve_uri(uri: &str) -> (String, gio::File) { let file = gio::File::for_uri(uri); // Resolve the target-uri if it exists @@ -119,9 +128,27 @@ fn network_scan(uri: &str, sizes: IconSizes) -> Result, String> { Box::from([]) }; + // `filesystem::remote` belongs to the filesystem namespace, which `enumerate_children` + // never fills in, so it has to be queried once for the directory being listed. + let remote = file + .query_filesystem_info( + gio::FILE_ATTRIBUTE_FILESYSTEM_REMOTE, + gio::Cancellable::NONE, + ) + .map(|info| info.boolean(gio::FILE_ATTRIBUTE_FILESYSTEM_REMOTE)) + .unwrap_or_else(|err| { + log::warn!("failed to get GIO filesystem info for {uri}: {err}"); + // Assume remote, so per-entry work is skipped rather than retried + true + }); + let mut items = Vec::new(); for info_res in file - .enumerate_children("*", gio::FileQueryInfoFlags::NONE, gio::Cancellable::NONE) + .enumerate_children( + SCAN_ATTRIBUTES, + gio::FileQueryInfoFlags::NONE, + gio::Cancellable::NONE, + ) .map_err(err_str)? { let info = info_res.map_err(err_str)?; @@ -133,13 +160,17 @@ fn network_scan(uri: &str, sizes: IconSizes) -> Result, String> { //TODO: what is the best way to resolve shortcuts? let location = Location::Network(uri, display_name.clone(), file.child(&name).path()); - let metadata = if !force_dir && !info.boolean(gio::FILE_ATTRIBUTE_FILESYSTEM_REMOTE) { + let metadata = if force_dir { + ItemMetadata::SimpleDir { entries: 0 } + } else { let mtime = info.attribute_uint64(gio::FILE_ATTRIBUTE_TIME_MODIFIED); let is_dir = matches!(info.file_type(), gio::FileType::Directory); let size_opt = (!is_dir).then_some(info.size() as u64); let mut children_opt = None; - if is_dir { + // Counting children costs a directory listing per entry, which is far too + // expensive on a remote filesystem + if is_dir && !remote { if let Some(path) = file.child(&name).path() { //TODO: calculate children in the background (and make it cancellable?) match std::fs::read_dir(&path) { @@ -159,9 +190,8 @@ fn network_scan(uri: &str, sizes: IconSizes) -> Result, String> { mtime, size_opt, children_opt, + is_dir, } - } else { - ItemMetadata::SimpleDir { entries: 0 } }; let (mime, icon_handle_grid, icon_handle_list, icon_handle_list_condensed) = { diff --git a/src/tab.rs b/src/tab.rs index 0da0db2..6de11e7 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -640,6 +640,41 @@ fn display_name_for_file(path: &Path, name: &str, get_from_gvfs: bool, is_deskto Item::display_name(name) } +// Whether a dir lives on a remote filesystem, according to GIO. +#[cfg(feature = "gvfs")] +fn gvfs_dir_is_remote(dir: &Path) -> bool { + static REMOTE_CACHE: LazyLock>> = + LazyLock::new(|| RwLock::new(FxHashMap::default())); + + if let Some(remote) = REMOTE_CACHE.read().unwrap().get(dir) { + return *remote; + } + + let remote = match gio::prelude::FileExt::query_filesystem_info( + &gio::File::for_path(dir), + gio::FILE_ATTRIBUTE_FILESYSTEM_REMOTE, + gio::Cancellable::NONE, + ) { + Ok(info) => info.boolean(gio::FILE_ATTRIBUTE_FILESYSTEM_REMOTE), + Err(err) => { + log::warn!( + "failed to get GIO filesystem info for {}: {}", + dir.display(), + err + ); + + //Assume remote so that the "expensive tasks" are rather skipped then actually executed. + true + } + }; + + REMOTE_CACHE + .write() + .unwrap() + .insert(dir.to_path_buf(), remote); + remote +} + #[cfg(feature = "gvfs")] pub fn item_from_gvfs_info(path: PathBuf, file_info: gio::FileInfo, sizes: IconSizes) -> Item { let file_name = file_info @@ -647,7 +682,7 @@ pub fn item_from_gvfs_info(path: PathBuf, file_info: gio::FileInfo, sizes: IconS .unwrap_or_default(); let mtime = file_info.attribute_uint64(gio::FILE_ATTRIBUTE_TIME_MODIFIED); let mut is_desktop = false; - let remote = file_info.boolean(gio::FILE_ATTRIBUTE_FILESYSTEM_REMOTE); + let remote = path.parent().is_none_or(gvfs_dir_is_remote); let is_dir = matches!(file_info.file_type(), gio::FileType::Directory); let size_opt = (!is_dir).then_some(file_info.size() as u64); @@ -715,6 +750,7 @@ pub fn item_from_gvfs_info(path: PathBuf, file_info: gio::FileInfo, sizes: IconS mtime, size_opt, children_opt, + is_dir, }, hidden, image_dimensions: (!remote && mime.type_() == mime::IMAGE) @@ -766,23 +802,7 @@ pub fn item_from_entry( #[cfg(feature = "gvfs")] FsKind::Gvfs => { is_gvfs = true; - let file = gio::File::for_path(&path); - - match gio::prelude::FileExt::query_filesystem_info( - &file, - gio::FILE_ATTRIBUTE_FILESYSTEM_REMOTE, - gio::Cancellable::NONE, - ) { - Ok(info) => info.boolean(gio::FILE_ATTRIBUTE_FILESYSTEM_REMOTE), - Err(err) => { - log::warn!( - "failed to get GIO filesystem info for {}: {}", - path.display(), - err - ); - true - } - } + path.parent().is_none_or(gvfs_dir_is_remote) } #[cfg(not(feature = "gvfs"))] FsKind::Gvfs => { @@ -1009,7 +1029,6 @@ pub fn scan_path(tab_path: &PathBuf, sizes: IconSizes) -> Vec { // gio crate expects a comma delimited string let attr_string = [ gio::FILE_ATTRIBUTE_STANDARD_DISPLAY_NAME.as_str(), - gio::FILE_ATTRIBUTE_FILESYSTEM_REMOTE.as_str(), gio::FILE_ATTRIBUTE_TIME_MODIFIED.as_str(), gio::FILE_ATTRIBUTE_STANDARD_SIZE.as_str(), gio::FILE_ATTRIBUTE_STANDARD_TYPE.as_str(), @@ -1818,6 +1837,8 @@ pub enum Message { HighlightDeactivate(usize), HighlightActivate(usize), DirectorySize(PathBuf, DirSize), + #[cfg(feature = "gvfs")] + DirectoryChildren(PathBuf, usize), Checksums(PathBuf, ChecksumState), CalculateChecksums(PathBuf), CopyChecksum(String), @@ -1886,6 +1907,7 @@ pub enum ItemMetadata { mtime: u64, size_opt: Option, children_opt: Option, + is_dir: bool, }, } @@ -1900,7 +1922,7 @@ impl ItemMetadata { Self::SimpleDir { .. } => true, Self::SimpleFile { .. } => false, #[cfg(feature = "gvfs")] - Self::GvfsPath { children_opt, .. } => children_opt.is_some(), + Self::GvfsPath { is_dir, .. } => *is_dir, } } @@ -4827,6 +4849,20 @@ impl Tab { } } } + #[cfg(feature = "gvfs")] + Message::DirectoryChildren(path, children) => { + if let Some(ref mut items) = self.items_opt { + for item in items.iter_mut() { + if item.path_opt() == Some(&path) { + if let ItemMetadata::GvfsPath { children_opt, .. } = &mut item.metadata + { + *children_opt = Some(children); + } + break; + } + } + } + } Message::Checksums(path, checksum_state) => { let location = Location::Path(path); if let Some(ref mut item) = self.parent_item_opt @@ -4988,11 +5024,15 @@ impl Tab { ItemMetadata::GvfsPath { size_opt, children_opt, + is_dir, .. - } => match children_opt { - Some(child_count) => (true, *child_count as u64), - None => (false, size_opt.unwrap_or_default()), - }, + } => { + if *is_dir { + (true, children_opt.unwrap_or_default() as u64) + } else { + (false, size_opt.unwrap_or_default()) + } + } }; let (a_is_entry, a_size) = get_size(a.1); let (b_is_entry, b_size) = get_size(b.1); @@ -6170,17 +6210,21 @@ impl Tab { ItemMetadata::GvfsPath { size_opt, children_opt, + is_dir, .. - } => match children_opt { - Some(child_count) => { - if *child_count == 1 { - format!("{child_count} item") - } else { - format!("{child_count} items") + } => { + if *is_dir { + // Children are not counted on remote filesystems + match children_opt { + //TODO: translate + Some(1) => "1 item".to_string(), + Some(child_count) => format!("{child_count} items"), + None => String::new(), } + } else { + format_size(size_opt.unwrap_or_default()) } - None => format_size(size_opt.unwrap_or_default()), - }, + } }; let row = if condensed { @@ -6946,6 +6990,74 @@ impl Tab { Rectangle::new(point, size) }; + // Count the children of visible directories in the background. Doing it while + // scanning costs one directory listing per entry, which stalls remote filesystems. + #[cfg(feature = "gvfs")] + for item in items { + let ItemMetadata::GvfsPath { + children_opt: None, + is_dir: true, + .. + } = &item.metadata + else { + continue; + }; + + // Skip items that are not visible, or have no determined rect + match item.rect_opt.get() { + Some(rect) if rect.intersects(&visible_rect) => {} + _ => continue, + } + + let Some(path) = item.path_opt().cloned() else { + continue; + }; + + struct ChildrenWrapper(PathBuf); + impl Hash for ChildrenWrapper { + fn hash(&self, state: &mut H) { + self.0.hash(state); + } + } + + subscriptions.push(Subscription::run_with( + ChildrenWrapper(path), + |ChildrenWrapper(path)| { + let path = path.clone(); + stream::channel( + 1, + move |mut output: futures::channel::mpsc::Sender<_>| async move { + let message = { + let path = path.clone(); + tokio::task::spawn_blocking(move || { + let children = match fs::read_dir(&path) { + Ok(entries) => entries.count(), + Err(err) => { + log::warn!( + "failed to read directory {}: {}", + path.display(), + err + ); + 0 + } + }; + Message::DirectoryChildren(path, children) + }) + .await + .unwrap() + }; + + if let Err(err) = output.send(message).await { + log::warn!("failed to send directory children: {err}"); + } + + std::future::pending().await + }, + ) + }, + )); + } + for item in items { if item.thumbnail_opt.is_some() { // Skip items that already have a mime type and thumbnail From 3d520858f388a140ad8565145637e8224ccd3b9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Mendon=C3=A7a?= Date: Thu, 9 Jul 2026 09:09:52 -0300 Subject: [PATCH 10/14] feat: allow renaming sidebar favorites to custom names Co-Authored-By: Claude Fable 5 --- i18n/en/cosmic_files.ftl | 4 ++ i18n/pt-BR/cosmic_files.ftl | 5 ++ src/app.rs | 124 +++++++++++++++++++++++++++++++----- src/config.rs | 100 +++++++++++++++++++++++++++++ src/dialog.rs | 12 +--- 5 files changed, 218 insertions(+), 27 deletions(-) diff --git a/i18n/en/cosmic_files.ftl b/i18n/en/cosmic_files.ftl index ea01f7e..2c1a6f5 100644 --- a/i18n/en/cosmic_files.ftl +++ b/i18n/en/cosmic_files.ftl @@ -118,6 +118,10 @@ rename-file = Rename file rename-folder = Rename folder rename-confirm = Rename +## Rename Favorite Dialog +rename-favorite = Rename sidebar item +favorite-name = Item name + ## Replace Dialog replace = Replace replace-title = "{$filename}" already exists in this location diff --git a/i18n/pt-BR/cosmic_files.ftl b/i18n/pt-BR/cosmic_files.ftl index 75b071d..38d2b79 100644 --- a/i18n/pt-BR/cosmic_files.ftl +++ b/i18n/pt-BR/cosmic_files.ftl @@ -109,6 +109,11 @@ permanently-delete-warning = Deseja realmente excluir permanentemente { $target rename-file = Renomear arquivo rename-folder = Renomear pasta +## Rename Favorite Dialog + +rename-favorite = Renomear item da barra lateral +favorite-name = Nome do item + ## Replace Dialog replace = Substituir diff --git a/src/app.rs b/src/app.rs index afc22f4..6009089 100644 --- a/src/app.rs +++ b/src/app.rs @@ -321,6 +321,7 @@ pub enum NavMenuAction { Preview(segmented_button::Entity), RunContextAction(segmented_button::Entity, usize), RemoveFromSidebar(segmented_button::Entity), + RenameFavorite(segmented_button::Entity), } impl MenuAction for NavMenuAction { @@ -575,6 +576,10 @@ pub enum DialogPage { DeleteTrash { items: Vec, }, + RenameFavorite { + entity: Entity, + name: String, + }, RenameItem { from: PathBuf, parent: PathBuf, @@ -1769,15 +1774,9 @@ impl App { for (favorite_i, favorite) in self.config.favorites.iter().enumerate() { if let Some(path) = favorite.path_opt() { - let name = if matches!(favorite, Favorite::Home) { - fl!("home") - } else if let Favorite::Network { name, .. } = favorite { - name.clone() - } else if let Some(file_name) = path.file_name().and_then(|x| x.to_str()) { - file_name.to_string() - } else { - fl!("filesystem") - }; + let name = favorite + .display_name() + .unwrap_or_else(|| fl!("filesystem")); nav_model = nav_model.insert(move |b| { b.text(name.clone()) .icon( @@ -2290,15 +2289,33 @@ impl App { .favorites .iter() .map(|favorite| { - if let Favorite::Path(path) = favorite { - for (from, to) in path_changes.iter().map(|(f, t)| (f.as_ref(), t.as_ref())) { - if path.starts_with(from) - && let Ok(relative) = path.strip_prefix(from) + match favorite { + Favorite::Path(path) => { + for (from, to) in path_changes.iter().map(|(f, t)| (f.as_ref(), t.as_ref())) { - favorites_changed = true; - return Favorite::from_path(to.join(relative)); + if path.starts_with(from) + && let Ok(relative) = path.strip_prefix(from) + { + favorites_changed = true; + return Favorite::from_path(to.join(relative)); + } } } + Favorite::Named { path, name } => { + for (from, to) in path_changes.iter().map(|(f, t)| (f.as_ref(), t.as_ref())) + { + if path.starts_with(from) + && let Ok(relative) = path.strip_prefix(from) + { + favorites_changed = true; + return Favorite::Named { + path: to.join(relative), + name: name.clone(), + }; + } + } + } + _ => {} } favorite.clone() }) @@ -2613,6 +2630,11 @@ impl Application for App { } items.push(cosmic::widget::menu::Item::Divider); if favorite_index_opt.is_some() { + items.push(cosmic::widget::menu::Item::Button( + fl!("rename-confirm"), + None, + NavMenuAction::RenameFavorite(entity), + )); items.push(cosmic::widget::menu::Item::Button( fl!("remove-from-sidebar"), None, @@ -2904,7 +2926,8 @@ impl Application for App { } else { Favorite::from_path(path) }; - if !favorites.contains(&favorite) { + let favorite_path = favorite.path_opt(); + if !favorites.iter().any(|f| f.path_opt() == favorite_path) { favorites.push(favorite); } } @@ -3262,6 +3285,18 @@ impl Application for App { DialogPage::DeleteTrash { items } => { tasks.push(self.operation(Operation::DeleteTrash { items })); } + DialogPage::RenameFavorite { entity, name } => { + if let Some(FavoriteIndex(favorite_i)) = + self.nav_model.data::(entity) + { + let mut favorites = self.config.favorites.clone(); + if let Some(favorite) = favorites.get_mut(*favorite_i) { + *favorite = favorite.with_name(name.trim()); + config_set!(favorites, favorites); + tasks.push(self.update_config()); + } + } + } DialogPage::RenameItem { from, parent, name, .. } => { @@ -4487,7 +4522,8 @@ impl Application for App { tab::Command::AddToSidebar(path) => { let mut favorites = self.config.favorites.clone(); let favorite = Favorite::from_path(path); - if !favorites.contains(&favorite) { + let favorite_path = favorite.path_opt(); + if !favorites.iter().any(|f| f.path_opt() == favorite_path) { favorites.push(favorite); } config_set!(favorites, favorites); @@ -5271,6 +5307,26 @@ impl Application for App { return self.update_config(); } } + + NavMenuAction::RenameFavorite(entity) => { + if let Some(favorite) = self + .nav_model + .data::(entity) + .and_then(|FavoriteIndex(favorite_i)| { + self.config.favorites.get(*favorite_i) + }) + { + let name = favorite + .display_name() + .unwrap_or_else(|| fl!("filesystem")); + return Task::batch([ + self.dialog_pages + .push_back(DialogPage::RenameFavorite { entity, name }), + widget::text_input::focus(self.dialog_text_input.clone()), + widget::text_input::select_all(self.dialog_text_input.clone()), + ]); + } + } }, Message::Recents => { if self.config.show_recents { @@ -6164,6 +6220,40 @@ impl Application for App { target = target ))) } + DialogPage::RenameFavorite { entity, name } => { + let entity = *entity; + let complete_maybe = if name.trim().is_empty() { + None + } else { + Some(Message::DialogComplete) + }; + + widget::dialog() + .title(fl!("rename-favorite")) + .primary_action( + widget::button::suggested(fl!("rename-confirm")) + .on_press_maybe(complete_maybe.clone()), + ) + .secondary_action( + widget::button::standard(fl!("cancel")).on_press(Message::DialogCancel), + ) + .control( + widget::column::with_children([ + widget::text::body(fl!("favorite-name")).into(), + widget::text_input("", name.as_str()) + .id(self.dialog_text_input.clone()) + .on_input(move |name| { + Message::DialogUpdate(DialogPage::RenameFavorite { + entity, + name, + }) + }) + .on_submit_maybe(complete_maybe.map(|maybe| move |_| maybe.clone())) + .into(), + ]) + .spacing(space_xxs), + ) + } DialogPage::RenameItem { from, parent, diff --git a/src/config.rs b/src/config.rs index 2138d83..bb8631e 100644 --- a/src/config.rs +++ b/src/config.rs @@ -70,6 +70,11 @@ pub enum Favorite { name: String, path: PathBuf, }, + /// A path with a custom name chosen by the user + Named { + path: PathBuf, + name: String, + }, } impl Favorite { @@ -98,6 +103,38 @@ impl Favorite { Self::Videos => dirs::video_dir(), Self::Path(path) => Some(path.clone()), Self::Network { path, .. } => Some(path.clone()), + Self::Named { path, .. } => Some(path.clone()), + } + } + + /// Name shown in the sidebar, or `None` if the path has no usable file name + pub fn display_name(&self) -> Option { + match self { + Self::Home => Some(crate::fl!("home")), + Self::Named { name, .. } | Self::Network { name, .. } => Some(name.clone()), + _ => self + .path_opt()? + .file_name() + .and_then(|x| x.to_str()) + .map(ToString::to_string), + } + } + + /// Return this favorite renamed with a custom name chosen by the user + pub fn with_name(&self, name: &str) -> Self { + match self { + Self::Network { uri, path, .. } => Self::Network { + uri: uri.clone(), + name: name.to_string(), + path: path.clone(), + }, + other => match other.path_opt() { + Some(path) => Self::Named { + path, + name: name.to_string(), + }, + None => other.clone(), + }, } } } @@ -385,3 +422,66 @@ pub const TIME_CONFIG_ID: &str = "com.system76.CosmicAppletTime"; pub struct TimeConfig { pub military_time: bool, } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn favorite_with_name_converts_path_to_named() { + let favorite = Favorite::Path(PathBuf::from("/some/dir")); + assert_eq!( + favorite.with_name("Custom"), + Favorite::Named { + path: PathBuf::from("/some/dir"), + name: "Custom".to_string(), + } + ); + } + + #[test] + fn favorite_with_name_updates_network_in_place() { + let favorite = Favorite::Network { + uri: "sftp://example.com/".to_string(), + name: "example.com".to_string(), + path: PathBuf::from("/run/mount/example"), + }; + assert_eq!( + favorite.with_name("Custom"), + Favorite::Network { + uri: "sftp://example.com/".to_string(), + name: "Custom".to_string(), + path: PathBuf::from("/run/mount/example"), + } + ); + } + + #[test] + fn favorite_with_name_converts_special_folder_to_named() { + let home = dirs::home_dir().unwrap(); + assert_eq!( + Favorite::Home.with_name("Custom"), + Favorite::Named { + path: home, + name: "Custom".to_string(), + } + ); + } + + #[test] + fn favorite_display_name() { + assert_eq!( + Favorite::Path(PathBuf::from("/some/dir")).display_name(), + Some("dir".to_string()) + ); + assert_eq!(Favorite::Path(PathBuf::from("/")).display_name(), None); + assert_eq!( + Favorite::Named { + path: PathBuf::from("/some/dir"), + name: "Custom".to_string(), + } + .display_name(), + Some("Custom".to_string()) + ); + } +} diff --git a/src/dialog.rs b/src/dialog.rs index b369b73..315691a 100644 --- a/src/dialog.rs +++ b/src/dialog.rs @@ -32,9 +32,7 @@ use std::{env, fmt, fs}; use crate::app::{ Action, ContextPage, Message as AppMessage, PreviewItem, PreviewKind, REPLACE_BUTTON_ID, }; -use crate::config::{ - Config, DialogConfig, Favorite, TIME_CONFIG_ID, ThumbCfg, TimeConfig, TypeToSearch, -}; +use crate::config::{Config, DialogConfig, TIME_CONFIG_ID, ThumbCfg, TimeConfig, TypeToSearch}; use crate::key_bind::key_binds; use crate::localize::LANGUAGE_SORTER; use crate::mounter::{MOUNTERS, MounterItem, MounterItems, MounterKey, MounterMessage}; @@ -889,13 +887,7 @@ impl App { for favorite in &self.flags.config.favorites { if let Some(path) = favorite.path_opt() { - let name = if matches!(favorite, Favorite::Home) { - fl!("home") - } else if let Favorite::Network { name, .. } = favorite { - name.clone() - } else if let Some(file_name) = path.file_name().and_then(|x| x.to_str()) { - file_name.to_string() - } else { + let Some(name) = favorite.display_name() else { continue; }; nav_model = nav_model.insert(move |b| { From 08a637767d43fa1d7521f142213708c64b8ff651 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Mendon=C3=A7a?= Date: Thu, 20 Aug 2026 13:53:47 -0300 Subject: [PATCH 11/14] refactor: rename favorite renaming action to "Change sidebar label" Address review feedback on the sidebar favorite renaming feature: - Context menu item and dialog title now share the same "change-sidebar-label" translation key - Rename NavMenuAction::RenameFavorite and DialogPage::RenameFavorite to ChangeSidebarLabel, with the dialog field renamed to "label" - Rename Favorite::with_name to Favorite::with_label - Dialog confirm button now uses the existing "save" key instead of "rename-confirm" - Replace the "rename-favorite"/"favorite-name" keys with "sidebar-label" in en and pt-BR translations Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_01YRJDQDBKhCqipbcZm7U1v9 --- i18n/en/cosmic_files.ftl | 6 +++--- i18n/pt-BR/cosmic_files.ftl | 6 +++--- src/app.rs | 38 ++++++++++++++++++------------------- src/config.rs | 16 ++++++++-------- 4 files changed, 33 insertions(+), 33 deletions(-) diff --git a/i18n/en/cosmic_files.ftl b/i18n/en/cosmic_files.ftl index 2c1a6f5..2c57b53 100644 --- a/i18n/en/cosmic_files.ftl +++ b/i18n/en/cosmic_files.ftl @@ -118,9 +118,8 @@ rename-file = Rename file rename-folder = Rename folder rename-confirm = Rename -## Rename Favorite Dialog -rename-favorite = Rename sidebar item -favorite-name = Item name +## Change Sidebar Label Dialog +sidebar-label = Sidebar label ## Replace Dialog replace = Replace @@ -345,6 +344,7 @@ move-to = Move to... move-to-trash = Move to trash restore-from-trash = Restore from trash remove-from-sidebar = Remove from sidebar +change-sidebar-label = Change sidebar label sort-by-name = Sort by name sort-by-modified = Sort by modified sort-by-size = Sort by size diff --git a/i18n/pt-BR/cosmic_files.ftl b/i18n/pt-BR/cosmic_files.ftl index 38d2b79..83986f2 100644 --- a/i18n/pt-BR/cosmic_files.ftl +++ b/i18n/pt-BR/cosmic_files.ftl @@ -109,10 +109,9 @@ permanently-delete-warning = Deseja realmente excluir permanentemente { $target rename-file = Renomear arquivo rename-folder = Renomear pasta -## Rename Favorite Dialog +## Change Sidebar Label Dialog -rename-favorite = Renomear item da barra lateral -favorite-name = Nome do item +sidebar-label = Rótulo da barra lateral ## Replace Dialog @@ -370,6 +369,7 @@ open-in-terminal = Abrir no terminal move-to-trash = Mover para a lixeira restore-from-trash = Restaurar da lixeira remove-from-sidebar = Remover da barra lateral +change-sidebar-label = Alterar rótulo na barra lateral sort-by-name = Ordenar por nome sort-by-modified = Ordenar por data de modificação sort-by-size = Ordenar por tamanho diff --git a/src/app.rs b/src/app.rs index 6009089..6a7bf63 100644 --- a/src/app.rs +++ b/src/app.rs @@ -321,7 +321,7 @@ pub enum NavMenuAction { Preview(segmented_button::Entity), RunContextAction(segmented_button::Entity, usize), RemoveFromSidebar(segmented_button::Entity), - RenameFavorite(segmented_button::Entity), + ChangeSidebarLabel(segmented_button::Entity), } impl MenuAction for NavMenuAction { @@ -576,9 +576,9 @@ pub enum DialogPage { DeleteTrash { items: Vec, }, - RenameFavorite { + ChangeSidebarLabel { entity: Entity, - name: String, + label: String, }, RenameItem { from: PathBuf, @@ -2631,9 +2631,9 @@ impl Application for App { items.push(cosmic::widget::menu::Item::Divider); if favorite_index_opt.is_some() { items.push(cosmic::widget::menu::Item::Button( - fl!("rename-confirm"), + fl!("change-sidebar-label"), None, - NavMenuAction::RenameFavorite(entity), + NavMenuAction::ChangeSidebarLabel(entity), )); items.push(cosmic::widget::menu::Item::Button( fl!("remove-from-sidebar"), @@ -3285,13 +3285,13 @@ impl Application for App { DialogPage::DeleteTrash { items } => { tasks.push(self.operation(Operation::DeleteTrash { items })); } - DialogPage::RenameFavorite { entity, name } => { + DialogPage::ChangeSidebarLabel { entity, label } => { if let Some(FavoriteIndex(favorite_i)) = self.nav_model.data::(entity) { let mut favorites = self.config.favorites.clone(); if let Some(favorite) = favorites.get_mut(*favorite_i) { - *favorite = favorite.with_name(name.trim()); + *favorite = favorite.with_label(label.trim()); config_set!(favorites, favorites); tasks.push(self.update_config()); } @@ -5308,7 +5308,7 @@ impl Application for App { } } - NavMenuAction::RenameFavorite(entity) => { + NavMenuAction::ChangeSidebarLabel(entity) => { if let Some(favorite) = self .nav_model .data::(entity) @@ -5316,12 +5316,12 @@ impl Application for App { self.config.favorites.get(*favorite_i) }) { - let name = favorite + let label = favorite .display_name() .unwrap_or_else(|| fl!("filesystem")); return Task::batch([ self.dialog_pages - .push_back(DialogPage::RenameFavorite { entity, name }), + .push_back(DialogPage::ChangeSidebarLabel { entity, label }), widget::text_input::focus(self.dialog_text_input.clone()), widget::text_input::select_all(self.dialog_text_input.clone()), ]); @@ -6220,18 +6220,18 @@ impl Application for App { target = target ))) } - DialogPage::RenameFavorite { entity, name } => { + DialogPage::ChangeSidebarLabel { entity, label } => { let entity = *entity; - let complete_maybe = if name.trim().is_empty() { + let complete_maybe = if label.trim().is_empty() { None } else { Some(Message::DialogComplete) }; widget::dialog() - .title(fl!("rename-favorite")) + .title(fl!("change-sidebar-label")) .primary_action( - widget::button::suggested(fl!("rename-confirm")) + widget::button::suggested(fl!("save")) .on_press_maybe(complete_maybe.clone()), ) .secondary_action( @@ -6239,13 +6239,13 @@ impl Application for App { ) .control( widget::column::with_children([ - widget::text::body(fl!("favorite-name")).into(), - widget::text_input("", name.as_str()) + widget::text::body(fl!("sidebar-label")).into(), + widget::text_input("", label.as_str()) .id(self.dialog_text_input.clone()) - .on_input(move |name| { - Message::DialogUpdate(DialogPage::RenameFavorite { + .on_input(move |label| { + Message::DialogUpdate(DialogPage::ChangeSidebarLabel { entity, - name, + label, }) }) .on_submit_maybe(complete_maybe.map(|maybe| move |_| maybe.clone())) diff --git a/src/config.rs b/src/config.rs index bb8631e..f064076 100644 --- a/src/config.rs +++ b/src/config.rs @@ -120,8 +120,8 @@ impl Favorite { } } - /// Return this favorite renamed with a custom name chosen by the user - pub fn with_name(&self, name: &str) -> Self { + /// Return this favorite with a custom sidebar label chosen by the user + pub fn with_label(&self, name: &str) -> Self { match self { Self::Network { uri, path, .. } => Self::Network { uri: uri.clone(), @@ -428,10 +428,10 @@ mod tests { use super::*; #[test] - fn favorite_with_name_converts_path_to_named() { + fn favorite_with_label_converts_path_to_named() { let favorite = Favorite::Path(PathBuf::from("/some/dir")); assert_eq!( - favorite.with_name("Custom"), + favorite.with_label("Custom"), Favorite::Named { path: PathBuf::from("/some/dir"), name: "Custom".to_string(), @@ -440,14 +440,14 @@ mod tests { } #[test] - fn favorite_with_name_updates_network_in_place() { + fn favorite_with_label_updates_network_in_place() { let favorite = Favorite::Network { uri: "sftp://example.com/".to_string(), name: "example.com".to_string(), path: PathBuf::from("/run/mount/example"), }; assert_eq!( - favorite.with_name("Custom"), + favorite.with_label("Custom"), Favorite::Network { uri: "sftp://example.com/".to_string(), name: "Custom".to_string(), @@ -457,10 +457,10 @@ mod tests { } #[test] - fn favorite_with_name_converts_special_folder_to_named() { + fn favorite_with_label_converts_special_folder_to_named() { let home = dirs::home_dir().unwrap(); assert_eq!( - Favorite::Home.with_name("Custom"), + Favorite::Home.with_label("Custom"), Favorite::Named { path: home, name: "Custom".to_string(), From bb8b61f48b51ff0fee034c4d9749b91a6dffe87b Mon Sep 17 00:00:00 2001 From: David Carvalho Date: Sat, 22 Aug 2026 23:03:05 +0200 Subject: [PATCH 12/14] i18n(pt-BR): update translations from Weblate Currently translated at 100.0% (244 of 244 strings) Translation: Pop OS/COSMIC Files Translate-URL: https://hosted.weblate.org/projects/pop-os/cosmic-files/pt_BR/ --- i18n/pt-BR/cosmic_files.ftl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/i18n/pt-BR/cosmic_files.ftl b/i18n/pt-BR/cosmic_files.ftl index 75b071d..ca2507f 100644 --- a/i18n/pt-BR/cosmic_files.ftl +++ b/i18n/pt-BR/cosmic_files.ftl @@ -350,7 +350,7 @@ light = Estilo claro ### Type to Search -type-to-search = Digite para pesquisar +type-to-search = Digitar para pesquisar type-to-search-recursive = Pesquisa na pasta atual e em todas as subpastas type-to-search-enter-path = Insere o caminho do diretório ou arquivo # Context menu From b46b77f3a7a162a0ea625fa156ea4d7df4e9d062 Mon Sep 17 00:00:00 2001 From: Konstantinos Date: Tue, 25 Aug 2026 00:13:24 +0300 Subject: [PATCH 13/14] Align center for text on items in grid view. fixes #754 --- src/tab.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/tab.rs b/src/tab.rs index 60d9bf2..79a5091 100644 --- a/src/tab.rs +++ b/src/tab.rs @@ -2355,6 +2355,7 @@ impl Item { ) -> widget::Text<'a, cosmic::Theme, cosmic::Renderer> { widget::text::body(name) .wrapping(text::Wrapping::WordOrGlyph) + .align_x(text::Alignment::Center) .ellipsize(text::Ellipsize::Middle(text::EllipsizeHeightLimit::Lines( 3, ))) From 67af455898d7ee6098c98083a330c883272b7734 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Tue, 25 Aug 2026 09:20:29 -0600 Subject: [PATCH 14/14] Epoch 1.7.0 version update Generated by cosmic-epoch scripts/version-update.sh --- Cargo.lock | 172 ++++++++++++++++----------------- Cargo.toml | 2 +- cosmic-files-applet/Cargo.toml | 2 +- debian/changelog | 6 ++ 4 files changed, 94 insertions(+), 88 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a463d07..291cf93 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -535,7 +535,7 @@ checksum = "82f6aeea286b8eb4dd3431a1be1b59d290ace00f5bfd8e2a159bc2a05e2c1667" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.4", ] [[package]] @@ -606,7 +606,7 @@ dependencies = [ "derive_utils", "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.4", ] [[package]] @@ -763,9 +763,9 @@ dependencies = [ [[package]] name = "blocking" -version = "1.6.2" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e83f8d02be6967315521be875afa792a316e28d57b5a2d401897e2a7921b7f21" +checksum = "a70e4329df6cb94385eed412ec92375c3cdd8a6e502493d1229b6414e4036dfa" dependencies = [ "async-channel", "async-task", @@ -826,7 +826,7 @@ dependencies = [ [[package]] name = "build_helpers" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" +source = "git+https://github.com/pop-os/libcosmic.git#2a73fbc0edfe1525381bf999e241d73def79b222" dependencies = [ "cfg_aliases", ] @@ -866,7 +866,7 @@ checksum = "fc0e56a716f1e132ff6bf4bdac1c944a3fcdc1cae65f70a4a2a1ac3b401d2d1f" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.4", ] [[package]] @@ -933,9 +933,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.4.3" +version = "1.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "509591b7bcd67f4ef775afad7662703b4935daaa6ec0e5605cfb1090b32a2b6d" +checksum = "0ad534f4357a5264cce5019c989cf66a4f0dc4e0d1b1d15f8aacec0ff7360273" dependencies = [ "find-msvc-tools", "jobserver", @@ -956,9 +956,9 @@ dependencies = [ [[package]] name = "cfg-expr" -version = "0.20.8" +version = "0.20.9" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fb693542bcafa528e198be0ebd9d3632ca5b7c93dbe7237460e199910835997c" +checksum = "fe4ece8474b5f766c63426647e7b4b316b67431ade1036a8313cee24a03ae917" dependencies = [ "smallvec", "target-lexicon", @@ -1359,7 +1359,7 @@ dependencies = [ [[package]] name = "cosmic-config" version = "1.0.0" -source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" +source = "git+https://github.com/pop-os/libcosmic.git#2a73fbc0edfe1525381bf999e241d73def79b222" dependencies = [ "atomicwrites", "cosmic-config-derive", @@ -1380,7 +1380,7 @@ dependencies = [ [[package]] name = "cosmic-config-derive" version = "1.0.0" -source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" +source = "git+https://github.com/pop-os/libcosmic.git#2a73fbc0edfe1525381bf999e241d73def79b222" dependencies = [ "quote", "syn 2.0.119", @@ -1388,7 +1388,7 @@ dependencies = [ [[package]] name = "cosmic-files" -version = "1.6.0" +version = "1.7.0" dependencies = [ "anyhow", "atomic_float", @@ -1457,7 +1457,7 @@ dependencies = [ [[package]] name = "cosmic-files-applet" -version = "1.6.0" +version = "1.7.0" dependencies = [ "cosmic-files", "log", @@ -1506,7 +1506,7 @@ dependencies = [ [[package]] name = "cosmic-settings-config" version = "0.1.0" -source = "git+https://github.com/pop-os/cosmic-settings-daemon#e4d2a74f5115091940f6ea09f730863f74f34758" +source = "git+https://github.com/pop-os/cosmic-settings-daemon#617af3feb74dcf551a7c99b2396b4c9ac22568b3" dependencies = [ "cosmic-config", "ron 0.11.0", @@ -1551,7 +1551,7 @@ dependencies = [ [[package]] name = "cosmic-theme" version = "1.0.0" -source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" +source = "git+https://github.com/pop-os/libcosmic.git#2a73fbc0edfe1525381bf999e241d73def79b222" dependencies = [ "almost", "configparser", @@ -1592,9 +1592,9 @@ dependencies = [ [[package]] name = "crc32fast" -version = "1.5.0" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +checksum = "8498c871161e1742aaa9d52551b2d6ebdd4c3d45a3be423e3728f33b955be550" dependencies = [ "cfg-if", ] @@ -1678,9 +1678,9 @@ checksum = "42aaeae719fd78ce501d77c6cdf01f7e96f26bcd5617a4903a1c2b97e388543a" [[package]] name = "csscolorparser" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "199f851bd3cb5004c09474252c7f74e7c047441ed0979bf3688a7106a13da952" +checksum = "168dbdf4dced8f57fa4246ac9080598452b49d70bb2d0e46422142f113140dd8" dependencies = [ "num-traits", "phf", @@ -1853,7 +1853,7 @@ checksum = "dc05a5d33db20c784f873e84934ad94bb209a090987ac5f62fede2c178234f23" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.4", ] [[package]] @@ -1962,7 +1962,7 @@ checksum = "c6232dd377dcc64799954cbd3a9bb882e9cdc1308ccd87b1c098f1fb2eaf82a8" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.4", ] [[package]] @@ -2059,9 +2059,9 @@ checksum = "d0881ea181b1df73ff77ffaaf9c7544ecc11e82fba9b5f27b262a3c73a332555" [[package]] name = "either" -version = "1.17.0" +version = "1.18.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e5e8f6c15a24b9a3ee5efec809ccd006d3b30e8b3bb63c39af737c7f87daa1d" +checksum = "252afb9ae5eaa683babdc6a068b3f5726eb19e05070c731f9b2a23a7c3e8ed34" [[package]] name = "endi" @@ -2391,9 +2391,9 @@ dependencies = [ [[package]] name = "font-types" -version = "0.12.3" +version = "0.12.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "75382bc7392ef10aad10935f92fc3db36d2d4dad0e5d96d8d65e04f89a07ec39" +checksum = "e64eb721ca85a34323425f4041adc5d82704d3782d5f8f03793bc012419dce23" dependencies = [ "bytemuck", ] @@ -2439,7 +2439,7 @@ checksum = "ea5190182e6915eb873ddbc16e23b711b6eb1f9c00a0d0a3a91b5f6228475225" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.4", ] [[package]] @@ -2569,7 +2569,7 @@ checksum = "9fb9654ba8355388abeb8dcb4fc62f511300867002afc858860463bdd9fe0c44" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.4", ] [[package]] @@ -2992,7 +2992,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d37f101bf4c633f7ca2e4b5e136050314503dd198e78e325ea602c327c484ef0" dependencies = [ "arrayvec", - "rand 0.8.7", + "rand 0.8.8", "serde", ] @@ -3114,7 +3114,7 @@ dependencies = [ [[package]] name = "iced" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" +source = "git+https://github.com/pop-os/libcosmic.git#2a73fbc0edfe1525381bf999e241d73def79b222" dependencies = [ "build_helpers", "dnd", @@ -3136,7 +3136,7 @@ dependencies = [ [[package]] name = "iced_accessibility" version = "0.1.0" -source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" +source = "git+https://github.com/pop-os/libcosmic.git#2a73fbc0edfe1525381bf999e241d73def79b222" dependencies = [ "accesskit", "accesskit_winit", @@ -3145,7 +3145,7 @@ dependencies = [ [[package]] name = "iced_core" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" +source = "git+https://github.com/pop-os/libcosmic.git#2a73fbc0edfe1525381bf999e241d73def79b222" dependencies = [ "bitflags 2.13.1", "build_helpers", @@ -3171,7 +3171,7 @@ dependencies = [ [[package]] name = "iced_debug" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" +source = "git+https://github.com/pop-os/libcosmic.git#2a73fbc0edfe1525381bf999e241d73def79b222" dependencies = [ "iced_core", "iced_futures", @@ -3181,7 +3181,7 @@ dependencies = [ [[package]] name = "iced_futures" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" +source = "git+https://github.com/pop-os/libcosmic.git#2a73fbc0edfe1525381bf999e241d73def79b222" dependencies = [ "futures", "iced_core", @@ -3195,7 +3195,7 @@ dependencies = [ [[package]] name = "iced_graphics" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" +source = "git+https://github.com/pop-os/libcosmic.git#2a73fbc0edfe1525381bf999e241d73def79b222" dependencies = [ "bitflags 2.13.1", "bytemuck", @@ -3216,7 +3216,7 @@ dependencies = [ [[package]] name = "iced_program" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" +source = "git+https://github.com/pop-os/libcosmic.git#2a73fbc0edfe1525381bf999e241d73def79b222" dependencies = [ "iced_graphics", "iced_runtime", @@ -3225,7 +3225,7 @@ dependencies = [ [[package]] name = "iced_renderer" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" +source = "git+https://github.com/pop-os/libcosmic.git#2a73fbc0edfe1525381bf999e241d73def79b222" dependencies = [ "iced_graphics", "iced_tiny_skia", @@ -3237,7 +3237,7 @@ dependencies = [ [[package]] name = "iced_runtime" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" +source = "git+https://github.com/pop-os/libcosmic.git#2a73fbc0edfe1525381bf999e241d73def79b222" dependencies = [ "build_helpers", "bytes", @@ -3253,7 +3253,7 @@ dependencies = [ [[package]] name = "iced_tiny_skia" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" +source = "git+https://github.com/pop-os/libcosmic.git#2a73fbc0edfe1525381bf999e241d73def79b222" dependencies = [ "bytemuck", "cosmic-text", @@ -3270,7 +3270,7 @@ dependencies = [ [[package]] name = "iced_wgpu" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" +source = "git+https://github.com/pop-os/libcosmic.git#2a73fbc0edfe1525381bf999e241d73def79b222" dependencies = [ "as-raw-xcb-connection", "bitflags 2.13.1", @@ -3302,7 +3302,7 @@ dependencies = [ [[package]] name = "iced_widget" version = "0.14.2" -source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" +source = "git+https://github.com/pop-os/libcosmic.git#2a73fbc0edfe1525381bf999e241d73def79b222" dependencies = [ "build_helpers", "cosmic-client-toolkit", @@ -3321,7 +3321,7 @@ dependencies = [ [[package]] name = "iced_winit" version = "0.14.0" -source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" +source = "git+https://github.com/pop-os/libcosmic.git#2a73fbc0edfe1525381bf999e241d73def79b222" dependencies = [ "build_helpers", "cosmic-client-toolkit", @@ -3353,9 +3353,9 @@ dependencies = [ [[package]] name = "icu" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d5080b89807979ab05f8b6f3c6bbd580ece1512a6cf4cf800baa76937e488b3" +checksum = "4867dd3a39b9d48632416cc7fc3dfa1913d89fd36cc02fe7bfc1dddc6fda3cde" dependencies = [ "icu_calendar", "icu_casemap", @@ -3423,9 +3423,9 @@ checksum = "059fcda0fc8d33effc6633a8cf0d8a3c17caf7d7c91918fba9918744f501e4e8" [[package]] name = "icu_collator" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "59eea194d189ca897bcb960fd2130f9e7d53998460d4d32e85a60b10d5507cf4" +checksum = "08984ed58ac439ebf3e13d2cf26b0c46a60afcd21721c1d14087c0b240344dda" dependencies = [ "icu_collator_data", "icu_collections", @@ -3578,9 +3578,9 @@ checksum = "4ffef91ee351bd195a803115615a034dfb9f02bb48850980548c31cb78568a91" [[package]] name = "icu_locale" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "250ec6d4ac288584d1d0ba29dbfad7737635b7b0e822441f4026a523e3fdb147" +checksum = "785f595c61ef57169a467eeed7b4b6936a66f6cacbb116a96ee86da983251bf4" dependencies = [ "icu_collections", "icu_locale_core", @@ -3711,9 +3711,9 @@ checksum = "e590f038c1464a96894fd6d10127e90a8be4509f56ff7ecef851b15cee0b7caa" [[package]] name = "icu_provider" -version = "2.3.0" +version = "2.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92a7ed671a6aad807a8651a2e1782a6598fda9ce5185dd8158549e95a91c6428" +checksum = "d27bbb9d3abbefac45d55f647c9de1d44aafcd1186eb91879afef17c396c3e73" dependencies = [ "displaydoc", "icu_locale_core", @@ -4466,7 +4466,7 @@ checksum = "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2" [[package]] name = "libcosmic" version = "1.0.0" -source = "git+https://github.com/pop-os/libcosmic.git#c1897c01aa8a25776ceadeddcb161bb59ccffd79" +source = "git+https://github.com/pop-os/libcosmic.git#2a73fbc0edfe1525381bf999e241d73def79b222" dependencies = [ "apply", "ashpd 0.12.3", @@ -4553,7 +4553,7 @@ dependencies = [ "bitflags 2.13.1", "libc", "plain", - "redox_syscall 0.9.2", + "redox_syscall 0.9.3", ] [[package]] @@ -4625,9 +4625,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.33" +version = "0.4.34" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ceec5bc11778974d1bcb055b18002eba7f4b3518b6a0081b3af5f21666da9ad" +checksum = "f9f8bd3e56ce4dfc153cf470fffbfa98c7620958b312ca5c3a4b8d5181fd13c6" [[package]] name = "loom" @@ -5381,9 +5381,9 @@ checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" [[package]] name = "open" -version = "5.4.1" +version = "5.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f9cfef937e9c486488c7e3d949ae31c0f1d06bdacd75b99c086cb35356e30408" +checksum = "ade3be4664bc1ef537ce133015f04c176b737815c2ba9fd60edf212d6e90dd55" dependencies = [ "is-wsl", "libc", @@ -5407,9 +5407,9 @@ dependencies = [ [[package]] name = "ordered-float" -version = "5.3.0" +version = "5.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b7d950ca161dc355eaf28f82b11345ed76c6e1f6eb1f4f4479e0323b9e2fbd0e" +checksum = "8c7c9e0d9b23589f26070720bac724174bfec1083e82f7854cdd0267518343c0" dependencies = [ "num-traits", ] @@ -5799,7 +5799,7 @@ dependencies = [ "proc-macro-error-attr3", "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.4", ] [[package]] @@ -5962,9 +5962,9 @@ checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" [[package]] name = "rand" -version = "0.8.7" +version = "0.8.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "22f6172bdec972074665ed81ed53b71da00bfc44b65a753cfde883ec4c702a1a" +checksum = "e058c7de0b26af77780c769414d6257830bb240f3c38477dbc2c16e5f54d6d4c" dependencies = [ "libc", "rand_chacha 0.3.1", @@ -6134,7 +6134,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "046a7d674daf459825b32f5062056d6882db0d2f5a479fbd76ccfc870ac18709" dependencies = [ "bytemuck", - "font-types 0.12.3", + "font-types 0.12.4", "once_cell", ] @@ -6181,9 +6181,9 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.9.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1c93da5bb2c5d4e6c0ef7abeead62c89169a0a4882bfb83ac892f2423aea2fe" +checksum = "d678d17679829e73d371e96880897e98fee2ded7acc0a50bdf8af2affa4b2fe5" dependencies = [ "bitflags 2.13.1", ] @@ -6212,22 +6212,22 @@ dependencies = [ [[package]] name = "ref-cast" -version = "1.0.26" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216e8f773d7923bcba9ceb86a86c93cabb3903a11872fc3f138c49630e50b96d" +checksum = "7e440fb4e4b4147295338efb76001ab9e4efc0e5839df2c47fc5ac2381d365c3" dependencies = [ "ref-cast-impl", ] [[package]] name = "ref-cast-impl" -version = "1.0.26" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2c9283685feec7d69af75fb0e858d5e7378f33fe4fc699383b2916ab9273e03c" +checksum = "92ecd8964f8453721699a1ed72037b0db49ce2f5a5138486ee89bed6f67cdf3a" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.4", ] [[package]] @@ -6551,7 +6551,7 @@ checksum = "e7a5d71263a5a7d47b41f6b3f06ba276f10cc18b0931f1799f710578e2309348" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.4", ] [[package]] @@ -6576,7 +6576,7 @@ checksum = "8d3b1629de253c70a0508c3899572da79ca359fdab27c7920ff00406df418906" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.4", ] [[package]] @@ -6959,9 +6959,9 @@ dependencies = [ [[package]] name = "syn" -version = "3.0.3" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53e9bae58849f64dfa4f5d5ae372c8341f7305f82a3868709269343628b659a3" +checksum = "e6275cddf4610d1775e6d1fe9469b2e77d0f39fd98fb7450901b821e0c53649f" dependencies = [ "proc-macro2", "quote", @@ -7154,7 +7154,7 @@ checksum = "bc04cd3e1236dd4a98afca4569f2deb3f120e5422a4023be2cb683f8486292af" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.4", ] [[package]] @@ -7346,7 +7346,7 @@ checksum = "78773a2a397f451582ce068015985c33193cf6dea8b74d2a639fe457b2f07b0e" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.4", ] [[package]] @@ -7707,9 +7707,9 @@ checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "uuid" -version = "1.24.1" +version = "1.25.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2cefc03fd367c0c6d4305de1b312cf00248c4114f4a0418ce6a6af769e3b0bd9" +checksum = "f053576934f05a761a402421fbbe3d425d9366f75f978806a037b3ca481abecc" dependencies = [ "getrandom 0.4.3", "js-sys", @@ -9201,7 +9201,7 @@ dependencies = [ "hex", "nix", "ordered-stream", - "rand 0.8.7", + "rand 0.8.8", "serde", "serde_repr", "sha1 0.10.7", @@ -9297,7 +9297,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.4", "zbus_names 4.3.4", "zvariant 5.15.0", "zvariant_utils 4.2.0", @@ -9413,9 +9413,9 @@ dependencies = [ [[package]] name = "zerovec" -version = "0.11.7" +version = "0.11.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b5c6b5976d66c1d703c4fd17d3f5e43c8cedaacf604961b171adc7130896d8" +checksum = "bb0464e17806c1d976d5cba29399c7f08e516e279e2ba493f63123b5fca67dd8" dependencies = [ "serde", "yoke", @@ -9425,13 +9425,13 @@ dependencies = [ [[package]] name = "zerovec-derive" -version = "0.11.5" +version = "0.11.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9f212a141d820099d57ffafb9569be9617a6f27d3dc881fbee8fb56642f917a9" +checksum = "34df6fc39dbd26ddc9c10e6a2984476e13acce22e64e4487636ef494369225da" dependencies = [ "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.4", ] [[package]] @@ -9603,7 +9603,7 @@ dependencies = [ "proc-macro-crate", "proc-macro2", "quote", - "syn 3.0.3", + "syn 3.0.4", "zvariant_utils 4.2.0", ] @@ -9627,6 +9627,6 @@ dependencies = [ "proc-macro2", "quote", "serde", - "syn 3.0.3", + "syn 3.0.4", "winnow", ] diff --git a/Cargo.toml b/Cargo.toml index 68002b9..d46796c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cosmic-files" -version = "1.6.0" +version = "1.7.0" authors = ["Jeremy Soller "] edition = "2024" license = "GPL-3.0-only" diff --git a/cosmic-files-applet/Cargo.toml b/cosmic-files-applet/Cargo.toml index cc632ae..8d396ae 100644 --- a/cosmic-files-applet/Cargo.toml +++ b/cosmic-files-applet/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "cosmic-files-applet" -version = "1.6.0" +version = "1.7.0" edition = "2024" [dependencies] diff --git a/debian/changelog b/debian/changelog index 65f6401..6cbee03 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +cosmic-files (1.7.0) noble; urgency=medium + + * Epoch 1.7.0 version update + + -- Jeremy Soller Tue, 25 Aug 2026 09:20:22 -0600 + cosmic-files (1.6.0) noble; urgency=medium * Epoch 1.6.0 version update