mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-20 13:17:51 -06:00
Check multiple settings per update of event loop
It seems that in Qt5, the update loop was triggered a lot more often than in qt6. Since we used that to handle the error checking, this made it so that you sometimes had to wait for quite some time untill the slicing would start (as that is blocked by the error checker)
This commit is contained in:
parent
965ecb744d
commit
ffa0106937
1 changed files with 30 additions and 28 deletions
|
@ -53,6 +53,8 @@ class MachineErrorChecker(QObject):
|
|||
|
||||
self._keys_to_check = set() # type: Set[str]
|
||||
|
||||
self._num_keys_to_check_per_update = 10
|
||||
|
||||
def initialize(self) -> None:
|
||||
self._error_check_timer.timeout.connect(self._rescheduleCheck)
|
||||
|
||||
|
@ -162,6 +164,7 @@ class MachineErrorChecker(QObject):
|
|||
|
||||
self._check_in_progress = True
|
||||
|
||||
for i in range(self._num_keys_to_check_per_update):
|
||||
# If there is nothing to check any more, it means there is no error.
|
||||
if not self._stacks_and_keys_to_check:
|
||||
# Finish
|
||||
|
@ -173,8 +176,7 @@ class MachineErrorChecker(QObject):
|
|||
|
||||
enabled = stack.getProperty(key, "enabled")
|
||||
if not enabled:
|
||||
self._application.callLater(self._checkStack)
|
||||
return
|
||||
continue
|
||||
|
||||
validation_state = stack.getProperty(key, "validationState")
|
||||
if validation_state is None:
|
||||
|
@ -192,7 +194,7 @@ class MachineErrorChecker(QObject):
|
|||
keys_to_recheck = {setting_key for stack, setting_key in self._stacks_and_keys_to_check}
|
||||
keys_to_recheck.add(key)
|
||||
self._setResult(True, keys_to_recheck = keys_to_recheck)
|
||||
return
|
||||
continue
|
||||
|
||||
# Schedule the check for the next key
|
||||
self._application.callLater(self._checkStack)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue