[view] improvement: displaying a tooltip with the missing dependencies for a supported packaging technology

This commit is contained in:
Vinicius Moreira
2021-11-22 15:48:48 -03:00
parent 5121bb40ef
commit c80845cde4
47 changed files with 525 additions and 47 deletions

View File

@@ -11,7 +11,7 @@ from datetime import datetime
from math import floor
from pathlib import Path
from threading import Thread
from typing import List, Set, Type, Tuple, Dict, Iterable, Optional, Collection
from typing import List, Set, Type, Tuple, Dict, Iterable, Optional, Collection, Generator
import requests
from dateutil.parser import parse as parse_date
@@ -2649,8 +2649,14 @@ class ArchManager(SoftwareManager):
def set_enabled(self, enabled: bool):
self.enabled = enabled
def can_work(self) -> bool:
return self.arch_distro and pacman.is_available()
def can_work(self) -> Tuple[bool, Optional[str]]:
if not self.arch_distro:
return False, self.i18n['arch.can_work.not_arch_distro']
if not pacman.is_available():
return False, self.i18n['missing_dep'].format(dep=bold('pacman'))
return True, None
def cache_to_disk(self, pkg: ArchPackage, icon_bytes: bytes, only_icon: bool):
pass

View File

@@ -37,6 +37,7 @@ arch.aur.sync.several_names.popup.body=The definition file (PKGBUILD) of {} conf
arch.aur.sync.several_names.popup.bt_only_chosen=Build only {}
arch.aur.sync.several_names.popup.bt_selected=Build selected too
arch.building.package=Sestà compilant el paquet {}
arch.can_work.not_arch_distro=Only available for ArchLinux based distributions
arch.checking.conflicts=Sestà comprovant si hi ha conflictes amb {}
arch.checking.deps=Sestan comprovant les dependències de {}
arch.checking.missing_deps=Verificació de les dependències que falten de {}

View File

@@ -37,6 +37,7 @@ arch.aur.sync.several_names.popup.body=The definition file (PKGBUILD) of {} conf
arch.aur.sync.several_names.popup.bt_only_chosen=Build only {}
arch.aur.sync.several_names.popup.bt_selected=Build selected too
arch.building.package=Paket {} erstellen
arch.can_work.not_arch_distro=Only available for ArchLinux based distributions
arch.checking.conflicts=Konflikte mit {} überprüfen
arch.checking.deps={} Abhängigkeiten überprüfen
arch.checking.missing_deps=Überprüfen der fehlenden Abhängigkeiten von {}

View File

@@ -37,6 +37,7 @@ arch.aur.sync.several_names.popup.body=The definition file (PKGBUILD) of {} conf
arch.aur.sync.several_names.popup.bt_only_chosen=Build only {}
arch.aur.sync.several_names.popup.bt_selected=Build selected too
arch.building.package=Building package {}
arch.can_work.not_arch_distro=Only available for ArchLinux based distributions
arch.checking.conflicts=Checking any conflicts with {}
arch.checking.deps=Checking {} dependencies
arch.checking.missing_deps=Verifying missing dependencies of {}

View File

@@ -37,6 +37,7 @@ arch.aur.sync.several_names.popup.body=El archivo de definición (PKGBUILD) de {
arch.aur.sync.several_names.popup.bt_only_chosen=Compilar sólo {}
arch.aur.sync.several_names.popup.bt_selected=Compilar seleccionados también
arch.building.package=Construyendo el paquete {}
arch.can_work.not_arch_distro=Solo disponible para distribuciones basadas en ArchLinux
arch.checking.conflicts=Verificando se hay conflictos con {}
arch.checking.deps=Verificando las dependencias de {}
arch.checking.missing_deps=Verificando las dependencias faltantes de {}

View File

@@ -37,6 +37,7 @@ arch.aur.sync.several_names.popup.body=Le fichier de définition (PKGBUILD) de {
arch.aur.sync.several_names.popup.bt_only_chosen=Compiler seulement {}
arch.aur.sync.several_names.popup.bt_selected=Compilation sélectionnée aussi
arch.building.package=Compilation de {}
arch.can_work.not_arch_distro=Only available for ArchLinux based distributions
arch.checking.conflicts=Vérification de conflits aved {}
arch.checking.deps=Vérification des dépendances de {}
arch.checking.missing_deps=Vérification des dépendances manquantes de {}

View File

@@ -37,6 +37,7 @@ arch.aur.sync.several_names.popup.body=The definition file (PKGBUILD) of {} conf
arch.aur.sync.several_names.popup.bt_only_chosen=Build only {}
arch.aur.sync.several_names.popup.bt_selected=Build selected too
arch.building.package=Pacchetto costruito {}
arch.can_work.not_arch_distro=Only available for ArchLinux based distributions
arch.checking.conflicts=Verifica di eventuali conflitti con {}
arch.checking.deps=Verifica di {} dipendenze
arch.checking.missing_deps=Verifica delle dipendenze mancanti di {}

View File

@@ -37,6 +37,7 @@ arch.aur.sync.several_names.popup.body=O arquivo de definição (PKGBUILD) de {}
arch.aur.sync.several_names.popup.bt_only_chosen=Construir somente {}
arch.aur.sync.several_names.popup.bt_selected=Construir selecionados também
arch.building.package=Construindo o pacote {}
arch.can_work.not_arch_distro=Somente disponível para distribuições baseadas em ArchLinux
arch.checking.conflicts=Verificando se há conflitos com {}
arch.checking.deps=Verificando as dependências de {}
arch.checking.missing_deps=Verificando dependências ausentes de {}

View File

@@ -37,6 +37,7 @@ arch.aur.sync.several_names.popup.body=The definition file (PKGBUILD) of {} conf
arch.aur.sync.several_names.popup.bt_only_chosen=Build only {}
arch.aur.sync.several_names.popup.bt_selected=Build selected too
arch.building.package=Сборка пакета {}
arch.can_work.not_arch_distro=Only available for ArchLinux based distributions
arch.checking.conflicts=Проверка конфликтов с {}
arch.checking.deps=Проверка зависимостей {}
arch.checking.missing_deps=Проверка отсутствующих зависимостей {}

View File

@@ -37,6 +37,7 @@ arch.aur.sync.several_names.popup.body=The definition file (PKGBUILD) of {} conf
arch.aur.sync.several_names.popup.bt_only_chosen=Build only {}
arch.aur.sync.several_names.popup.bt_selected=Build selected too
arch.building.package=Paket inşa ediliyor {}
arch.can_work.not_arch_distro=Only available for ArchLinux based distributions
arch.checking.conflicts={} ile çakışmalar kontrol ediliyor
arch.checking.deps={} bağımlılıkları kontrol ediliyor
arch.checking.missing_deps={} eksik bağımlılıkları kontrol ediliyor