From 1f227636df71c397678c2e40bd759dfa798d7ba9 Mon Sep 17 00:00:00 2001 From: Joerg Wunsch Date: Tue, 26 Mar 2024 22:17:11 +0100 Subject: [PATCH] Implement progress indication --- src/python/adgui.py | 16 ++++++++++++++++ src/python/adgui.ui | 13 +++++++++++-- 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/src/python/adgui.py b/src/python/adgui.py index 2f9edf31..2490aa0e 100755 --- a/src/python/adgui.py +++ b/src/python/adgui.py @@ -154,6 +154,7 @@ class adgui(QObject): self.app = QApplication(sys.argv) ad.set_msg_callback(self.msg_callback) + ad.set_progress_callback(self.progress_callback) self.port = None self.dev_selected = None self.prog_selected = None @@ -279,6 +280,21 @@ class adgui(QObject): s += msg self.log(s, msglvl) + def progress_callback(self, percent: int, etime: float, hdr: str, finish: int): + if hdr: + self.adgui.operation.setText(hdr) + self.adgui.progressBar.setEnabled(True) + if finish != 0: + self.adgui.progressBar.setValue(0) + self.adgui.progressBar.setEnabled(False) + self.adgui.time.setText("-:--") + self.adgui.operation.setText("") + else: + self.adgui.progressBar.setValue(percent) + secs = etime % 60 + mins = etime // 60 + self.adgui.time.setText(f"{mins}:{secs:02d}") + def update_device_cb(self): fams = list(self.devices.keys()) #fams.sort() diff --git a/src/python/adgui.ui b/src/python/adgui.ui index 34e16a8b..52fd72d5 100644 --- a/src/python/adgui.ui +++ b/src/python/adgui.ui @@ -31,7 +31,13 @@ 15 - + + + + 0 + 0 + + 100 @@ -39,7 +45,7 @@ - -- % + @@ -64,6 +70,9 @@ --:-- + + Qt::AlignCenter +