Skip to content

Commit 4b81630

Browse files
committedJun 12, 2017
More responsive feedback when using iterate mode
1 parent b9e0b46 commit 4b81630

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed
 

‎python/plugins/processing/gui/AlgorithmExecutor.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,11 @@ def executeIterating(alg, parameters, paramToIter, context, feedback):
7979

8080
iter_source = QgsProcessingParameters.parameterAsSource(parameter_definition, parameters, context)
8181
sink_list = []
82-
for feat in iter_source.getFeatures():
82+
if iter_source.featureCount() == 0:
83+
return False
84+
85+
total = 100.0 / iter_source.featureCount()
86+
for current, feat in enumerate(iter_source.getFeatures()):
8387
if feedback.isCanceled():
8488
return False
8589

@@ -88,6 +92,8 @@ def executeIterating(alg, parameters, paramToIter, context, feedback):
8892
sink.addFeature(feat)
8993
del sink
9094

95+
feedback.setProgress(int(current * total))
96+
9197
# store output values to use them later as basenames for all outputs
9298
outputs = {}
9399
for out in alg.destinationParameterDefinitions():

0 commit comments

Comments
 (0)
Please sign in to comment.