mirror of
https://github.com/spalencsar/bearhub.git
synced 2026-07-06 22:54:16 +02:00
[fix][ui] not updating cached installed packages state after ignoring/reverting updates
This commit is contained in:
@@ -59,7 +59,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
|
||||
- crashing while reading the installed packages when the internet is unstable
|
||||
|
||||
- initialization dialog hangs when there is no task to wait for [#112](https://github.com/vinifmor/bauh/issues/112)
|
||||
- not caching data of repository packages with unknown repository names
|
||||
- not caching data of installed packages with no signatures and unknown repositories
|
||||
|
||||
## [0.9.3] 2020-05-12
|
||||
### Features
|
||||
|
||||
@@ -114,3 +114,7 @@ class AppImage(SoftwarePackage):
|
||||
|
||||
def is_update_ignored(self) -> bool:
|
||||
return self.updates_ignored
|
||||
|
||||
def __eq__(self, other):
|
||||
if isinstance(other, AppImage):
|
||||
return self.local_file_path == other.local_file_path
|
||||
|
||||
@@ -145,3 +145,7 @@ class ArchPackage(SoftwarePackage):
|
||||
|
||||
def __repr__(self):
|
||||
return '{} (name={}, command={}, icon_path={})'.format(self.__class__.__name__, self.name, self.command, self.icon_path)
|
||||
|
||||
def __eq__(self, other):
|
||||
if isinstance(other, ArchPackage):
|
||||
return self.name == other.name and self.repository == other.repository
|
||||
|
||||
@@ -116,3 +116,7 @@ class FlatpakApplication(SoftwarePackage):
|
||||
|
||||
def get_update_ignore_key(self) -> str:
|
||||
return '{}:{}:{}'.format(self.installation, self.id, self.branch)
|
||||
|
||||
def __eq__(self, other):
|
||||
if isinstance(other, FlatpakApplication):
|
||||
return self.id == other.id and self.installation == other.installation and self.branch == other.branch
|
||||
|
||||
@@ -78,3 +78,7 @@ class SnapApplication(SoftwarePackage):
|
||||
|
||||
def supports_backup(self) -> bool:
|
||||
return True
|
||||
|
||||
def __eq__(self, other):
|
||||
if isinstance(other, SnapApplication):
|
||||
return self.name == other.name
|
||||
|
||||
@@ -148,3 +148,7 @@ class WebApplication(SoftwarePackage):
|
||||
|
||||
def supports_backup(self) -> bool:
|
||||
return False
|
||||
|
||||
def __eq__(self, other):
|
||||
if isinstance(other, WebApplication):
|
||||
return self.name == other.name and self.url == other.url
|
||||
|
||||
@@ -929,4 +929,4 @@ class IgnorePackageUpdates(AsyncAction):
|
||||
self.notify_finished(res)
|
||||
|
||||
finally:
|
||||
self.pkg = None
|
||||
self.pkg = None
|
||||
|
||||
@@ -28,3 +28,7 @@ class PackageView:
|
||||
|
||||
def __repr__(self):
|
||||
return '{} ( {} )'.format(self.model.name, self.get_type_label())
|
||||
|
||||
def __eq__(self, other):
|
||||
if isinstance(other, PackageView):
|
||||
return self.model == other.model
|
||||
|
||||
@@ -1277,6 +1277,12 @@ class ManageWindow(QWidget):
|
||||
if res['success']:
|
||||
self.apply_filters_async()
|
||||
|
||||
if self.pkgs_installed:
|
||||
cached_installed = [idx for idx, p in enumerate(self.pkgs_installed) if p == res['pkg']]
|
||||
|
||||
for idx in cached_installed:
|
||||
self.pkgs_installed[idx] = res['pkg']
|
||||
|
||||
dialog.show_message(title=self.i18n['success'].capitalize(),
|
||||
body=self.i18n['action.{}.success'.format(res['action'])].format(bold(res['pkg'].model.name)),
|
||||
type_=MessageType.INFO)
|
||||
|
||||
Reference in New Issue
Block a user