diff --git a/bauh/gems/arch/makepkg.py b/bauh/gems/arch/makepkg.py index 9d0e630a..96218c5b 100644 --- a/bauh/gems/arch/makepkg.py +++ b/bauh/gems/arch/makepkg.py @@ -20,10 +20,15 @@ def check_missing_deps(pkgdir: str, watcher: ProcessWatcher) -> List[str]: error_lines = [] for s in depcheck.stderr: if s: - line = s.decode().strip() + line = s.decode() if line: error_lines.append(line) + line_strip = line.strip() + + if line_strip: + watcher.print(line) + if error_lines: error_str = ''.join(error_lines) diff --git a/bauh/view/qt/thread.py b/bauh/view/qt/thread.py index 0480759b..982eef5a 100644 --- a/bauh/view/qt/thread.py +++ b/bauh/view/qt/thread.py @@ -278,6 +278,7 @@ class AnimateProgress(QThread): self.sleep = 0.05 self.last_progress = 0 self.manual = False + self.paused = False def _reset(self): self.progress_value = 0 @@ -287,34 +288,44 @@ class AnimateProgress(QThread): self.sleep = 0.05 self.last_progress = 0 self.manual = False + self.paused = False def set_progress(self, val: int): if 0 <= val <= 100: self.limit = val self.manual = True self.increment = 0.5 + self.paused = False + + def pause(self): + self.paused = True + + def animate(self): + self.paused = False def run(self): current_increment = self.increment while not self.stop: - if self.progress_value != self.last_progress: - self.signal_change.emit(self.progress_value) - self.last_progress = self.progress_value + if not self.paused: + if self.progress_value != self.last_progress: + self.signal_change.emit(self.progress_value) + self.last_progress = self.progress_value - if not self.manual: - if self.progress_value >= self.limit: - current_increment = -self.increment - elif self.progress_value <= 0: - current_increment = self.increment - else: - if self.progress_value >= self.limit: - current_increment = 0 + if not self.manual: + if self.progress_value >= self.limit: + current_increment = -self.increment + elif self.progress_value <= 0: + current_increment = self.increment else: - current_increment = self.increment + if self.progress_value >= self.limit: + current_increment = 0 + else: + current_increment = self.increment + + self.progress_value += current_increment - self.progress_value += current_increment time.sleep(self.sleep) self.signal_change.emit(100) diff --git a/bauh/view/qt/window.py b/bauh/view/qt/window.py index d327d37c..6ce3d93d 100755 --- a/bauh/view/qt/window.py +++ b/bauh/view/qt/window.py @@ -308,16 +308,21 @@ class ManageWindow(QWidget): return action def _ask_confirmation(self, msg: dict): + self.thread_animate_progress.pause() diag = ConfirmationDialog(title=msg['title'], body=msg['body'], locale_keys=self.i18n, components=msg['components'], confirmation_label=msg['confirmation_label'], deny_label=msg['deny_label']) - self.signal_user_res.emit(diag.is_confirmed()) + res = diag.is_confirmed() + self.thread_animate_progress.animate() + self.signal_user_res.emit(res) def _show_message(self, msg: dict): + self.thread_animate_progress.pause() dialog.show_message(title=msg['title'], body=msg['body'], type_=msg['type']) + self.thread_animate_progress.animate() def _show_warnings(self, warnings: List[str]): if warnings: