314 Commits

Author SHA1 Message Date
Arjen Hiemstra
7eb5441ebc Add an "activeMachine" property to MachineManager
Directly exposes the global container stack to QML.
2017-04-04 17:39:57 +02:00
Arjen Hiemstra
7015702832 Add a change timer to perform the error state checking
This pulls the checkStackHaveErrors code out of the critical path when
editing settings, instead moving it to be handled later. This greatly
reduces the delay that happens when editing settings.

Fixes CURA-3653
Contributes to #1631
2017-04-04 13:39:18 +02:00
Jaime van Kessel
90a92dce19 If a container_changes can not be found, handle it more gracefully
CURA-3560
2017-03-21 13:23:50 +01:00
Jack Ha
32d5fbe557 Fixed choosing a quality that is compatible with multiple extruders as fallback. CURA-3510 2017-03-13 17:17:56 +01:00
Lipu Fei
55727f20e5 CURA-3507 Make quality lookup more robust 2017-03-13 09:45:23 +01:00
Jaime van Kessel
85b58c9296 Pressing the discard button now actually discards the changes
CURA-3221
2017-02-28 12:35:08 +01:00
Jaime van Kessel
2462699982 Switching profiles now shows a new dialog with all the changes.
CURA-3221
2017-02-28 10:25:42 +01:00
Simon Edwards
92cee4a9d7 Merge branch 'master' into python_type_hinting 2017-02-13 16:31:31 +01:00
Arjen Hiemstra
a63b4646e9 Postpone containersChanged signals of all active stacks
This avoids things taking longer because the not-active extruder stack
was still emitting containersChanged.
2017-02-07 17:01:52 +01:00
Arjen Hiemstra
0292756ad7 Do not limit containersChanged methods to a single container type
This may trigger a few extra updates, but allows us to use signal
compression in the postponesignals context manager, which greatly
improves performance.
2017-02-07 16:28:08 +01:00
Arjen Hiemstra
927055806c Postpone containersChanged signals when doign setActive* calls
This makes sure we do not trigger everything three times when switching
variants.
2017-02-07 16:26:44 +01:00
Ghostkeeper
425dbf1ad8
Only check for validationState changes if it's not already a value change
No need to check the second if-statement in most cases.

Contributes to issue CURA-3291.
2017-02-01 16:29:59 +01:00
Ghostkeeper
3ac9036b4a
Only listen for other container stack errors if multi-extrusion
It's not even necessary to check otherwise. Requesting an extruder stack would give None anyway, which would give errors.

Contributes to issue CURA-3291.
2017-02-01 16:28:45 +01:00
Ghostkeeper
a0ba1188a1
Always listen to changes on all extruder stacks of the current machine
We need to listen for changes on all extruder stacks because the values might change and therefore the validation states might change. The value of a different extruder stack could change if you change a global value that has impact on a per-extruder value via inheritance, or in this case if a limit-to-extruder property specifies that the setting should be changed on a different stack. It could change on the stack that is not active in either case.
This might have some performance impact, but it is very small. Other than layer_height there aren't many global settings that have impact on multiple extruders via inheritance. And via limit-to-extruder there will typically only be one changed value which you want to update for. Changing layer height will be a bit slower though.

Contributes to issue CURA-3291.
2017-02-01 16:17:12 +01:00
Ghostkeeper
362c5835ee
Don't use limit_to_extruder if it evaluates to -1
The default value for the limit_to_extruder property is -1. So no need to check if the property exists. Just check if it is positive.

Contributes to issue CURA-3291.
2017-02-01 14:42:06 +01:00
Ghostkeeper
ed2b09c975
Fix getting limit to extruder property
Apparently it didn't even reach this code up until now. Well, now it does.

Contributes to issue CURA-3291.
2017-02-01 14:26:37 +01:00
Ghostkeeper
039015e3df
Don't unnecessarily copy extruder stacks to list
You're just looping over it. No need to actually make a list out of it.

Contributes to issue CURA-3291.
2017-02-01 14:24:03 +01:00
Ghostkeeper
7d536e2f8b
Clarify global container stack checking code in _checkStacksHaveErrors
The order of operations was a bit weird. This made the code unclear and also required an extra check in an if-statement. This is simpler and theoretically even a bit faster.

Contributes sorta to issue CURA-3291.
2017-02-01 14:17:23 +01:00
Ghostkeeper
31e88aa5af
Also check for errors via limit_to_extruder settings
The error should then not be checked in the active stack but in the stack which has the correct setting value.

Contributes to issue CURA-3291.
2017-02-01 14:14:50 +01:00
Simon Edwards
d5c96c1aae Removed a line of debug. 2017-01-18 13:49:18 +01:00
Simon Edwards
fb70eb6813 Merge branch 'master' into python_type_hinting 2017-01-17 08:42:55 +01:00
Simon Edwards
a5181f157e Applied the profiler's pyqtSlot decorator to all of the code. 2017-01-10 13:35:39 +01:00
Jaime van Kessel
ff18a314ef Added extruder information to workspace summary dialog
CURA-1263
2016-12-16 13:16:11 +01:00
Jaime van Kessel
8391a7971b Added machine type to workspace summary dialog
CURA-1263
2016-12-16 12:40:59 +01:00
Jaime van Kessel
0e09de195b Added num user settings to save project dialog 2016-12-16 11:50:50 +01:00
Ghostkeeper
c7a8ffb3c0
Set quality to empty if no profiles for current material type
This then causes the text 'Not supported' to appear to the user, indicating that for his foreign material we have no known quality profiles.

Contributes to issue CURA-3144.
2016-12-15 16:41:56 +01:00
Simon Edwards
d4619da358 Merge branch 'master' into python_type_hinting 2016-12-13 14:39:35 +01:00
Jack Ha
6e8e7d090d Fix for Not Supported when adding a new machine. CURA-3042 2016-12-12 16:46:19 +01:00
Jaime van Kessel
0229fd8676 Fixed issue with first startup 2016-12-12 11:00:19 +01:00
Jaime van Kessel
36d743384c Initial work for adding a save dialog for project saving
CURA-1263
2016-12-08 11:56:42 +01:00
Jack Ha
be5a6e421b Merge branch 'master' of github.com:Ultimaker/Cura 2016-12-05 14:09:56 +01:00
Jack Ha
601d3fa554 Added blurSettings when switching machine to prevent taking values from old machine. CURA-3065 2016-12-05 14:09:33 +01:00
Jaime van Kessel
e0168aac11 Improved logging for _replaceQualityChangesInStack
CURA-3042
2016-12-05 13:05:59 +01:00
Jaime van Kessel
5d1ba828bc Closing load project screen cancels loading of workspace
CURA-1263
2016-12-02 15:15:34 +01:00
Jaime van Kessel
a5c38e0591 Assign the empty containers before handling the globalcontainer changed signal 2016-12-02 15:08:18 +01:00
Jack Ha
e888603dd5 Cura startup with setting errors now also results in Unable to slice. 2016-11-28 14:31:28 +01:00
Jaime van Kessel
bde1e05273 Changing an instanceContainer now re-checks the error state of the stacks
CURA-2861
2016-11-25 14:54:32 +01:00
Jaime van Kessel
7a4deb725a Clarified switching message
CURA-2898
2016-11-25 11:43:56 +01:00
Jack Ha
b88ed76b7c Solve merge conflict PrinterOutputDevice. CURA-1263 2016-11-24 13:55:22 +01:00
Jaime van Kessel
b6df2b90dd Merge branch 'master' of github.com:Ultimaker/Cura 2016-11-23 14:06:17 +01:00
Jaime van Kessel
a8887406ac ValidationState checking in MachineManager now properly takes functions into account
CURA-2840
2016-11-23 14:05:33 +01:00
Jack Ha
c3320bb1a4 Change settings to settings/overrides in selected messages. CURA-2898 2016-11-23 13:33:12 +01:00
Simon Edwards
98a6568313 Merge branch 'master' into python_type_hinting 2016-11-22 11:15:04 +01:00
Simon Edwards
14afd9eab7 Heaps to changes to get the Cura code through the type checker (with minimal checking).
CURA-2917
2016-11-21 21:36:08 +01:00
Jaime van Kessel
8ae0cfd848 Loading workspace now activates the machine and notifies everyone that it was changed
CURA-1263
2016-11-14 13:30:28 +01:00
Simon Edwards
cadf2115ac Merge pull request #1058 from Ultimaker/cura-2730
Changed MachineManager.isActiveStackValid to areStacksValid. CURA-2730
2016-11-01 16:17:04 +01:00
Ghostkeeper
6999a14821
Merge branch '2.3' 2016-10-31 10:55:54 +01:00
Jaime van Kessel
af10438277 Fixed blurSetting
CURA-2835
2016-10-28 14:49:42 +02:00
Jaime van Kessel
a581942869 Merge branch '2.3' of github.com:Ultimaker/Cura 2016-10-26 13:13:27 +02:00
Ghostkeeper
6c3b4b7f29
Prevent race condition before global container stack is made
Just properly check if there is a global container stack.
2016-10-26 09:50:42 +02:00