diff --git a/CHANGELOG.md b/CHANGELOG.md index c6535f8e..36d6d8c5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Arch - uninstall: not checking if the are other installed providers for the target package - not recursively asking for dependencies providers when installing / upgrading +- UI + - table overwrite effect when updating its content ## [0.9.4] 2020-05-29 diff --git a/bauh/view/qt/apps_table.py b/bauh/view/qt/apps_table.py index 37bed680..351eec8f 100644 --- a/bauh/view/qt/apps_table.py +++ b/bauh/view/qt/apps_table.py @@ -254,7 +254,11 @@ class AppsTable(QTableWidget): self.window.manager.cache_to_disk(pkg=app.model, icon_bytes=icon_data['bytes'], only_icon=True) def update_packages(self, pkgs: List[PackageView], update_check_enabled: bool = True): - self.setRowCount(len(pkgs) if pkgs else 0) + self.setRowCount(0) # removes the overwrite effect when updates the table + + if pkgs: + self.setRowCount(len(pkgs)) + self.setEnabled(True) if pkgs: diff --git a/bauh/view/qt/window.py b/bauh/view/qt/window.py index 7ae86e4f..c616da33 100755 --- a/bauh/view/qt/window.py +++ b/bauh/view/qt/window.py @@ -1,6 +1,7 @@ import logging import time import traceback +from datetime import datetime from pathlib import Path from typing import List, Type, Set, Tuple @@ -406,16 +407,17 @@ class ManageWindow(QWidget): self.thread_apply_filters.filters = self._gen_filters() self.thread_apply_filters.pkgs = self.pkgs_available self.thread_apply_filters.start() + self.table_apps.setEnabled(False) self.checkbox_only_apps.setEnabled(False) self.combo_categories.setEnabled(False) self.combo_filter_type.setEnabled(False) self.input_name_filter.setEnabled(False) self.checkbox_updates.setEnabled(False) - self.table_apps.setEnabled(False) self.setFocus(Qt.NoFocusReason) def _update_table_and_upgrades(self, pkgs_info: dict): self._update_table(pkgs_info=pkgs_info, signal=True) + self.table_apps.setEnabled(False) self.update_bt_upgrade(pkgs_info) if self.pkgs: @@ -427,6 +429,7 @@ class ManageWindow(QWidget): self.thread_notify_pkgs_ready.start() def _finish_apply_filters_async(self, success: bool): + self.table_apps.setEnabled(True) self.checkbox_only_apps.setEnabled(True) self.checkbox_updates.setEnabled(True) self.combo_categories.setEnabled(True)