From 55978be0f7dfe784d48211141b4196c406a4788c Mon Sep 17 00:00:00 2001 From: Vinicius Moreira Date: Fri, 12 Jul 2019 12:05:36 -0300 Subject: [PATCH] hiding details when 'refresh' is clicked | showing details when an error happens during installation --- fpakman/view/qt/thread.py | 6 +++--- fpakman/view/qt/window.py | 16 ++++++++++++---- 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/fpakman/view/qt/thread.py b/fpakman/view/qt/thread.py index be93fd82..bac154db 100644 --- a/fpakman/view/qt/thread.py +++ b/fpakman/view/qt/thread.py @@ -169,7 +169,7 @@ class SearchApps(QThread): class InstallApp(QThread): - signal_finished = pyqtSignal() + signal_finished = pyqtSignal(bool) signal_output = pyqtSignal(str) def __init__(self, manager: ApplicationManager, disk_cache: bool, icon_cache: Cache, app: ApplicationView = None): @@ -205,8 +205,8 @@ class InstallApp(QThread): icon_bytes=self.icon_cache.get(self.app.model.base_data.icon_url)['bytes'], only_icon=False) - self.app = None - self.signal_finished.emit() + self.app = None + self.signal_finished.emit(not error) class AnimateProgress(QThread): diff --git a/fpakman/view/qt/window.py b/fpakman/view/qt/window.py index 6604d1c3..8956482a 100755 --- a/fpakman/view/qt/window.py +++ b/fpakman/view/qt/window.py @@ -92,7 +92,7 @@ class ManageWindow(QWidget): self.bt_refresh = QToolButton() self.bt_refresh.setToolTip(locale_keys['manage_window.bt.refresh.tooltip']) self.bt_refresh.setIcon(QIcon(resource.get_path('img/refresh.svg'))) - self.bt_refresh.clicked.connect(self.refresh) + self.bt_refresh.clicked.connect(lambda: self.refresh(keep_console=False)) toolbar.addWidget(self.bt_refresh) self.bt_upgrade = QToolButton() @@ -234,10 +234,14 @@ class ManageWindow(QWidget): self.checkbox_console.setChecked(False) self.textarea_output.hide() - def refresh(self): + def refresh(self, keep_console: bool = True): if self._acquire_lock(): self.input_search.clear() + + if not keep_console: + self._handle_console_option(False) + self._begin_action(self.locale_keys['manage_window.status.refreshing']) self.thread_refresh.start() @@ -486,11 +490,15 @@ class ManageWindow(QWidget): self.thread_install.app = app self.thread_install.start() - def _finish_install(self): + def _finish_install(self, success: bool): self.input_search.setText('') self.finish_action() self._release_lock() - self.refresh() + + if success: + self.refresh() + else: + self.checkbox_console.setChecked(True) def _update_progress(self, value: int): self.progress_bar.setValue(value)