[improvement][ui] big refactoring regarding the components states

This commit is contained in:
Vinicius Moreira
2020-06-22 17:00:32 -03:00
parent e852224637
commit dab70cdfb8
17 changed files with 868 additions and 473 deletions

View File

@@ -41,21 +41,25 @@ def update_info(pkgv: PackageView, pkgs_info: dict):
pkgs_info['not_installed'] += 1 if not pkgv.model.installed else 0
def apply_filters(pkgv: PackageView, filters: dict, info: dict, limit: bool = True):
def apply_filters(pkg: PackageView, filters: dict, info: dict, limit: bool = True):
if not limit or not filters['display_limit'] or len(info['pkgs_displayed']) < filters['display_limit']:
hidden = filters['only_apps'] and pkgv.model.installed and not pkgv.model.is_application()
if not is_package_hidden(pkg, filters):
info['pkgs_displayed'].append(pkg)
if not hidden and filters['updates']:
hidden = not pkgv.model.update or pkgv.model.is_update_ignored()
if not hidden and filters['type'] is not None and filters['type'] != 'any':
hidden = pkgv.model.get_type() != filters['type']
def is_package_hidden(pkg: PackageView, filters: dict) -> bool:
hidden = filters['only_apps'] and pkg.model.installed and not pkg.model.is_application()
if not hidden and filters['category'] is not None and filters['category'] != 'any':
hidden = not pkgv.model.categories or not [c for c in pkgv.model.categories if c.lower() == filters['category']]
if not hidden and filters['updates']:
hidden = not pkg.model.update or pkg.model.is_update_ignored()
if not hidden and filters['name']:
hidden = not filters['name'] in pkgv.model.name.lower()
if not hidden and filters['type'] is not None and filters['type'] != 'any':
hidden = pkg.model.get_type() != filters['type']
if not hidden:
info['pkgs_displayed'].append(pkgv)
if not hidden and filters['category'] is not None and filters['category'] != 'any':
hidden = not pkg.model.categories or not [c for c in pkg.model.categories if c.lower() == filters['category']]
if not hidden and filters['name']:
hidden = not filters['name'] in pkg.model.name.lower()
return hidden