[ui][settings] supported types working

This commit is contained in:
Vinícius Moreira
2020-01-24 18:17:52 -03:00
parent f37e66a63c
commit b530cbe0fc
40 changed files with 379 additions and 80 deletions

View File

@@ -1,7 +1,7 @@
import traceback
from datetime import datetime
from threading import Thread
from typing import List, Set, Type
from typing import List, Set, Type, Tuple
from bauh.api.abstract.controller import SearchResult, SoftwareManager, ApplicationContext
from bauh.api.abstract.disk import DiskCacheLoader
@@ -11,6 +11,7 @@ from bauh.api.abstract.model import PackageHistory, PackageUpdate, SoftwarePacka
from bauh.api.abstract.view import MessageType, FormComponent, SingleSelectComponent, InputOption, SelectViewType, \
ViewComponent, PanelComponent
from bauh.commons import user
from bauh.commons.config import save_config
from bauh.commons.html import strip_html, bold
from bauh.commons.system import SystemProcess, ProcessHandler, SimpleProcess
from bauh.gems.flatpak import flatpak, SUGGESTIONS_FILE, CONFIG_FILE
@@ -422,13 +423,30 @@ class FlatpakManager(SoftwareManager):
config = read_config()
install_opts = [InputOption(label='system'.capitalize(), value='system'),
InputOption(label='user'.capitalize(), value='user'),
InputOption(label='ask'.capitalize(), value=None)]
fields.append(SingleSelectComponent(label='Level',
install_opts = [InputOption(label=self.i18n['flatpak.config.install_level.system'].capitalize(),
value='system',
tooltip=self.i18n['flatpak.config.install_level.system.tip']),
InputOption(label=self.i18n['flatpak.config.install_level.user'].capitalize(),
value='user',
tooltip=self.i18n['flatpak.config.install_level.user.tip']),
InputOption(label=self.i18n['flatpak.config.install_level.ask'].capitalize(),
value=None,
tooltip=self.i18n['flatpak.config.install_level.ask.tip'].format(app=self.context.app_name))]
fields.append(SingleSelectComponent(label=self.i18n['flatpak.config.install_level'],
options=install_opts,
default_option=[o for o in install_opts if o.value == config['installation_level']][0],
max_per_line=len(install_opts),
type_=SelectViewType.RADIO))
return PanelComponent([FormComponent(fields, 'Installation')])
return PanelComponent([FormComponent(fields, self.i18n['installation'].capitalize())])
def save_settings(self, component: PanelComponent) -> Tuple[bool, List[str]]:
config = read_config()
config['installation_level'] = component.components[0].components[0].get_selected()
try:
save_config(config, CONFIG_FILE)
return True, None
except:
return False, [traceback.format_exc()]

View File

@@ -45,4 +45,11 @@ flatpak.info.developername=desenvolupador
flatpak.install.install_level.title=Tipus d'instal·lació
flatpak.install.install_level.body=S'ha d'instal·lar {} per a tots els usuaris del dispositiu ( sistema ) ?
flatpak.install.bad_install_level.body=Valor invàlid per a {field} al fitxer de configuració {file}
flatpak.remotes.system_flathub.error=No s'ha pogut afegir Flathub com a dipòsit del sistema ( remote )
flatpak.remotes.system_flathub.error=No s'ha pogut afegir Flathub com a dipòsit del sistema ( remote )
flatpak.config.install_level.system=sistema
flatpak.config.install_level.system.tip=Les aplicacions sinstal·laran per a tots els usuaris del dispositiu
flatpak.config.install_level.user=usuari
flatpak.config.install_level.user.tip=Laplicació sinstal·larà només per a lusuari actual
flatpak.config.install_level.ask=preguntar
flatpak.config.install_level.ask.tip={app} demanarà el nivell que s'ha d'aplicar durant la instal·lació de l'aplicació
flatpak.config.install_level=nivell

View File

@@ -44,4 +44,11 @@ flatpak.history.commit=Commit
flatpak.install.install_level.title=Installationstyp
flatpak.install.install_level.body=Sollte {} für alle Gerätebenutzer installiert werden ( system ) ?
flatpak.install.bad_install_level.body=Ungültiger Wert für {field} in der Konfigurationsdatei {file}
flatpak.remotes.system_flathub.error=Flathub konnte nicht als System-Repository ( remote ) hinzugefügt werden
flatpak.remotes.system_flathub.error=Flathub konnte nicht als System-Repository ( remote ) hinzugefügt werden
flatpak.config.install_level.system=system
flatpak.config.install_level.system.tip=Anwendungen werden für alle Gerätebenutzer installiert
flatpak.config.install_level.user=Benutzer
flatpak.config.install_level.user.tip=Die Anwendung wird nur für den aktuellen Benutzer installiert
flatpak.config.install_level.ask=fragen
flatpak.config.install_level.ask.tip={app} fragt nach der Ebene, die während der App-Installation angewendet werden soll
flatpak.config.install_level=niveau

View File

@@ -44,4 +44,11 @@ flatpak.history.commit=commit
flatpak.install.install_level.title=Installation type
flatpak.install.install_level.body=Should {} be installed for all the device users ( system ) ?
flatpak.install.bad_install_level.body=Invalid value for {field} in the configuration file {file}
flatpak.remotes.system_flathub.error=It was not possible to add Flathub as a system repository ( remote )
flatpak.remotes.system_flathub.error=It was not possible to add Flathub as a system repository ( remote )
flatpak.config.install_level.system=system
flatpak.config.install_level.system.tip=Applications will be installed for all the device users
flatpak.config.install_level.user=user
flatpak.config.install_level.user.tip=Application will be installed only for the current user
flatpak.config.install_level.ask=ask
flatpak.config.install_level.ask.tip={app} will ask the level that should be applied during the app installation
flatpak.config.install_level=level

View File

@@ -45,4 +45,11 @@ flatpak.info.developername=desarrollador
flatpak.install.install_level.title=Tipo de instalación
flatpak.install.install_level.body=¿Debería {} estar instalado para todos los usuarios del dispositivo ( sistema )?
flatpak.install.bad_install_level.body=Valor inválido para {field} en el archivo de configuración {file}
flatpak.remotes.system_flathub.error=No fue posible agregar Flathub como repositorio del sistema ( remote )
flatpak.remotes.system_flathub.error=No fue posible agregar Flathub como repositorio del sistema ( remote )
flatpak.config.install_level.system=sistema
flatpak.config.install_level.system.tip=Se instalarán aplicaciones para todos los usuarios del dispositivo
flatpak.config.install_level.user=usuario
flatpak.config.install_level.user.tip=La aplicación se instalará solo para el usuario actual
flatpak.config.install_level.ask=preguntar
flatpak.config.install_level.ask.tip={app} preguntará el nivel que debe aplicarse durante la instalación de la aplicación
flatpak.config.install_level=nivel

View File

@@ -24,4 +24,11 @@ flatpak.info.installation.system=sistema
flatpak.install.install_level.title=Tipo di installazione
flatpak.install.install_level.body={} deve essere installato per tutti gli utenti del dispositivo ( sistema ) ?
flatpak.install.bad_install_level.body=Valore non valido per {field} nel file di configurazione {file}
flatpak.remotes.system_flathub.error=Non è stato possibile aggiungere Flathub come repository di sistema ( remote )
flatpak.remotes.system_flathub.error=Non è stato possibile aggiungere Flathub come repository di sistema ( remote )
flatpak.config.install_level.system=sistema
flatpak.config.install_level.system.tip=Le applicazioni verranno installate per tutti gli utenti del dispositivo
flatpak.config.install_level.user=utente
flatpak.config.install_level.user.tip=L'applicazione verrà installata solo per l'utente corrente
flatpak.config.install_level.ask=chiedere
flatpak.config.install_level.ask.tip={app} chiederà il livello da applicare durante l'installazione dell'app
flatpak.config.install_level=livello

View File

@@ -45,4 +45,11 @@ flatpak.info.developername=desenvolvedor
flatpak.install.install_level.title=Tipo de instalação
flatpak.install.install_level.body={} deve ser instalado para todos os usuários desse dispositivo ( sistema ) ?
flatpak.install.bad_install_level.body=Valor inválido para {field} no arquivo de configuração {file}
flatpak.remotes.system_flathub.error=Não foi possível adicionar o Flathub como um repositório do sistema ( remote )
flatpak.remotes.system_flathub.error=Não foi possível adicionar o Flathub como um repositório do sistema ( remote )
flatpak.config.install_level.system=sistema
flatpak.config.install_level.system.tip=Os aplicativos serão instalados para todos os usuários do dispositivo
flatpak.config.install_level.user=usuário
flatpak.config.install_level.user.tip=Os aplicativos serão instalados somente para o usuário atual
flatpak.config.install_level.ask=perguntar
flatpak.config.install_level.ask.tip=O {app} perguntará qual o nível deverá ser aplicado durante a instalação do aplicativo
flatpak.config.install_level=nível