Fix progress bar when only one item is loaded/saved

This commit is contained in:
Rebecca Breu 2021-03-29 19:21:14 +02:00
parent e0a8ce42e5
commit 0daf1bfbf1
2 changed files with 8 additions and 12 deletions

View file

@ -45,9 +45,9 @@ class WelcomeOverlay(QtWidgets.QWidget):
class BeeProgressDialog(QtWidgets.QProgressDialog):
def __init__(self, label, maximum=100, parent=None):
super().__init__(label, 'Cancel', 0, maximum - 1, parent=parent)
super().__init__(label, 'Cancel', 0, maximum, parent=parent)
self.setMinimumDuration(2)
self.setWindowModality(Qt.WindowModality.WindowModal)
def setMaximum(self, maximum):
super().setMaximum(maximum - 1)
def setValue(self, value):
super().setValue(value + 1)

View file

@ -307,19 +307,15 @@ class BeeGraphicsView(QtWidgets.QGraphicsView):
errors = []
items = []
if len(filenames) > 1:
progress = BeeProgressDialog(
'Loading images...', len(filenames), parent=self)
else:
progress = None
progress = BeeProgressDialog(
'Loading images...', len(filenames), parent=self)
for i, filename in enumerate(filenames):
logger.info(f'Loading image from file {filename}')
img = QtGui.QImage(filename)
if progress:
progress.setValue(i)
if progress.wasCanceled():
break
progress.setValue(i)
if progress.wasCanceled():
break
if img.isNull():
errors.append(filename)
continue