From e859cfd06de35caa12ebcd34a1844fc7e8bc9678 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Moreira?= Date: Tue, 28 Jan 2020 15:06:59 -0300 Subject: [PATCH] [fix][ui][settings] not displaying all available gems --- bauh/gems/web/controller.py | 2 +- bauh/gems/web/resources/locale/en | 3 ++- bauh/gems/web/resources/locale/es | 3 ++- bauh/gems/web/resources/locale/pt | 3 ++- bauh/view/core/controller.py | 3 ++- bauh/view/qt/components.py | 4 +++- bauh/view/qt/settings.py | 5 ++--- bauh/view/resources/locale/ca | 1 + bauh/view/resources/locale/de | 1 + bauh/view/resources/locale/en | 1 + bauh/view/resources/locale/es | 1 + bauh/view/resources/locale/it | 1 + bauh/view/resources/locale/pt | 1 + 13 files changed, 20 insertions(+), 9 deletions(-) diff --git a/bauh/gems/web/controller.py b/bauh/gems/web/controller.py index b5e9fce9..c77ada74 100644 --- a/bauh/gems/web/controller.py +++ b/bauh/gems/web/controller.py @@ -929,7 +929,7 @@ class WebApplicationManager(SoftwareManager): system_nativefier = form_env.get_component('nativefier').get_selected() if system_nativefier and not nativefier.is_available(): - return False, ['Nativefier seems not to be installed on your system'] + return False, [self.i18n['web.settings.env.nativefier.system.not_installed'].format('Nativefier')] config['environment']['system'] = system_nativefier diff --git a/bauh/gems/web/resources/locale/en b/bauh/gems/web/resources/locale/en index d8da1f03..136433da 100644 --- a/bauh/gems/web/resources/locale/en +++ b/bauh/gems/web/resources/locale/en @@ -65,4 +65,5 @@ web.settings.nativefier.env=environment web.settings.nativefier.system=system web.settings.nativefier.env.tooltip=The Nativefier version installed on the isolated {app} environment will be used to install applications web.settings.nativefier.system.tooltip=The Nativefier version installed on your system will be used to install applications -web.settings.nativefier.tip=Defines which Nativefier version should be used to generate the Web applications \ No newline at end of file +web.settings.nativefier.tip=Defines which Nativefier version should be used to generate the Web applications +web.settings.env.nativefier.system.not_installed={} seems not to be installed on your system \ No newline at end of file diff --git a/bauh/gems/web/resources/locale/es b/bauh/gems/web/resources/locale/es index eef64cf1..e38065ea 100644 --- a/bauh/gems/web/resources/locale/es +++ b/bauh/gems/web/resources/locale/es @@ -65,4 +65,5 @@ web.settings.nativefier.env=ambiente web.settings.nativefier.system=sistema web.settings.nativefier.env.tooltip=Se utilizará la versión de Nativefier instalada en el ambiente aislado de {app} para instalar aplicaciones web.settings.nativefier.system.tooltip=Se utilizará la versión de Nativefier instalada en su sistema para instalar aplicaciones -web.settings.nativefier.tip=Define qué versión de Nativefier debe usarse para generar las aplicaciones Web \ No newline at end of file +web.settings.nativefier.tip=Define qué versión de Nativefier debe usarse para generar las aplicaciones Web +web.settings.env.nativefier.system.not_installed={} parece no estar instalado en su sistema \ No newline at end of file diff --git a/bauh/gems/web/resources/locale/pt b/bauh/gems/web/resources/locale/pt index e37ba8ea..8e5de011 100644 --- a/bauh/gems/web/resources/locale/pt +++ b/bauh/gems/web/resources/locale/pt @@ -65,4 +65,5 @@ web.settings.nativefier.env=ambiente web.settings.nativefier.system=sistema web.settings.nativefier.env.tooltip=A versão do Nativefier instalada no ambiente isolado do {app} será utilizada para instalar aplicativos web.settings.nativefier.system.tooltip=A versão do Nativefier instalada no seu sistema será utilizada para instalar aplicativos -web.settings.nativefier.tip=Define qual versão do Nativefier será utilizada para gerar os aplicativos Web \ No newline at end of file +web.settings.nativefier.tip=Define qual versão do Nativefier será utilizada para gerar os aplicativos Web +web.settings.env.nativefier.system.not_installed={} não parece estar instalado no seu sistema \ No newline at end of file diff --git a/bauh/view/core/controller.py b/bauh/view/core/controller.py index facf11e3..d60eb6e2 100755 --- a/bauh/view/core/controller.py +++ b/bauh/view/core/controller.py @@ -615,7 +615,7 @@ class GenericSoftwareManager(SoftwareManager): gem_opts, def_gem_opts, gem_tabs = [], set(), [] for man in self.managers: - if self._can_work(man): + if man.can_work(): man_comp = man.get_settings() modname = man.__module__.split('.')[-2] icon_path = "{r}/gems/{n}/resources/img/{n}.svg".format(r=ROOT_DIR, n=modname) @@ -637,6 +637,7 @@ class GenericSoftwareManager(SoftwareManager): if gem_opts: type_help = TextComponent(html=self.i18n['core.config.types.tip']) + gem_opts.sort(key=lambda o: o.value) gem_selector = MultipleSelectComponent(label=None, tooltip=None, options=gem_opts, diff --git a/bauh/view/qt/components.py b/bauh/view/qt/components.py index fe31d784..862528e7 100644 --- a/bauh/view/qt/components.py +++ b/bauh/view/qt/components.py @@ -579,6 +579,8 @@ def to_widget(comp: ViewComponent, i18n: I18n, parent: QWidget = None) -> QWidge elif isinstance(comp, TwoStateButtonComponent): return TwoStateButtonQt(comp) elif isinstance(comp, TextComponent): - return QLabel(comp.value) + label = QLabel(comp.value) + label.setSizePolicy(QSizePolicy.Minimum, QSizePolicy.Fixed) + return label else: raise Exception("Cannot render instances of " + comp.__class__.__name__) diff --git a/bauh/view/qt/settings.py b/bauh/view/qt/settings.py index be12a8a6..b1a12688 100644 --- a/bauh/view/qt/settings.py +++ b/bauh/view/qt/settings.py @@ -56,7 +56,7 @@ class SettingsWindow(QWidget): if success: if dialog.ask_confirmation(title=self.i18n['warning'].capitalize(), body="

{}

{}

".format(self.i18n['settings.changed.success.warning'], - self.i18n['settings.changed.success.reboot']), + self.i18n['settings.changed.success.reboot']), i18n=self.i18n): util.restart_app(self.tray) else: @@ -70,11 +70,10 @@ class SettingsWindow(QWidget): self.close() else: msg = StringIO() - msg.write("

It was not possible to properly save the settings

") + msg.write("

{}

".format(self.i18n['settings.error'])) for w in warnings: msg.write('

* ' + w + '


') msg.seek(0) - dialog.show_message(title="Warning", body=msg.read(), type_=MessageType.WARNING) diff --git a/bauh/view/resources/locale/ca b/bauh/view/resources/locale/ca index 665b2792..f7a226ce 100644 --- a/bauh/view/resources/locale/ca +++ b/bauh/view/resources/locale/ca @@ -254,6 +254,7 @@ core.config.suggestions.by_type.tip=Maximum number of suggestions that should be core.config.types.tip=Check the application types you want to manage settings.changed.success.warning=Settings successfully changed. Some of them will only take effect after the restart. settings.changed.success.reboot=Restart now ? +settings.error=It was not possible to properly change all the settings locale.en=anglès locale.es=castellà locale.pt=portuguès diff --git a/bauh/view/resources/locale/de b/bauh/view/resources/locale/de index f8886dd8..fbb3c47f 100644 --- a/bauh/view/resources/locale/de +++ b/bauh/view/resources/locale/de @@ -209,6 +209,7 @@ core.config.suggestions.by_type.tip=Maximum number of suggestions that should be core.config.types.tip=Check the application types you want to manage settings.changed.success.warning=Settings successfully changed. Some of them will only take effect after the restart. settings.changed.success.reboot=Restart now ? +settings.error=It was not possible to properly change all the settings locale.en=englisch locale.es=spanisch locale.pt=portugiesisch diff --git a/bauh/view/resources/locale/en b/bauh/view/resources/locale/en index 281ba6d8..a434bbb9 100644 --- a/bauh/view/resources/locale/en +++ b/bauh/view/resources/locale/en @@ -216,6 +216,7 @@ core.config.suggestions.by_type.tip=Maximum number of suggestions that should be core.config.types.tip=Check the application types you want to manage settings.changed.success.warning=Settings successfully changed. Some of them will only take effect after the restart. settings.changed.success.reboot=Restart now ? +settings.error=It was not possible to properly change all the settings locale.en=english locale.es=spanish locale.pt=portuguese diff --git a/bauh/view/resources/locale/es b/bauh/view/resources/locale/es index 089f77e1..8a2f32e2 100644 --- a/bauh/view/resources/locale/es +++ b/bauh/view/resources/locale/es @@ -257,6 +257,7 @@ core.config.suggestions.by_type.tip=Número máximo de sugerencias que deberían core.config.types.tip=Marque los tipos de aplicaciones que desea administrar settings.changed.success.warning=Las configuraciones se cambiaron con éxito. Algunas solo tendrán efecto después del reinicio. settings.changed.success.reboot=¿Reiniciar ahora? +settings.error=No fue posible cambiar correctamente todas las configuraciones locale.es=inglés locale.es=español locale.pt=portugués diff --git a/bauh/view/resources/locale/it b/bauh/view/resources/locale/it index bc1a2416..46c9f18f 100644 --- a/bauh/view/resources/locale/it +++ b/bauh/view/resources/locale/it @@ -209,6 +209,7 @@ core.config.suggestions.by_type.tip=Maximum number of suggestions that should be core.config.types.tip=Check the application types you want to manage settings.changed.success.warning=Settings successfully changed. Some of them will only take effect after the restart. settings.changed.success.reboot=Restart now ? +settings.error=It was not possible to properly change all the settings locale.en=inglese locale.es=spagnolo locale.pt=portoghese diff --git a/bauh/view/resources/locale/pt b/bauh/view/resources/locale/pt index 443bd235..cc7da363 100644 --- a/bauh/view/resources/locale/pt +++ b/bauh/view/resources/locale/pt @@ -260,6 +260,7 @@ core.config.suggestions.by_type.tip=Número máximo de sugestões que devem ser core.config.types.tip=Marque os tipos de aplicativo que você quer gerenciar settings.changed.success.warning=Configurações alteradas com sucesso ! Algumas delas só surtirão após a reinicialização. settings.changed.success.reboot=Reiniciar agora ? +settings.error=Não foi possível alterar todas as configurações adequadamente locale.en=inglês locale.es=espanhol locale.pt=português