[ui] fix -> some application icons without a full path are not being rendered on the 'Upgrade summary'

This commit is contained in:
Vinicius Moreira
2020-08-21 17:05:05 -03:00
parent d8944e016c
commit c5fcf18be0
3 changed files with 13 additions and 3 deletions

View File

@@ -87,6 +87,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
- crashing when nothing can be upgraded
- random C++ wrapper errors with some forms due to missing references
- application icons that cannot be rendered are being displayed as an empty space (now the type icon is displayed instead)
- some application icons without a full path are not being rendered on the 'Upgrade summary'
## [0.9.6] 2020-06-26

View File

@@ -268,7 +268,10 @@ class RadioButtonQt(QRadioButton):
self.toggled.connect(self._set_checked)
if model.icon_path:
self.setIcon(QIcon(model.icon_path))
if model.icon_path.startswith('/'):
self.setIcon(QIcon(model.icon_path))
else:
self.setIcon(QIcon.fromTheme(model.icon_path))
if self.model.read_only:
self.setAttribute(Qt.WA_TransparentForMouseEvents)
@@ -291,7 +294,10 @@ class CheckboxQt(QCheckBox):
self.setToolTip(model.tooltip)
if model.icon_path:
self.setIcon(QIcon(model.icon_path))
if model.icon_path.startswith('/'):
self.setIcon(QIcon(model.icon_path))
else:
self.setIcon(QIcon.fromTheme(model.icon_path))
if model.read_only:
self.setAttribute(Qt.WA_TransparentForMouseEvents)

View File

@@ -9,6 +9,7 @@ from typing import List, Type, Set, Tuple
import requests
from PyQt5.QtCore import QThread, pyqtSignal
from PyQt5.QtGui import QIcon
from bauh import LOGS_PATH
from bauh.api.abstract.cache import MemoryCache
@@ -196,7 +197,9 @@ class UpgradeSelected(AsyncAction):
if req.pkg.installed:
icon_path = req.pkg.get_disk_icon_path()
if not icon_path or not os.path.isfile(icon_path):
if not icon_path:
icon_path = req.pkg.get_type_icon_path()
elif not os.path.isfile(icon_path) and QIcon.fromTheme(icon_path).isNull():
icon_path = req.pkg.get_type_icon_path()
else: