diff --git a/fpakman/view/qt/thread.py b/fpakman/view/qt/thread.py index 0079f3d1..45b08722 100644 --- a/fpakman/view/qt/thread.py +++ b/fpakman/view/qt/thread.py @@ -92,7 +92,7 @@ class RefreshApps(QThread): class UninstallApp(AsyncAction): - signal_finished = pyqtSignal(bool) + signal_finished = pyqtSignal(ApplicationView) signal_output = pyqtSignal(str) def __init__(self, manager: ApplicationManager, icon_cache: Cache, app: ApplicationView = None): @@ -111,7 +111,7 @@ class UninstallApp(AsyncAction): self.icon_cache.delete(self.app.model.base_data.icon_url) self.manager.clean_cache_for(self.app.model) - self.signal_finished.emit(success) + self.signal_finished.emit(self.app if success else None) self.app = None self.root_password = None @@ -204,7 +204,7 @@ class SearchApps(QThread): class InstallApp(AsyncAction): - signal_finished = pyqtSignal(bool) + signal_finished = pyqtSignal(ApplicationView) signal_output = pyqtSignal(str) def __init__(self, manager: ApplicationManager, disk_cache: bool, icon_cache: Cache, locale_keys: dict, app: ApplicationView = None): @@ -237,8 +237,8 @@ class InstallApp(AsyncAction): success = False self.signal_output.emit(self.locale_keys['internet.required']) finally: + self.signal_finished.emit(self.app if success else None) self.app = None - self.signal_finished.emit(success) class AnimateProgress(QThread): diff --git a/fpakman/view/qt/window.py b/fpakman/view/qt/window.py index 5a18fce8..eae9de57 100755 --- a/fpakman/view/qt/window.py +++ b/fpakman/view/qt/window.py @@ -304,18 +304,16 @@ class ManageWindow(QWidget): self.thread_refresh_app.root_password = pwd self.thread_refresh_app.start() - def _finish_uninstall(self, success: bool): + def _finish_uninstall(self, app: ApplicationView): self.finish_action() - if success: + if app: if self._can_notify_user(): - app = self.table_apps.get_selected_app() util.notify_user('{} ({}) {}'.format(app.model.base_data.name, app.model.get_type(), self.locale_keys['uninstalled'])) self.refresh_apps() else: if self._can_notify_user(): - app = self.table_apps.get_selected_app() util.notify_user('{}: {}'.format(app.model.base_data.name, self.locale_keys['notification.uninstall.failed'])) self.checkbox_console.setChecked(True) @@ -654,19 +652,17 @@ class ManageWindow(QWidget): self.thread_install.root_password = pwd self.thread_install.start() - def _finish_install(self, success: bool): + def _finish_install(self, app: ApplicationView): self.input_search.setText('') self.finish_action() - if success: + if app: if self._can_notify_user(): - app = self.table_apps.get_selected_app() util.notify_user(msg='{} ({}) {}'.format(app.model.base_data.name, app.model.get_type(), self.locale_keys['installed'])) self.refresh_apps() else: if self._can_notify_user(): - app = self.table_apps.get_selected_app() util.notify_user('{}: {}'.format(app.model.base_data.name, self.locale_keys['notification.install.failed'])) self.checkbox_console.setChecked(True)