From 08ddea55fd9a3c28dd260c64839faa67ccfe5e59 Mon Sep 17 00:00:00 2001 From: Vinicius Moreira Date: Sun, 3 May 2020 16:29:42 -0300 Subject: [PATCH] [fix][settings] crashing when an unknown Qt style is set --- CHANGELOG.md | 2 ++ bauh/view/core/settings.py | 14 ++++++++++++-- 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 + bauh/view/resources/locale/ru | 1 + bauh/view/resources/locale/tr | 1 + 10 files changed, 22 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 09e1c047..6e9210db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -29,6 +29,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Fixes - Arch - file not found error while organizing the data of installed packages [#101](https://github.com/vinifmor/bauh/issues/101) +- Settings + - crashing when an unknown Qt style is set [#69](https://github.com/vinifmor/bauh/issues/69) ### UI - icons, buttons and colors changes diff --git a/bauh/view/core/settings.py b/bauh/view/core/settings.py index 66096dc8..4e8936d0 100644 --- a/bauh/view/core/settings.py +++ b/bauh/view/core/settings.py @@ -165,10 +165,20 @@ class GenericSettingsManager: id_='auto_scale') cur_style = QApplication.instance().style().objectName().lower() if not core_config['ui']['style'] else core_config['ui']['style'] - style_opts = [InputOption(label=s.capitalize(), value=s.lower()) for s in QStyleFactory.keys()] + style_opts = [InputOption(label=self.i18n['core.config.ui.style.default'].capitalize(), value=None)] + style_opts.extend([InputOption(label=s.capitalize(), value=s.lower()) for s in QStyleFactory.keys()]) + + default_style = [o for o in style_opts if o.value == cur_style] + + if not default_style: + default_style = InputOption(label=cur_style, value=cur_style) + style_opts.append(default_style) + else: + default_style = default_style[0] + select_style = SingleSelectComponent(label=self.i18n['style'].capitalize(), options=style_opts, - default_option=[o for o in style_opts if o.value == cur_style][0], + default_option=default_style, type_=SelectViewType.COMBO, max_width=default_width, id_="style") diff --git a/bauh/view/resources/locale/ca b/bauh/view/resources/locale/ca index 24d3c191..021d6285 100644 --- a/bauh/view/resources/locale/ca +++ b/bauh/view/resources/locale/ca @@ -216,6 +216,7 @@ core.config.ui.hdpi=HDPI core.config.ui.hdpi.tip=If improvements related to HDPI resolutions should be activated core.config.ui.max_displayed=Applications displayed core.config.ui.max_displayed.tip=Maximum number of applications displayed on the table +core.config.ui.style.default=Default core.config.ui.tray.default_icon=Default icon core.config.ui.tray.default_icon.tip=The default icon for {app} displayed on the tray core.config.ui.tray.updates_icon=Update icon diff --git a/bauh/view/resources/locale/de b/bauh/view/resources/locale/de index c4734ab4..699d993e 100644 --- a/bauh/view/resources/locale/de +++ b/bauh/view/resources/locale/de @@ -215,6 +215,7 @@ core.config.ui.hdpi=HiDPI core.config.ui.hdpi.tip=Falls aktiviert werden Optimierungen für hochauflösende Displays vorgenommen core.config.ui.max_displayed=Anzahl der Anwendungen core.config.ui.max_displayed.tip=Maximale Anzahl von Anwendungen, die in der Tabelle angezeigt werden +core.config.ui.style.default=Default core.config.ui.tray.default_icon=Anwendungs-Icon core.config.ui.tray.default_icon.tip=The default icon for {app} displayed on the tray core.config.ui.tray.updates_icon=Icon bei Updates diff --git a/bauh/view/resources/locale/en b/bauh/view/resources/locale/en index b7090a91..d5ad1881 100644 --- a/bauh/view/resources/locale/en +++ b/bauh/view/resources/locale/en @@ -215,6 +215,7 @@ core.config.ui.hdpi.tip=If improvements related to HDPI resolutions should be ac core.config.ui.hdpi=HDPI core.config.ui.max_displayed.tip=Maximum number of applications displayed on the table core.config.ui.max_displayed=Applications displayed +core.config.ui.style.default=Default core.config.ui.tray.default_icon.tip=The default icon for {app} displayed on the tray core.config.ui.tray.default_icon=Default icon core.config.ui.tray.updates_icon.tip=The displayed icon when there are updates available diff --git a/bauh/view/resources/locale/es b/bauh/view/resources/locale/es index 4fc290f5..763dbccc 100644 --- a/bauh/view/resources/locale/es +++ b/bauh/view/resources/locale/es @@ -216,6 +216,7 @@ core.config.ui.hdpi=HDPI core.config.ui.hdpi.tip=Si se deben activar las mejoras relacionadas con las resoluciones HDPI core.config.ui.max_displayed=Aplicaciones mostradas core.config.ui.max_displayed.tip=Número máximo de aplicaciones que se muestran en la tabla +core.config.ui.style.default=Predeterminado core.config.ui.tray.default_icon=Ícono predeterminado core.config.ui.tray.default_icon.tip=El icono predeterminado que se muestra en la bandeja core.config.ui.tray.updates_icon=Icono de actualización diff --git a/bauh/view/resources/locale/it b/bauh/view/resources/locale/it index 804771a6..e21ed34b 100644 --- a/bauh/view/resources/locale/it +++ b/bauh/view/resources/locale/it @@ -216,6 +216,7 @@ core.config.ui.hdpi=HDPI core.config.ui.hdpi.tip=If improvements related to HDPI resolutions should be activated core.config.ui.max_displayed=Applications displayed core.config.ui.max_displayed.tip=Maximum number of applications displayed on the table +core.config.ui.style.default=Default core.config.ui.tray.default_icon=Default icon core.config.ui.tray.default_icon.tip=The default icon for {app} displayed on the tray core.config.ui.tray.updates_icon=Update icon diff --git a/bauh/view/resources/locale/pt b/bauh/view/resources/locale/pt index bed981a6..27e6aef2 100644 --- a/bauh/view/resources/locale/pt +++ b/bauh/view/resources/locale/pt @@ -215,6 +215,7 @@ core.config.ui.hdpi.tip=Se melhorias para resoluções HDPI devem ser ativadas core.config.ui.hdpi=HDPI core.config.ui.max_displayed.tip=Número máximo de aplicativos exibidos na tabela core.config.ui.max_displayed=Aplicativos exibidos +core.config.ui.style.default=Padrão core.config.ui.tray.default_icon.tip=O ícone padrão exibido na bandeja core.config.ui.tray.default_icon=Ícone padrão core.config.ui.tray.updates_icon.tip=O ícone exibido quando há atualizações disponíveis diff --git a/bauh/view/resources/locale/ru b/bauh/view/resources/locale/ru index b4d2b514..713642f2 100644 --- a/bauh/view/resources/locale/ru +++ b/bauh/view/resources/locale/ru @@ -215,6 +215,7 @@ core.config.ui.hdpi=HDPI core.config.ui.hdpi.tip=Если улучшения, связанные с разрешением HDPI должны быть активированы core.config.ui.max_displayed=Отображаемые приложения core.config.ui.max_displayed.tip=Максимальное количество приложений, отображаемых в таблице +core.config.ui.style.default=Default core.config.ui.tray.default_icon=Значок по умолчанию core.config.ui.tray.default_icon.tip=Значок по умолчанию для {app}, отображаемый в трее core.config.ui.tray.updates_icon=Значок обновления diff --git a/bauh/view/resources/locale/tr b/bauh/view/resources/locale/tr index 7fb43cc4..ee068ef8 100644 --- a/bauh/view/resources/locale/tr +++ b/bauh/view/resources/locale/tr @@ -215,6 +215,7 @@ core.config.ui.hdpi.tip=HDPI çözünürlükleri ile ilgili iyileştirmeler etki core.config.ui.hdpi=HDPI core.config.ui.max_displayed.tip=Tabloda görüntülenen azami uygulama sayısı core.config.ui.max_displayed=Görüntülenen uygulamalar +core.config.ui.style.default=Default core.config.ui.tray.default_icon.tip=Tepside görüntülenen {app} için varsayılan simge core.config.ui.tray.default_icon=Varsayılan simge core.config.ui.tray.updates_icon.tip=Güncelleme mevcut olduğunda görüntülenen simge