showProgress displays the dialog after 0.5 seconds instead of after 8 iterations

showProgress only accepts a tuple as a status result
This commit is contained in:
David Vierra 2015-05-11 18:18:24 -10:00
parent ff619ece06
commit 699143d916

View File

@ -5,11 +5,12 @@ from __future__ import absolute_import, division, print_function, unicode_litera
import logging
from PySide import QtGui
from PySide.QtCore import Qt
import time
from mcedit2.util.worldloader import LoaderTimer
log = logging.getLogger(__name__)
itersBeforeDialog = 8
timeBeforeDialog = 0.5
def showProgress(text, iter, cancel=False):
"""
@ -26,10 +27,10 @@ def showProgress(text, iter, cancel=False):
"""
progress = None
i = 0
start = time.time()
with LoaderTimer.stopCtx():
for progress in iter:
i += 1
if i > itersBeforeDialog:
if time.time() - start > timeBeforeDialog:
break
else:
return progress
@ -44,7 +45,7 @@ def showProgress(text, iter, cancel=False):
if isinstance(progress, basestring):
max = current = 0
status = progress
elif isinstance(progress, (tuple, list)):
elif isinstance(progress, tuple):
if len(progress) > 2:
current, max, status = progress[:3]
else: