fix: arch checking dependencies regression | pausing the progress when a confirmation dialog is displayed

This commit is contained in:
Vinicius Moreira
2019-09-12 18:13:49 -03:00
parent b864f82710
commit 04dd651dc5
3 changed files with 36 additions and 15 deletions

View File

@@ -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)

View File

@@ -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)

View File

@@ -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: