From 8c876df7b56f356bfc297649a71eb880ac44b668 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vin=C3=ADcius=20Moreira?= Date: Mon, 13 Jan 2020 12:03:27 -0300 Subject: [PATCH] [improvement][flatpak] application name tooltip now displays the installation level --- CHANGELOG.md | 3 +++ bauh/api/abstract/model.py | 6 ++++++ bauh/gems/flatpak/controller.py | 2 +- bauh/gems/flatpak/model.py | 10 +++++++++- bauh/view/qt/apps_table.py | 2 +- 5 files changed, 20 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2a971bba..25c26e1a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Improvements - All icons are now SVG files - HDPI support improvements ( by [octopusSD](https://github.com/octopusSD) ) +- Flatpak: + - the application name tooltip now displays the installation level. e.g: **gedit ( system )** + - info window displaying the installation level - Web: - not using HTTP sessions anymore to perform the searches. It seems to avoid URLs not being found after an internet drop event. - supporting JPEG images as custom icons diff --git a/bauh/api/abstract/model.py b/bauh/api/abstract/model.py index 7bcc2781..1500b3f9 100644 --- a/bauh/api/abstract/model.py +++ b/bauh/api/abstract/model.py @@ -175,6 +175,12 @@ class SoftwarePackage(ABC): """ return not self.installed + def get_name_tooltip(self) -> str: + """ + :return: the application name that should be displayed on the UI tooltips. + """ + return self.name + def __str__(self): return '{} (id={}, name={})'.format(self.__class__.__name__, self.id, self.name) diff --git a/bauh/gems/flatpak/controller.py b/bauh/gems/flatpak/controller.py index 10a56b35..c890e58f 100644 --- a/bauh/gems/flatpak/controller.py +++ b/bauh/gems/flatpak/controller.py @@ -38,7 +38,7 @@ class FlatpakManager(SoftwareManager): def _map_to_model(self, app_json: dict, installed: bool, disk_loader: DiskCacheLoader, internet: bool = True) -> FlatpakApplication: - app = FlatpakApplication(**app_json) + app = FlatpakApplication(**app_json, i18n=self.i18n) app.installed = installed api_data = self.api_cache.get(app_json['id']) diff --git a/bauh/gems/flatpak/model.py b/bauh/gems/flatpak/model.py index 764b3e1d..880f54e0 100644 --- a/bauh/gems/flatpak/model.py +++ b/bauh/gems/flatpak/model.py @@ -3,13 +3,14 @@ import copy from bauh.api.abstract.model import SoftwarePackage from bauh.commons import resource from bauh.gems.flatpak import ROOT_DIR +from bauh.view.util.translation import I18n class FlatpakApplication(SoftwarePackage): def __init__(self, id: str = None, name: str = None, version: str = None, latest_version: str = None, description: str = None, branch: str = None, arch: str = None, origin: str = None, runtime: bool = False, ref: str = None, commit: str = None, - installation: str = None): + installation: str = None, i18n: I18n = None): super(FlatpakApplication, self).__init__(id=id, name=name, version=version, latest_version=latest_version, description=description) self.ref = ref @@ -20,6 +21,7 @@ class FlatpakApplication(SoftwarePackage): self.commit = commit self.partial = False self.installation = installation if installation else 'system' + self.i18n = i18n if runtime: self.categories = ['runtime'] @@ -81,3 +83,9 @@ class FlatpakApplication(SoftwarePackage): partial.partial = True return partial + + def get_name_tooltip(self) -> str: + if self.installation and self.i18n is not None: + return '{} ( {} )'.format(self.name, self.i18n[self.installation.lower()]) + + return self.name diff --git a/bauh/view/qt/apps_table.py b/bauh/view/qt/apps_table.py index 61089419..985020c7 100644 --- a/bauh/view/qt/apps_table.py +++ b/bauh/view/qt/apps_table.py @@ -333,7 +333,7 @@ class AppsTable(QTableWidget): if pkg.model.name: name = pkg.model.name - item.setToolTip('{}: {}'.format(self.i18n['app.name'].lower(), name)) + item.setToolTip('{}: {}'.format(self.i18n['app.name'].lower(), pkg.model.get_name_tooltip())) else: name = '...' item.setToolTip(self.i18n['app.name'].lower())