Implement progress indication

This commit is contained in:
Joerg Wunsch
2024-03-26 22:17:11 +01:00
parent cc371f07cf
commit 1f227636df
2 changed files with 27 additions and 2 deletions

View File

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

View File

@@ -31,7 +31,13 @@
<number>15</number>
</property>
<item>
<widget class="QLabel" name="percentage">
<widget class="QLabel" name="operation">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>100</width>
@@ -39,7 +45,7 @@
</size>
</property>
<property name="text">
<string>-- %</string>
<string/>
</property>
</widget>
</item>
@@ -64,6 +70,9 @@
<property name="text">
<string>--:--</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
</widget>
</item>
</layout>