Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package gearlever for openSUSE:Factory checked in at 2026-04-07 16:32:44 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/gearlever (Old) and /work/SRC/openSUSE:Factory/.gearlever.new.21863 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "gearlever" Tue Apr 7 16:32:44 2026 rev:20 rq:1344681 version:4.4.10 Changes: -------- --- /work/SRC/openSUSE:Factory/gearlever/gearlever.changes 2026-04-02 17:42:16.582107675 +0200 +++ /work/SRC/openSUSE:Factory/.gearlever.new.21863/gearlever.changes 2026-04-07 16:47:45.185680070 +0200 @@ -1,0 +2,18 @@ +Sun Apr 05 15:45:42 UTC 2026 - [email protected] + +- Update to version 4.4.10: + * Update meson.build + * Remove invalid import for NO_CONNECTION_LABEL + +------------------------------------------------------------------- +Sun Apr 05 15:45:33 UTC 2026 - [email protected] + +- Update to version 4.4.9: + * version bump + * updated pot file + * updated connection checking UI + * improved connection check + * Added missing translation for pt-PT + * Update the brazilian translation + +------------------------------------------------------------------- Old: ---- gearlever-4.4.8.tar.xz New: ---- gearlever-4.4.10.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ gearlever.spec ++++++ --- /var/tmp/diff_new_pack.Bd8thL/_old 2026-04-07 16:47:45.845707141 +0200 +++ /var/tmp/diff_new_pack.Bd8thL/_new 2026-04-07 16:47:45.849707305 +0200 @@ -18,7 +18,7 @@ %define appid it.mijorus.gearlever Name: gearlever -Version: 4.4.8 +Version: 4.4.10 Release: 0 Summary: Manage AppImages License: GPL-3.0-or-later ++++++ _service ++++++ --- /var/tmp/diff_new_pack.Bd8thL/_old 2026-04-07 16:47:45.909709766 +0200 +++ /var/tmp/diff_new_pack.Bd8thL/_new 2026-04-07 16:47:45.917710094 +0200 @@ -6,7 +6,7 @@ <param name="exclude">.git</param> <param name="versionformat">@PARENT_TAG@</param> <param name="versionrewrite-pattern">v(.*)</param> - <param name="revision">4.4.8</param> + <param name="revision">4.4.10</param> <param name="changesgenerate">enable</param> </service> <service name="recompress" mode="manual"> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.Bd8thL/_old 2026-04-07 16:47:45.953711571 +0200 +++ /var/tmp/diff_new_pack.Bd8thL/_new 2026-04-07 16:47:45.961711899 +0200 @@ -1,6 +1,6 @@ <servicedata> <service name="tar_scm"> <param name="url">https://github.com/mijorus/gearlever.git</param> - <param name="changesrevision">7766cb65f745658e993f4d85fbe555e6cc3e582e</param></service></servicedata> + <param name="changesrevision">8b1e008fc5f86273c55a06e5597257375ed317b5</param></service></servicedata> (No newline at EOF) ++++++ gearlever-4.4.8.tar.xz -> gearlever-4.4.10.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gearlever-4.4.8/data/it.mijorus.gearlever.metainfo.xml.in new/gearlever-4.4.10/data/it.mijorus.gearlever.metainfo.xml.in --- old/gearlever-4.4.8/data/it.mijorus.gearlever.metainfo.xml.in 2026-03-03 21:13:39.000000000 +0100 +++ new/gearlever-4.4.10/data/it.mijorus.gearlever.metainfo.xml.in 2026-04-02 19:30:05.000000000 +0200 @@ -21,6 +21,12 @@ <p>An utility to manage AppImages with ease! Gear lever will organize and manage AppImage files for you, generate desktop entries and app metadata, update apps in-place or keep multiple versions side-by-side.</p> </description> <releases> + <release type="stable" version="4.4.9" date="2026-04-01:00:00Z"> + <description> + <p>- Improved network detection logic</p> + <p>- Updated translations</p> + </description> + </release> <release type="stable" version="4.4.5" date="2026-02-24:00:00Z"> <description> <p>- Fixed an issue with the update system</p> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gearlever-4.4.8/meson.build new/gearlever-4.4.10/meson.build --- old/gearlever-4.4.8/meson.build 2026-03-03 21:13:39.000000000 +0100 +++ new/gearlever-4.4.10/meson.build 2026-04-02 19:30:05.000000000 +0200 @@ -1,5 +1,5 @@ project('gearlever', - version: '4.4.8', + version: '4.4.10', meson_version: '>= 0.59.0', default_options: [ 'warning_level=2', ], diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gearlever-4.4.8/po/gearlever.pot new/gearlever-4.4.10/po/gearlever.pot --- old/gearlever-4.4.8/po/gearlever.pot 2026-03-03 21:13:39.000000000 +0100 +++ new/gearlever-4.4.10/po/gearlever.pot 2026-04-02 19:30:05.000000000 +0200 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-19 10:31+0100\n" +"POT-Creation-Date: 2026-03-31 17:31+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <[email protected]>\n" @@ -17,15 +17,15 @@ "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: data/it.mijorus.gearlever.desktop.in:2 +#: data/it.mijorus.gearlever.desktop.in:3 msgid "Gear Lever" msgstr "" -#: data/it.mijorus.gearlever.desktop.in:3 +#: data/it.mijorus.gearlever.desktop.in:4 msgid "An utility to manage AppImages with ease!" msgstr "" -#: data/it.mijorus.gearlever.desktop.in:11 +#: data/it.mijorus.gearlever.desktop.in:12 msgid "AppImage;" msgstr "" @@ -33,7 +33,7 @@ msgid "translator_credits" msgstr "" -#: src/AppDetails.py:35 src/AppDetails.py:84 src/AppDetails.py:479 +#: src/AppDetails.py:35 src/AppDetails.py:91 src/AppDetails.py:488 msgid "Update" msgstr "" @@ -69,157 +69,157 @@ msgid "Manage update details for this application" msgstr "" -#: src/AppDetails.py:236 +#: src/AppDetails.py:245 msgid "" "This app is located outside the default folder\n" "<small>You can hide external apps in the settings</small>" msgstr "" -#: src/AppDetails.py:247 +#: src/AppDetails.py:258 msgid "Please, verify the source of this app before opening it" msgstr "" -#: src/AppDetails.py:248 +#: src/AppDetails.py:259 msgid "Unlock" msgstr "" -#: src/AppDetails.py:347 +#: src/AppDetails.py:356 msgid "Unkown Error" msgstr "" -#: src/AppDetails.py:396 +#: src/AppDetails.py:405 msgid "Launching..." msgstr "" -#: src/AppDetails.py:447 +#: src/AppDetails.py:456 #, python-brace-format msgid "" "{app_name} is running, please close it before proceeding with the update" msgstr "" -#: src/AppDetails.py:501 +#: src/AppDetails.py:510 msgid "Update error" msgstr "" -#: src/AppDetails.py:505 +#: src/AppDetails.py:514 msgid "Close" msgstr "" -#: src/AppDetails.py:512 +#: src/AppDetails.py:521 msgid "Do you really want to remove this app?" msgstr "" -#: src/AppDetails.py:515 src/components/AppDetailsConflictModal.py:14 +#: src/AppDetails.py:524 src/components/AppDetailsConflictModal.py:14 msgid "Cancel" msgstr "" -#: src/AppDetails.py:516 src/AppDetails.py:555 +#: src/AppDetails.py:525 src/AppDetails.py:564 msgid "Remove" msgstr "" -#: src/AppDetails.py:551 src/AppDetails.py:571 +#: src/AppDetails.py:560 src/AppDetails.py:580 msgid "This app runs in the terminal" msgstr "" -#: src/AppDetails.py:553 src/AppDetails.py:568 src/AppDetails.py:574 +#: src/AppDetails.py:562 src/AppDetails.py:577 src/AppDetails.py:583 msgid "Launch" msgstr "" -#: src/AppDetails.py:559 +#: src/AppDetails.py:568 msgid "Uninstalling..." msgstr "" -#: src/AppDetails.py:563 +#: src/AppDetails.py:572 msgid "Installing..." msgstr "" -#: src/AppDetails.py:576 +#: src/AppDetails.py:585 msgid "Move to the app menu" msgstr "" -#: src/AppDetails.py:589 +#: src/AppDetails.py:598 msgid "Error" msgstr "" -#: src/AppDetails.py:600 +#: src/AppDetails.py:609 msgid "This app might not be compatible with your system architecture" msgstr "" -#: src/AppDetails.py:909 +#: src/AppDetails.py:922 msgid "Add a website" msgstr "" -#: src/AppDetails.py:913 +#: src/AppDetails.py:926 msgid "Website" msgstr "" -#: src/AppDetails.py:926 +#: src/AppDetails.py:939 msgid "Open URL" msgstr "" -#: src/AppDetails.py:943 +#: src/AppDetails.py:956 msgid "How it works" msgstr "" -#: src/AppDetails.py:965 +#: src/AppDetails.py:978 msgid "Update management" msgstr "" -#: src/AppDetails.py:972 +#: src/AppDetails.py:985 msgid "Default" msgstr "" -#: src/AppDetails.py:978 +#: src/AppDetails.py:991 msgid "Source" msgstr "" -#: src/AppDetails.py:979 +#: src/AppDetails.py:992 msgid "Select the source type" msgstr "" -#: src/AppDetails.py:1005 +#: src/AppDetails.py:1018 msgid "Reload metadata" msgstr "" -#: src/AppDetails.py:1006 +#: src/AppDetails.py:1019 msgid "" "Update information like icon, version and description.\n" "Useful if the app updated itself." msgstr "" -#: src/AppDetails.py:1018 +#: src/AppDetails.py:1031 msgid "Command line arguments" msgstr "" -#: src/AppDetails.py:1036 +#: src/AppDetails.py:1049 msgid "Hash" msgstr "" -#: src/AppDetails.py:1046 +#: src/AppDetails.py:1059 msgid "Path" msgstr "" -#: src/AppDetails.py:1048 +#: src/AppDetails.py:1061 msgid "Open Folder" msgstr "" -#: src/AppDetails.py:1058 +#: src/AppDetails.py:1071 msgid "Package type" msgstr "" -#: src/AppDetails.py:1076 +#: src/AppDetails.py:1089 msgid "Key" msgstr "" -#: src/AppDetails.py:1077 +#: src/AppDetails.py:1090 msgid "Value" msgstr "" -#: src/AppDetails.py:1116 +#: src/AppDetails.py:1129 msgid "Environment variables" msgstr "" -#: src/AppDetails.py:1117 +#: src/AppDetails.py:1130 msgid "Add or customize environment for this application" msgstr "" @@ -244,14 +244,18 @@ msgstr "" #: src/InstalledAppsList.py:32 +msgid "No Connection" +msgstr "" + +#: src/InstalledAppsList.py:33 msgid "Update all" msgstr "" -#: src/InstalledAppsList.py:55 +#: src/InstalledAppsList.py:56 msgid "Filter installed applications" msgstr "" -#: src/InstalledAppsList.py:62 +#: src/InstalledAppsList.py:63 msgid "Installed applications" msgstr "" @@ -461,6 +465,7 @@ msgstr "" #: src/gtk/tutorial/2.ui:21 +#, python-brace-format msgid "<b>By default, AppImages are saved at: {location}</b>" msgstr "" @@ -483,8 +488,8 @@ #: src/gtk/tutorial/3.ui:40 msgid "" -"Use the right-click menu to set Gear lever as the default app for " -"\".appimage\" files" +"Use the right-click menu to set Gear lever as the default app for \"." +"appimage\" files" msgstr "" #: src/gtk/tutorial/3.ui:54 @@ -507,17 +512,17 @@ msgid "No description provided" msgstr "" -#: src/providers/AppImageProvider.py:589 +#: src/providers/AppImageProvider.py:582 msgid "" "The downloaded file is not a valid appimage, please check if the provided " "URL is correct" msgstr "" -#: src/providers/AppImageProvider.py:650 +#: src/providers/AppImageProvider.py:643 msgid "Running AppImages on NixOS requires appimage-run" msgstr "" -#: src/providers/AppImageProvider.py:664 +#: src/providers/AppImageProvider.py:657 #, python-brace-format msgid "" "AppImages require FUSE to run. You might still be able to run it with --" @@ -527,7 +532,7 @@ "{url}" msgstr "" -#: src/providers/AppImageProvider.py:751 +#: src/providers/AppImageProvider.py:744 msgid "" "Any attempts at loading this app's metadata failed; if you want proceed " "using appimage-extract, please disable the security option in the settings." diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gearlever-4.4.8/po/pt_BR.po new/gearlever-4.4.10/po/pt_BR.po --- old/gearlever-4.4.8/po/pt_BR.po 2026-03-03 21:13:39.000000000 +0100 +++ new/gearlever-4.4.10/po/pt_BR.po 2026-04-02 19:30:05.000000000 +0200 @@ -7,60 +7,73 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-09-04 09:39+0000\n" -"PO-Revision-Date: 2024-09-04 15:36+0100\n" +"POT-Creation-Date: 2026-02-19 10:31+0100\n" +"PO-Revision-Date: 2026-02-26 12:54-0300\n" "Last-Translator: \n" "Language-Team: \n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 3.4.4\n" +"X-Generator: Poedit 3.8\n" -#: data/it.mijorus.gearlever.desktop.in:3 +#: data/it.mijorus.gearlever.desktop.in:2 msgid "Gear Lever" msgstr "Gear Lever" -#: data/it.mijorus.gearlever.desktop.in:4 +#: data/it.mijorus.gearlever.desktop.in:3 msgid "An utility to manage AppImages with ease!" -msgstr "Uma ferramenta para gerir AppImages com facilidade!" +msgstr "Uma ferramenta para gerenciar AppImages com facilidade!" -#: data/it.mijorus.gearlever.desktop.in:12 +#: data/it.mijorus.gearlever.desktop.in:11 msgid "AppImage;" msgstr "AppImage;" # Is it supposed to be translated? -#: src/main.py:115 +#: src/main.py:112 msgid "translator_credits" -msgstr "habeasdata404 <[email protected]>" +msgstr "" +"habeasdata404 <[email protected]>, Mark_B97 <[email protected]>" -#: src/AppDetails.py:27 src/AppDetails.py:73 src/AppDetails.py:381 -#: src/AppDetails.py:462 +#: src/AppDetails.py:35 src/AppDetails.py:84 src/AppDetails.py:479 msgid "Update" msgstr "Atualizar" -#: src/AppDetails.py:28 +#: src/AppDetails.py:36 +msgid "Save" +msgstr "Salvar" + +#: src/AppDetails.py:37 +msgid "Saved" +msgstr "Salvo" + +#: src/AppDetails.py:38 +msgid "Invalid data" +msgstr "Dados inválidos" + +#: src/AppDetails.py:39 msgid "Cancel update" msgstr "Cancelar atualização" -#: src/AppDetails.py:29 src/InstalledAppsList.py:30 +#: src/AppDetails.py:40 src/InstalledAppsList.py:31 msgid "Checking updates..." msgstr "Verificando atualizações..." -#: src/AppDetails.py:30 +#: src/AppDetails.py:41 msgid "No updates available" msgstr "Nenhuma atualização disponível" -#: src/AppDetails.py:31 +#: src/AppDetails.py:42 msgid "This application includes update information provided by the developer" msgstr "" -"Esta aplicação inclui informações de atualização fornecidas pelo desenvolvedor" +"Esta aplicação inclui informações de atualização fornecidas pelo " +"desenvolvedor" -#: src/AppDetails.py:32 +#: src/AppDetails.py:43 msgid "Manage update details for this application" msgstr "Gerenciar os detalhes da atualização desta aplicação" -#: src/AppDetails.py:212 +#: src/AppDetails.py:236 msgid "" "This app is located outside the default folder\n" "<small>You can hide external apps in the settings</small>" @@ -68,103 +81,117 @@ "Esta aplicação está localizada fora da pasta padrão\n" "<small>Você pode ocultar aplicações externas nas definições</small>" -#: src/AppDetails.py:223 +#: src/AppDetails.py:247 msgid "Please, verify the source of this app before opening it" msgstr "Por favor, verifique a origem desta aplicação antes de abrir" -#: src/AppDetails.py:224 +#: src/AppDetails.py:248 msgid "Unlock" msgstr "Desbloquear" -#: src/AppDetails.py:344 +#: src/AppDetails.py:347 +msgid "Unkown Error" +msgstr "Erro desconhecido" + +#: src/AppDetails.py:396 msgid "Launching..." msgstr "Inicializando..." -#: src/AppDetails.py:351 src/AppDetails.py:476 -#: src/providers/AppImageProvider.py:645 -msgid "Error" -msgstr "Erro" +#: src/AppDetails.py:447 +#, python-brace-format +msgid "" +"{app_name} is running, please close it before proceeding with the update" +msgstr "" +"{app_name} está em execução, por favor feche o aplicativo antes de atualizar" -#: src/AppDetails.py:398 +#: src/AppDetails.py:501 msgid "Update error" msgstr "Erro de atualização" -#: src/AppDetails.py:402 +#: src/AppDetails.py:505 msgid "Close" msgstr "Fechar" -#: src/AppDetails.py:433 src/AppDetails.py:453 +#: src/AppDetails.py:512 +msgid "Do you really want to remove this app?" +msgstr "Deseja realmente remover esse aplicativo?" + +#: src/AppDetails.py:515 src/components/AppDetailsConflictModal.py:14 +msgid "Cancel" +msgstr "Cancelar" + +#: src/AppDetails.py:516 src/AppDetails.py:555 +msgid "Remove" +msgstr "Remover" + +#: src/AppDetails.py:551 src/AppDetails.py:571 msgid "This app runs in the terminal" msgstr "Esta aplicação é executada no terminal" -#: src/AppDetails.py:435 src/AppDetails.py:450 src/AppDetails.py:456 +#: src/AppDetails.py:553 src/AppDetails.py:568 src/AppDetails.py:574 msgid "Launch" msgstr "Executar" -#: src/AppDetails.py:437 src/AppDetails.py:465 -msgid "Remove" -msgstr "Remover" - -#: src/AppDetails.py:441 +#: src/AppDetails.py:559 msgid "Uninstalling..." msgstr "Desinstalando..." -#: src/AppDetails.py:445 +#: src/AppDetails.py:563 msgid "Installing..." msgstr "Instalando..." # Where do I find this option on the app? # Not sure if it's related to the OS' apps menu or Gear Level app menu... -#: src/AppDetails.py:458 +#: src/AppDetails.py:576 msgid "Move to the app menu" msgstr "Mover para o menu das aplicações" -#: src/AppDetails.py:487 +#: src/AppDetails.py:589 +msgid "Error" +msgstr "Erro" + +#: src/AppDetails.py:600 msgid "This app might not be compatible with your system architecture" msgstr "" "Esta aplicação pode não ser compatível com a arquitetura do seu sistema" -#: src/AppDetails.py:734 -msgid "Website" -msgstr "Página web" - -#: src/AppDetails.py:734 +#: src/AppDetails.py:909 msgid "Add a website" msgstr "Adicionar página web" -#: src/AppDetails.py:743 +#: src/AppDetails.py:913 +msgid "Website" +msgstr "Página web" + +#: src/AppDetails.py:926 msgid "Open URL" msgstr "Abrir URL" -#: src/AppDetails.py:759 src/AppDetails.py:920 -msgid "Save" -msgstr "Salvar" +#: src/AppDetails.py:943 +msgid "How it works" +msgstr "Como funciona" -#: src/AppDetails.py:772 +#: src/AppDetails.py:965 msgid "Update management" msgstr "Gerenciamento de atualizações" -#: src/AppDetails.py:777 -msgid "Update URL" -msgstr "URL da atualização" +#: src/AppDetails.py:972 +msgid "Default" +msgstr "Padrão" -#: src/AppDetails.py:784 +#: src/AppDetails.py:978 msgid "Source" msgstr "Origem" -#: src/AppDetails.py:785 +#: src/AppDetails.py:979 msgid "Select the source type" msgstr "Selecione o tipo da origem" -#: src/AppDetails.py:809 -msgid "How it works" -msgstr "Como funciona" - -#: src/AppDetails.py:826 +#: src/AppDetails.py:1005 msgid "Reload metadata" msgstr "Recarregar metadata" -#: src/AppDetails.py:827 +#: src/AppDetails.py:1006 msgid "" "Update information like icon, version and description.\n" "Useful if the app updated itself." @@ -172,56 +199,52 @@ "Atualize informações como ícone, versão e descrição.\n" "Útil caso a aplicação tenha sido atualizada automaticamente." -#: src/AppDetails.py:839 +#: src/AppDetails.py:1018 msgid "Command line arguments" msgstr "Parâmetros da linha de comandos" # I don't think there's a native word for this... -#: src/AppDetails.py:855 +#: src/AppDetails.py:1036 msgid "Hash" msgstr "Hash" -#: src/AppDetails.py:865 +#: src/AppDetails.py:1046 msgid "Path" msgstr "Localização" -#: src/AppDetails.py:867 +#: src/AppDetails.py:1048 msgid "Open Folder" msgstr "Abrir Pasta" -#: src/AppDetails.py:877 +#: src/AppDetails.py:1058 msgid "Package type" msgstr "Tipo de pacote" -#: src/AppDetails.py:895 +#: src/AppDetails.py:1076 msgid "Key" msgstr "Chave" -#: src/AppDetails.py:896 +#: src/AppDetails.py:1077 msgid "Value" msgstr "Valor" -#: src/AppDetails.py:915 -msgid "Add" -msgstr "Adicionar" - -#: src/AppDetails.py:935 +#: src/AppDetails.py:1116 msgid "Environment variables" msgstr "Variáveis de ambiente" -#: src/AppDetails.py:936 +#: src/AppDetails.py:1117 msgid "Add or customize environment for this application" msgstr "Adicionar ou personalizar o ambiente desta aplicação" -#: src/GearleverWindow.py:37 +#: src/GearleverWindow.py:39 msgid "Open a new AppImage" msgstr "Abrir uma nova AppImage" -#: src/GearleverWindow.py:49 +#: src/GearleverWindow.py:51 msgid "Open" msgstr "Abrir" -#: src/GearleverWindow.py:253 +#: src/GearleverWindow.py:299 msgid "Open a file" msgstr "Abrir arquivo" @@ -229,29 +252,36 @@ msgid "Check for updates" msgstr "Procurar atualizações" -#: src/InstalledAppsList.py:49 +#: src/InstalledAppsList.py:30 +msgid "No updates found" +msgstr "Nenhuma atualização disponível" + +#: src/InstalledAppsList.py:32 +msgid "Update all" +msgstr "Atualizar tudo" + +#: src/InstalledAppsList.py:55 msgid "Filter installed applications" msgstr "Filtrar aplicações instaladas" -#: src/InstalledAppsList.py:55 +#: src/InstalledAppsList.py:62 msgid "Installed applications" msgstr "Aplicações instaladas" -#: src/preferences.py:27 +#: src/preferences.py:29 msgid "General" msgstr "Geral" -#: src/preferences.py:32 +#: src/preferences.py:34 msgid "AppImage default location" msgstr "Localização padrão das AppImage" # Have some doubts about the original meaning of the sentence. -#: src/preferences.py:41 +#: src/preferences.py:43 msgid "Show integrated AppImages outside the default folder" -msgstr "" -"Mostrar AppImages integradas fora da pasta padrão" +msgstr "Mostrar AppImages integradas fora da pasta padrão" -#: src/preferences.py:43 +#: src/preferences.py:45 msgid "" "List AppImages that have been integrated into the system menu but are " "located outside the default folder" @@ -259,16 +289,16 @@ "Liste AppImages que foram integradas ao menu do sistema, mas que estão " "localizadas fora da pasta padrão" -#: src/preferences.py:50 +#: src/preferences.py:52 msgid "Updates management" msgstr "Gerenciamento de atualizações" # This is another option which I don't see it anywhere. -#: src/preferences.py:52 -msgid "Check updates in the backgroud" -msgstr "Verificar atualizações em segundo plano" - #: src/preferences.py:54 +msgid "Check updates on system startup" +msgstr "Verificar atualizações ao iniciar o sistema" + +#: src/preferences.py:56 msgid "" "Receive a notification when a new update is detected; updates will not be " "installed automatically" @@ -276,35 +306,35 @@ "Receber uma notificação quando uma nova atualização estiver disponível; " "atualizações não serão instaladas automaticamente" -#: src/preferences.py:61 +#: src/preferences.py:63 msgid "File management" msgstr "Gerenciamento de arquivos" -#: src/preferences.py:63 +#: src/preferences.py:65 msgid "Move AppImages into the destination folder" msgstr "Mover AppImages para a pasta de destino" -#: src/preferences.py:64 +#: src/preferences.py:66 msgid "Reduce disk usage" msgstr "Reduzir utilização do espaço" -#: src/preferences.py:68 +#: src/preferences.py:70 msgid "Clone AppImages into the destination folder" msgstr "Clonar AppImages para a pasta de destino" -#: src/preferences.py:69 +#: src/preferences.py:71 msgid "Keep the original file and create a copy in the destination folder" msgstr "Manter o arquivo original e criar uma cópia na pasta de destino" -#: src/preferences.py:95 +#: src/preferences.py:97 msgid "Naming conventions" msgstr "Convenções de nomenclatura" -#: src/preferences.py:97 +#: src/preferences.py:99 msgid "Use executable name for integrated terminal apps" msgstr "Utilizar nome do executável para aplicações do terminal integradas" -#: src/preferences.py:99 +#: src/preferences.py:101 msgid "" "If enabled, apps that run in the terminal are renamed as their executable.\n" "You would need to add the aforementioned folder to your $PATH manually.\n" @@ -317,34 +347,58 @@ "\n" "Por exemplo, \"golang_x86_64.appimage\" será guardado como \"go\"" +#: src/preferences.py:107 +msgid "Preview new apps in a minimal UI" +msgstr "Prever aplicativos novos numa interface simples" + +#: src/preferences.py:112 +msgid "Use safe mechanisms to load metadata" +msgstr "Usar mecanismos seguros para carregar os metadados" + +#: src/preferences.py:114 +msgid "" +"If enabled, the app will try to load an Appimage without using the built-in " +"appimage-extract command.\n" +"Disable only if you trust your sources: malicious apps could execute code " +"when loading the metadata." +msgstr "" +"Se ativado, o aplicativo tentará carregar um AppImage sem usar o comando " +"appimage-extract interno.\n" +"Desative somente se você confiar na fonte, pois aplicativos maliciosos podem " +"executar código ao carregar os metadados." + # I think this is the right term... -#: src/preferences.py:105 +#: src/preferences.py:121 msgid "Debugging" msgstr "Depuração" -#: src/preferences.py:107 +#: src/preferences.py:123 msgid "Enable debug logs" msgstr "Ativar registos de depuração" -#: src/preferences.py:109 +#: src/preferences.py:125 msgid "" "Increases log verbosity, occupying more disk space and potentially impacting " "performance.\n" "Requires a restart." msgstr "" -"Aumenta verbosidade dos registros, ocupando mais espaço de armazenamento e um " -"potencial impacto na performance.\n" +"Aumenta verbosidade dos registros, ocupando mais espaço de armazenamento e " +"um potencial impacto na performance.\n" "Requer uma reinicialização." -# While there isn't a common word for "home" folder, Apple uses a word for it, on macOS: https://support.apple.com/pt-pt/guide/mac-help/aside/glos7dad3d40/14.0/mac/14.0 -#: src/preferences.py:133 src/WelcomeScreen.py:95 -msgid "The folder must be in your home directory" -msgstr "A pasta deve estar em seu diretório pessoal" +#: src/preferences.py:152 +msgid "The folder must writeable" +msgstr "A pasta precisa ser gravável" -#: src/preferences.py:136 src/WelcomeScreen.py:98 +#: src/preferences.py:155 src/WelcomeScreen.py:118 msgid "Select a folder" msgstr "Selecione uma pasta" +# While there isn't a common word for "home" folder, Apple uses a word for it, on macOS: https://support.apple.com/pt-pt/guide/mac-help/aside/glos7dad3d40/14.0/mac/14.0 +#: src/WelcomeScreen.py:115 +msgid "The folder must be in your home directory" +msgstr "A pasta deve estar em seu diretório pessoal" + # Is it supposed to be translated? #: src/gtk/main-menu.ui:6 msgid "_Preferences" @@ -363,7 +417,7 @@ # Is it supposed to be translated? #: src/gtk/main-menu.ui:18 msgid "_About Gear lever" -msgstr "_Sobre Gear lever" +msgstr "_Sobre o Gear lever" #: src/components/AppDetailsConflictModal.py:10 #, python-brace-format @@ -374,10 +428,6 @@ msgid "There is already an app with the same name, how do you want to proceed?" msgstr "Já existe uma aplicação com o mesmo nome, como pretende prosseguir?" -#: src/components/AppDetailsConflictModal.py:14 -msgid "Cancel" -msgstr "Cancelar" - #: src/components/AppDetailsConflictModal.py:17 msgid "Keep both" msgstr "Manter ambos" @@ -399,8 +449,10 @@ msgstr "Arraste e solte uma AppImage aqui ou clique no ícone \"+\"." #: src/gtk/empty-list-placeholder.ui:35 -msgid " If you don't see your apps, check if the selected folder is correct." -msgstr " Se não vê as suas aplicações, verifique se a pasta selecionada está correta " +msgid "If you don't see your apps, check if the selected folder is correct." +msgstr "" +"Se não ver os seus aplicativos, verifique se a pasta selecionada está " +"correta." #: src/gtk/empty-list-placeholder.ui:46 msgid "Show welcome screen" @@ -425,67 +477,66 @@ msgid "Quit" msgstr "Sair" -#: src/gtk/tutorial/1.ui:21 +#: src/gtk/tutorial/1.ui:26 msgid "Hi, welcome to Gear lever" msgstr "Olá, bem-vindo ao Gear lever" -#: src/gtk/tutorial/1.ui:30 +#: src/gtk/tutorial/1.ui:35 msgid "An app that helps you integrate AppImages into your system." msgstr "Uma aplicação que ajuda a integrar AppImages ao seu sistema." -#: src/gtk/tutorial/1.ui:36 +#: src/gtk/tutorial/1.ui:43 msgid "Click \"Next\" to follow this tutorial." msgstr "Clique \"Seguinte\" para prosseguir este tutorial." -#: src/gtk/tutorial/2.ui:19 +#: src/gtk/tutorial/2.ui:12 msgid "Set the AppImage location" msgstr "Definir localização da AppImage" -#: src/gtk/tutorial/2.ui:28 +#: src/gtk/tutorial/2.ui:13 msgid "" "Gear lever groups all your AppImages into a specific folder and keeps them " "organized." msgstr "" -"Gear Lever agrupa todas as suas AppImages em uma pasta especifica e as mantém " -"organizadas." +"Gear Lever agrupa todas as suas AppImages em uma pasta especifica e as " +"mantém organizadas." -#: src/gtk/tutorial/2.ui:33 -#, python-brace-format -msgid "By default, AppImages are saved at: {location}" -msgstr "Por padrão, AppImages são salvas em: {location}" +#: src/gtk/tutorial/2.ui:21 +msgid "<b>By default, AppImages are saved at: {location}</b>" +msgstr "<b>Por padrão, AppImages são salvas em: {location}</b>" -#: src/gtk/tutorial/2.ui:47 +#: src/gtk/tutorial/2.ui:29 msgid "Change AppImage location" msgstr "Alterar localização da AppImage" -#: src/gtk/tutorial/2.ui:59 +#: src/gtk/tutorial/2.ui:38 msgid "You can customize it later in the preferences." msgstr "Você pode personalizar mais tarde, nas preferências." -#: src/gtk/tutorial/3.ui:19 +#: src/gtk/tutorial/3.ui:23 msgid "Set Gear lever as default" msgstr "Definir Gear level como padrão" -#: src/gtk/tutorial/3.ui:28 +#: src/gtk/tutorial/3.ui:32 msgid "" "Click on the button to open a demo folder, containing a sample AppImage." msgstr "" -"Clique no botão para abrir a pasta de demonstração, que contém um exemplo " -"de uma AppImage." +"Clique no botão para abrir a pasta de demonstração, que contém um exemplo de " +"uma AppImage." -#: src/gtk/tutorial/3.ui:33 +#: src/gtk/tutorial/3.ui:40 msgid "" -"Use the right-click menu to set Gear lever as the default app for \"." -"appimage\" files" +"Use the right-click menu to set Gear lever as the default app for " +"\".appimage\" files" msgstr "" "Utilize o menu clique-direito para definir o Gear Lever como a aplicação " "padrão para arquivos \".appimage\"" -#: src/gtk/tutorial/3.ui:44 +#: src/gtk/tutorial/3.ui:54 msgid "Open demo folder" msgstr "Abrir pasta de demonstração" -#: src/gtk/tutorial/3.ui:56 +#: src/gtk/tutorial/3.ui:63 msgid "This step is optional" msgstr "Este passo é opcional" @@ -493,7 +544,7 @@ msgid "All done, let's go!" msgstr "Tudo pronto, vamos lá!" -#: src/gtk/tutorial/last.ui:35 +#: src/gtk/tutorial/last.ui:24 msgid "Close tutorial" msgstr "Fechar tutorial" @@ -501,29 +552,19 @@ msgid "No description provided" msgstr "Nenhuma descrição fornecida" -#: src/providers/AppImageProvider.py:581 +#: src/providers/AppImageProvider.py:589 msgid "" "The downloaded file is not a valid appimage, please check if the provided " "URL is correct" msgstr "" -"O arquivo baixado não é uma AppImage válida, por favor verifique se a " -"URL está correta" +"O arquivo baixado não é uma AppImage válida, por favor verifique se a URL " +"está correta" -#: src/providers/AppImageProvider.py:587 -#, python-brace-format -msgid "" -"The downloaded appimage does not have the same app name and can't be " -"updated\n" -"{el.name} ➔ {list_element.name}" -msgstr "" -"A AppImage baixada não contém o mesmo nome e não pode ser atualizada\n" -"{el.name} ➔ {list_element.name}" - -#: src/providers/AppImageProvider.py:631 +#: src/providers/AppImageProvider.py:650 msgid "Running AppImages on NixOS requires appimage-run" msgstr "Executar AppImages em NixOS requer appimage-run" -#: src/providers/AppImageProvider.py:646 +#: src/providers/AppImageProvider.py:664 #, python-brace-format msgid "" "AppImages require FUSE to run. You might still be able to run it with --" @@ -532,8 +573,33 @@ "Click the link below for more information. \n" "{url}" msgstr "" -"As AppImages requerem o FUSE para serem executadas. Em alguns casos poderá funcionar " -"usando --appimage-extract-and-run nos parâmetros da linha de comandos. \n" +"As AppImages requerem o FUSE para serem executadas. Em alguns casos poderá " +"funcionar usando --appimage-extract-and-run nos parâmetros da linha de " +"comandos. \n" "\n" "Clique na seguinte ligação para mais informação. \n" "{url}" + +#: src/providers/AppImageProvider.py:751 +msgid "" +"Any attempts at loading this app's metadata failed; if you want proceed " +"using appimage-extract, please disable the security option in the settings." +msgstr "" +"Quaisquer tentativas de carregar os metadados desse aplicativo falharam. Se " +"você quiser prosseguir usando appimage-extract, por favor desative a opção " +"de segurança nas configurações." + +#~ msgid "Update URL" +#~ msgstr "URL da atualização" + +#~ msgid "Add" +#~ msgstr "Adicionar" + +#, python-brace-format +#~ msgid "" +#~ "The downloaded appimage does not have the same app name and can't be " +#~ "updated\n" +#~ "{el.name} ➔ {list_element.name}" +#~ msgstr "" +#~ "A AppImage baixada não contém o mesmo nome e não pode ser atualizada\n" +#~ "{el.name} ➔ {list_element.name}" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gearlever-4.4.8/po/pt_PT.po new/gearlever-4.4.10/po/pt_PT.po --- old/gearlever-4.4.8/po/pt_PT.po 2026-03-03 21:13:39.000000000 +0100 +++ new/gearlever-4.4.10/po/pt_PT.po 2026-04-02 19:30:05.000000000 +0200 @@ -7,8 +7,8 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-22 16:42+0100\n" -"PO-Revision-Date: 2026-02-01 18:46+0000\n" +"POT-Creation-Date: 2026-02-19 10:31+0100\n" +"PO-Revision-Date: 2026-03-14 17:03+0000\n" "Last-Translator: \n" "Language-Team: \n" "Language: pt_PT\n" @@ -29,12 +29,11 @@ msgid "AppImage;" msgstr "AppImage;" -# Is it supposed to be translated? #: src/main.py:112 msgid "translator_credits" msgstr "Tick Dracy <[email protected]>" -#: src/AppDetails.py:35 src/AppDetails.py:83 src/AppDetails.py:465 +#: src/AppDetails.py:35 src/AppDetails.py:84 src/AppDetails.py:479 msgid "Update" msgstr "Atualizar" @@ -87,15 +86,15 @@ msgid "Unlock" msgstr "Desbloquear" -#: src/AppDetails.py:333 +#: src/AppDetails.py:347 msgid "Unkown Error" msgstr "Erro Desconhecido" -#: src/AppDetails.py:382 +#: src/AppDetails.py:396 msgid "Launching..." msgstr "A executar…" -#: src/AppDetails.py:433 +#: src/AppDetails.py:447 #, python-brace-format msgid "" "{app_name} is running, please close it before proceeding with the update" @@ -103,92 +102,92 @@ "{app_name} está em execução, por favor encerre a aplicação antes de " "prosseguir com a atualização" -#: src/AppDetails.py:487 +#: src/AppDetails.py:501 msgid "Update error" msgstr "Erro de atualização" -#: src/AppDetails.py:491 +#: src/AppDetails.py:505 msgid "Close" msgstr "Fechar" -#: src/AppDetails.py:498 +#: src/AppDetails.py:512 msgid "Do you really want to remove this app?" msgstr "Quer mesmo remover esta aplicação?" -#: src/AppDetails.py:501 src/components/AppDetailsConflictModal.py:14 +#: src/AppDetails.py:515 src/components/AppDetailsConflictModal.py:14 msgid "Cancel" msgstr "Cancelar" -#: src/AppDetails.py:502 src/AppDetails.py:541 +#: src/AppDetails.py:516 src/AppDetails.py:555 msgid "Remove" msgstr "Remover" -#: src/AppDetails.py:537 src/AppDetails.py:557 +#: src/AppDetails.py:551 src/AppDetails.py:571 msgid "This app runs in the terminal" msgstr "Esta aplicação é executada no terminal" -#: src/AppDetails.py:539 src/AppDetails.py:554 src/AppDetails.py:560 +#: src/AppDetails.py:553 src/AppDetails.py:568 src/AppDetails.py:574 msgid "Launch" msgstr "Executar" -#: src/AppDetails.py:545 +#: src/AppDetails.py:559 msgid "Uninstalling..." msgstr "A desinstalar…" -#: src/AppDetails.py:549 +#: src/AppDetails.py:563 msgid "Installing..." msgstr "A instalar…" -#: src/AppDetails.py:562 +#: src/AppDetails.py:576 msgid "Move to the app menu" msgstr "Mover para o menu das aplicações" -#: src/AppDetails.py:575 +#: src/AppDetails.py:589 msgid "Error" msgstr "Erro" -#: src/AppDetails.py:586 +#: src/AppDetails.py:600 msgid "This app might not be compatible with your system architecture" msgstr "" "Esta aplicação pode não ser compatível com a arquitetura do seu sistema" -#: src/AppDetails.py:889 +#: src/AppDetails.py:909 msgid "Add a website" msgstr "Adicionar página Web" -#: src/AppDetails.py:893 +#: src/AppDetails.py:913 msgid "Website" msgstr "Página Web" -#: src/AppDetails.py:906 +#: src/AppDetails.py:926 msgid "Open URL" msgstr "Abrir URL" -#: src/AppDetails.py:923 +#: src/AppDetails.py:943 msgid "How it works" msgstr "Como funciona" -#: src/AppDetails.py:945 +#: src/AppDetails.py:965 msgid "Update management" msgstr "Gestão Atualização" -#: src/AppDetails.py:952 +#: src/AppDetails.py:972 msgid "Default" msgstr "Padrão" -#: src/AppDetails.py:958 +#: src/AppDetails.py:978 msgid "Source" msgstr "Origem" -#: src/AppDetails.py:959 +#: src/AppDetails.py:979 msgid "Select the source type" msgstr "Selecione o tipo da origem" -#: src/AppDetails.py:985 +#: src/AppDetails.py:1005 msgid "Reload metadata" msgstr "Recarregar metadados" -#: src/AppDetails.py:986 +#: src/AppDetails.py:1006 msgid "" "Update information like icon, version and description.\n" "Useful if the app updated itself." @@ -196,40 +195,40 @@ "Atualizar detalhes, tais como ícones, versão e descrição.\n" "Útil caso a aplicação tenha sido atualizada automaticamente." -#: src/AppDetails.py:998 +#: src/AppDetails.py:1018 msgid "Command line arguments" msgstr "Parâmetros da linha de comandos" # I don't think there's a native word for this… -#: src/AppDetails.py:1016 +#: src/AppDetails.py:1036 msgid "Hash" msgstr "Hash" -#: src/AppDetails.py:1026 +#: src/AppDetails.py:1046 msgid "Path" msgstr "Localização" -#: src/AppDetails.py:1028 +#: src/AppDetails.py:1048 msgid "Open Folder" msgstr "Abrir Pasta" -#: src/AppDetails.py:1038 +#: src/AppDetails.py:1058 msgid "Package type" msgstr "Tipo de Pacote" -#: src/AppDetails.py:1056 +#: src/AppDetails.py:1076 msgid "Key" msgstr "Chave" -#: src/AppDetails.py:1057 +#: src/AppDetails.py:1077 msgid "Value" msgstr "Valor" -#: src/AppDetails.py:1096 +#: src/AppDetails.py:1116 msgid "Environment variables" msgstr "Variáveis de ambiente" -#: src/AppDetails.py:1097 +#: src/AppDetails.py:1117 msgid "Add or customize environment for this application" msgstr "Adicionar ou personalizar o ambiente desta aplicação" @@ -241,7 +240,7 @@ msgid "Open" msgstr "Abrir" -#: src/GearleverWindow.py:294 +#: src/GearleverWindow.py:299 msgid "Open a file" msgstr "Abrir ficheiro" @@ -344,26 +343,14 @@ "Por exemplo, \"golang_x86_64.appimage\" será guardado como \"go\"" #: src/preferences.py:107 -msgid "Preview hashes for new apps before loading metadata" -msgstr "" -"Pré-visualizar hashes para novas aplicações, antes de carregar os metadados" - -#: src/preferences.py:109 -msgid "" -"If enabled, a preview of the file you are trying to open is shown.\n" -"Disable only if you trust your sources: malicious apps could execute code " -"when loading the metadata." -msgstr "" -"Quando ativo, uma pré-visualização do ficheiro que está a abrir será " -"exibida.\n" -"Apenas desative se confiar nas fontes: aplicações mal-intencionadas podem " -"executar código ao carregar os metadados." +msgid "Preview new apps in a minimal UI" +msgstr "Pré-visualizar novas aplicações numa IU minimalista" -#: src/preferences.py:113 +#: src/preferences.py:112 msgid "Use safe mechanisms to load metadata" msgstr "Usar métodos confiáveis para carregar os metadados." -#: src/preferences.py:115 +#: src/preferences.py:114 msgid "" "If enabled, the app will try to load an Appimage without using the built-in " "appimage-extract command.\n" @@ -376,15 +363,15 @@ "executar código ao carregar os metadados." # I think this is the right term… -#: src/preferences.py:122 +#: src/preferences.py:121 msgid "Debugging" msgstr "Depuração" -#: src/preferences.py:124 +#: src/preferences.py:123 msgid "Enable debug logs" msgstr "Ativar registos de depuração" -#: src/preferences.py:126 +#: src/preferences.py:125 msgid "" "Increases log verbosity, occupying more disk space and potentially impacting " "performance.\n" @@ -394,11 +381,11 @@ "potencial impacto na performance.\n" "Requer um reinicio." -#: src/preferences.py:153 +#: src/preferences.py:152 msgid "The folder must writeable" msgstr "A pasta tem de ter permissão de escrita" -#: src/preferences.py:156 src/WelcomeScreen.py:118 +#: src/preferences.py:155 src/WelcomeScreen.py:118 msgid "Select a folder" msgstr "Selecione uma pasta" @@ -556,7 +543,7 @@ msgid "No description provided" msgstr "Nenhuma descrição fornecida" -#: src/providers/AppImageProvider.py:587 +#: src/providers/AppImageProvider.py:589 msgid "" "The downloaded file is not a valid appimage, please check if the provided " "URL is correct" @@ -564,11 +551,11 @@ "O ficheiro descarregado não é uma AppImage válida, por favor verifique se o " "URL está correto" -#: src/providers/AppImageProvider.py:648 +#: src/providers/AppImageProvider.py:650 msgid "Running AppImages on NixOS requires appimage-run" msgstr "Executar AppImages em NixOS requer appimage-run" -#: src/providers/AppImageProvider.py:662 +#: src/providers/AppImageProvider.py:664 #, python-brace-format msgid "" "AppImages require FUSE to run. You might still be able to run it with --" @@ -583,7 +570,7 @@ "Clique na seguinte ligação para mais informação. \n" "{url}" -#: src/providers/AppImageProvider.py:749 +#: src/providers/AppImageProvider.py:751 msgid "" "Any attempts at loading this app's metadata failed; if you want proceed " "using appimage-extract, please disable the security option in the settings." @@ -592,6 +579,21 @@ "se deseja continuar usando o appimage-extract, por favor desligue essa " "configuração de segurança nas definições." +#~ msgid "Preview hashes for new apps before loading metadata" +#~ msgstr "" +#~ "Pré-visualizar hashes para novas aplicações, antes de carregar os " +#~ "metadados" + +#~ msgid "" +#~ "If enabled, a preview of the file you are trying to open is shown.\n" +#~ "Disable only if you trust your sources: malicious apps could execute code " +#~ "when loading the metadata." +#~ msgstr "" +#~ "Quando ativo, uma pré-visualização do ficheiro que está a abrir será " +#~ "exibida.\n" +#~ "Apenas desative se confiar nas fontes: aplicações mal-intencionadas podem " +#~ "executar código ao carregar os metadados." + #~ msgid "Update URL" #~ msgstr "URL da atualização" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gearlever-4.4.8/src/InstalledAppsList.py new/gearlever-4.4.10/src/InstalledAppsList.py --- old/gearlever-4.4.8/src/InstalledAppsList.py 2026-03-03 21:13:39.000000000 +0100 +++ new/gearlever-4.4.10/src/InstalledAppsList.py 2026-04-02 19:30:05.000000000 +0200 @@ -5,7 +5,6 @@ from .State import state from time import sleep -from .lib.constants import APP_ID, ONE_UPDATE_AVAILABLE_LABEL, UPDATES_AVAILABLE_LABEL from .providers.providers_list import appimage_provider from .providers.AppImageProvider import AppImageListElement from .models.AppListElement import InstalledStatus @@ -29,6 +28,7 @@ CHECK_FOR_UPDATES_LABEL = _('Check for updates') NO_UPDATES_FOUND_LABEL = _('No updates found') CHECKING_FOR_UPDATES_LABEL = _('Checking updates...') + NO_CONNECTION_LABEL = _('No Connection') UPDATE_ALL_LABEL = _('Update all') def __init__(self): @@ -143,6 +143,18 @@ global fetch_updates_cache if not check_internet(): + def _show_no_connection(): + self.updates_btn.set_label(self.NO_CONNECTION_LABEL) + self.updates_btn.add_css_class('destructive-action') + self.updates_btn.set_sensitive(True) + + def _reset_btn(): + self.updates_btn.set_label(self.CHECK_FOR_UPDATES_LABEL) + self.updates_btn.remove_css_class('destructive-action') + return GLib.SOURCE_REMOVE + + GLib.idle_add(_show_no_connection) + GLib.timeout_add_seconds(3, _reset_btn) return logging.debug('Fetching for updates for all apps') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/gearlever-4.4.8/src/lib/utils.py new/gearlever-4.4.10/src/lib/utils.py --- old/gearlever-4.4.8/src/lib/utils.py 2026-03-03 21:13:39.000000000 +0100 +++ new/gearlever-4.4.10/src/lib/utils.py 2026-04-02 19:30:05.000000000 +0200 @@ -281,15 +281,18 @@ return f"{v:.{precision}f} {suffixes[i]}" def check_internet(timeout=3): - try: - r = requests.get( - url='http://fedoraproject.org/static/hotspot.txt', - timeout=timeout - ) + urls = [ + 'https://fedoraproject.org/static/hotspot.txt', + 'http://fedoraproject.org/static/hotspot.txt', + ] - r.raise_for_status() - except Exception as e: - logging.warning(f"No internet connection detected") - return False - - return True \ No newline at end of file + for url in urls: + try: + r = requests.get(url=url, timeout=timeout, allow_redirects=False) + if r.status_code < 400: + return True + except Exception: + continue + + logging.warning("No internet connection detected") + return False
