From 85cbf081ee6256e76069b6f4ce963fc2e7de8530 Mon Sep 17 00:00:00 2001 From: Vinicius Moreira Date: Mon, 18 Jan 2021 17:22:39 -0300 Subject: [PATCH] [ui] improvement -> refactoring table icons size to qss --- bauh/view/qt/apps_table.py | 13 ++++++++----- bauh/view/resources/style/default/default.qss | 8 +++++++- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/bauh/view/qt/apps_table.py b/bauh/view/qt/apps_table.py index 4fb5122f..cf894fe5 100644 --- a/bauh/view/qt/apps_table.py +++ b/bauh/view/qt/apps_table.py @@ -70,7 +70,7 @@ class UpgradeToggleButton(QToolButton): class PackagesTable(QTableWidget): COL_NUMBER = 9 - ICONS_SIZE = QSize(16, 16) + DEFAULT_ICON_SIZE = QSize(16, 16) def __init__(self, parent: QWidget, icon_cache: MemoryCache, download_icons: bool): super(PackagesTable, self).__init__() @@ -344,13 +344,13 @@ class PackagesTable(QTableWidget): icon_data = self.cache_type_icon.get(pkg.model.get_type()) if icon_data is None: - pixmap = QIcon(pkg.model.get_type_icon_path()).pixmap(self.ICONS_SIZE) + icon = QIcon(pkg.model.get_type_icon_path()) + pixmap = icon.pixmap(self._get_icon_size(icon)) icon_data = {'px': pixmap, 'tip': '{}: {}'.format(self.i18n['type'], pkg.get_type_label())} self.cache_type_icon[pkg.model.get_type()] = icon_data col_type_icon = QLabel() col_type_icon.setCursor(QCursor(Qt.WhatsThisCursor)) - col_type_icon.setObjectName('app_type') col_type_icon.setProperty('icon', 'true') col_type_icon.setSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.Preferred) col_type_icon.setPixmap(icon_data['px']) @@ -420,7 +420,6 @@ class PackagesTable(QTableWidget): icon = icon_data['icon'] if icon_data else QIcon(pkg.model.get_default_icon_path()) col_icon = QLabel() - col_icon.setObjectName('app_icon') col_icon.setProperty('icon', 'true') col_icon.setSizePolicy(QSizePolicy.MinimumExpanding, QSizePolicy.Preferred) self._update_icon(col_icon, icon) @@ -449,7 +448,11 @@ class PackagesTable(QTableWidget): self.setCellWidget(pkg.table_index, col, col_name) def _update_icon(self, label: QLabel, icon: QIcon): - label.setPixmap(icon.pixmap(self.ICONS_SIZE)) + label.setPixmap(icon.pixmap(self._get_icon_size(icon))) + + def _get_icon_size(self, icon: QIcon) -> QSize: + sizes = icon.availableSizes() + return sizes[-1] if sizes else self.DEFAULT_ICON_SIZE def _set_col_description(self, col: int, pkg: PackageView): item = QLabel() diff --git a/bauh/view/resources/style/default/default.qss b/bauh/view/resources/style/default/default.qss index e00e2cfd..18b684aa 100644 --- a/bauh/view/resources/style/default/default.qss +++ b/bauh/view/resources/style/default/default.qss @@ -268,7 +268,13 @@ PackagesTable QLabel#icon_publisher_verified { } PackagesTable QLabel[icon = "true"] { - qproperty-alignment: AlignCenter; + qproperty-scaledContents: True; + min-height: 16; + max-height: 16; + min-width: 16; + max-width: 16; + margin-left: 12px; + margin-top: 7px; } PackagesTable QToolButton#bt_install {