21225 Commits

Author SHA1 Message Date
Jaime van Kessel
1d9d411732 Merge branch 'master' of github.com:Ultimaker/Cura into feature_intent 2019-08-27 14:17:57 +02:00
Jaime van Kessel
72ea1257d7 Prevent crash when machine isn't configured correctly yet
CURA-6600
2019-08-27 13:50:12 +02:00
Jaime van Kessel
867a881de9 Ensure bool and enum settings get control highlighted on hover 2019-08-27 13:38:55 +02:00
Jaime van Kessel
e8cd5723c9 Speedup the layerview
We were doing a lot of re-calculations that served no purpose (and
even slowed down the rest of the application)
2019-08-27 13:26:55 +02:00
Jaime van Kessel
ea11187eaf Don't reset the data when the root updates
Resolves #6258
2019-08-27 13:18:11 +02:00
Jaime van Kessel
511eba28b6 Ensure that min/max feedrate & thickness gets defined in init 2019-08-27 13:06:33 +02:00
Ghostkeeper
3f5563514c
Remove _current_quality_changes_group shadow administration
Get the quality changes group back from whichever one is actually active on the stack. This prevents the two from getting out of sync, which makes the code easier to maintain.

Contributes to issue CURA-6600.
2019-08-27 13:03:29 +02:00
Jaime van Kessel
9c2f8a94d5 Greatly simplify the SimulationViewProxy 2019-08-27 13:03:23 +02:00
Ghostkeeper
62395d5503
Remove _current_quality_group shadow administration
This was causing asynchronicities.

Contributes to issue CURA-6600.
2019-08-27 12:39:19 +02:00
Jaime van Kessel
ced14c7daf Merge branch 'CURA-6388_restore_missing_metadata' of github.com:Ultimaker/Cura 2019-08-27 11:43:27 +02:00
Jaime van Kessel
bf66388939 Make functions that should have been static, static. 2019-08-27 11:41:21 +02:00
Jaime van Kessel
43d1157aa1 Fix typing error
CURA-6388
2019-08-27 11:38:25 +02:00
Ghostkeeper
89a5fe41fe
Fix getting empty quality containers
Contributes to issue CURA-6600.
2019-08-27 11:19:02 +02:00
Ghostkeeper
6f67e6b55f
Simplify activeQualityType() and remove dependency on _current_quality_group
The shadow administration is annoying so I'm removing it.

Contributes to issue CURA-6600.
2019-08-27 11:16:00 +02:00
Ghostkeeper
84c6ec36dc
Catch case where there is no global stack
Contributes to issue CURA-6600.
2019-08-27 11:14:07 +02:00
Ghostkeeper
78db68369e
Simplify activeQualityOrQualityChangesName
Removed duplicate fallback mechanism if quality is empty. And removed dependency on shadow administration in _current_quality_group.

Contributes to issue CURA-6600.
2019-08-27 11:11:17 +02:00
Ghostkeeper
01796b99cd
Simplify getting layer height
The stack already makes it fall through properly, so there's no need to implement the fallback again here.

The only change is that it now displays 0.1mm as default layer height if there is no quality profile active. I don't think this makes a difference since we don't show the layer height then anyway. And technically it would be more correct too.

Contributes to issue CURA-6600.
2019-08-27 11:06:35 +02:00
Ghostkeeper
0db99e8f21
Get quality groups from container tree
Rather than from the quality manager.

Contributes to issue CURA-6600.
2019-08-27 11:03:46 +02:00
Lipu Fei
69e9dc1313 Allow importing "not supported" profiles
CURA-6542
2019-08-27 09:08:19 +02:00
Ghostkeeper
8f34b3dd73
Set quality profiles to preferred quality upon stack creation
A good default.
Possible bug: If there are multiple matching quality profiles but the preferred quality profiles matches none or multiple of them, a random one is chosen. The random profile for the global stack may not match the random one for the extruder?

Contributes to issue CURA-6600.
2019-08-27 09:07:23 +02:00
Lipu Fei
3853fb6d19 Add UI feedback on invalid firmware update
CURA-6537
2019-08-27 08:52:13 +02:00
Ghostkeeper
fcab800a8d
Add function to find preferred quality profile
Not for global yet, so it doesn't appear as if anything is loaded yet.

Contributes to issue CURA-6600.
2019-08-26 17:50:46 +02:00
Ghostkeeper
557c3d9515
Skip global stacks better
Otherwise it wouldn't skip custom-defined stacks, such as the PPA's stack class.

Contributes to issue CURA-6600.
2019-08-26 17:11:22 +02:00
Ghostkeeper
60939d220b
Log time it takes to add container tree for a printer
It's useful to know, at least while we're building this.

Contributes to issue CURA-6600.
2019-08-26 16:58:13 +02:00
Ghostkeeper
16ee96def9
Fix skipping definition containers when adding new printers
The speed improvement didn't work.
It still doesn't seem to have a lot of effect. Maybe it's not the creating of the tree that causes this slowdown?

Contributes to issue CURA-6600.
2019-08-26 16:30:16 +02:00
Ghostkeeper
be36ae278b
Fix tests mocking container tree instead of quality manager
Contributes to issue CURA-6600.
2019-08-26 16:23:20 +02:00
Ghostkeeper
01c0472872
Don't create container tree for extruder definitions
That wouldn't work properly anyway, but it still took quite a lot of time to create these.

Contributes to issue CURA-6600.
2019-08-26 15:49:52 +02:00
Lipu Fei
946ec1d32e Apply missing metadata fields from project files
CURA-6388
2019-08-26 15:40:34 +02:00
Ghostkeeper
599dcb34bc
Fix sorting qualities by quality type
Otherwise the dictionary ends up being filled by container ID which then causes the quality type to not be present in the dictionary, ending up with an empty list of quality groups.

Contributes to issue CURA-6600.
2019-08-26 15:25:11 +02:00
Ghostkeeper
a90b4cc136
Fix finding global qualities: Metadata is not boolean
It's a string, strangely.

Contributes to issue CURA-6600.
2019-08-26 15:05:01 +02:00
Jaime van Kessel
b20a349b44 Merge branch 'master' of github.com:Ultimaker/Cura 2019-08-26 14:55:59 +02:00
Jaime van Kessel
108b22932b Override saveDirtyContainers with Cura specific logic 2019-08-26 14:55:30 +02:00
Ghostkeeper
af9c5cd55c
Find global qualities for quality_definition as well
We don't have global qualities specific to e.g. the Ultimaker 3 Extended.

Contributes to issue CURA-6600.
2019-08-26 14:47:58 +02:00
Ghostkeeper
3655981c41
Use container tree to get the current printer's quality groups
Contributes to issue CURA-6600.
2019-08-26 14:00:35 +02:00
Ian Paschal
f5af418b03
Merge pull request #6247 from Ultimaker/feature_ms_slots
Support available configurations for network printing
2019-08-26 11:34:06 +02:00
pinchies
15e91bb32a Add JGAurora A3S (#6235)
* Add profile for JGAurora JGMaker Magic

CURA-6734
2019-08-26 10:34:58 +02:00
Ghostkeeper
23f4aa6e4f
Fix potential race condition when slice messages arrive after clearing build plate
Fixes #6245.
2019-08-26 09:15:37 +02:00
trouch
a9fb282a41 add CR-10 Max and Ender-5 Plus definitions 2019-08-25 11:47:38 +02:00
Ghostkeeper
51710c2868
Use new MachineNode.getQualityChangesGroups instead of quality manager
I hope that the machine node doesn't become a collection of functions that don't fit anywhere else, but this isn't contributing to that hope. However I still think that this is particular to a certain printer, so it's within the object-oriented programming paradigm. And it's also within the scope of the class, which is getting the available profiles. So it still sort of fits.

Contributes to issue CURA-6600.
2019-08-23 17:29:32 +02:00
Ghostkeeper
b1ce9b64d4
Add function to construct QualityChangesGroups for machine
It doesn't cache these any more, but reconstructs them when asked for.

Contributes to issue CURA-6600.
2019-08-23 17:26:57 +02:00
Jaime van Kessel
63f9483037 Connect the config changed of the configuration to that of the output model 2019-08-23 17:15:08 +02:00
Ghostkeeper
bcd450daa0
Don't make QualityChangesGroup hold ContainerNodes
It can't hold ContainerNodes since the quality changes are no longer nodes in any tree.

This now makes it hold metadata instead.

Contributes to issue CURA-6600.
2019-08-23 17:11:21 +02:00
ChrisTerBeke
882352c99d Test fixes, not working yet 2019-08-23 17:03:39 +02:00
Ghostkeeper
430bcc90a8
Make QualityChangesGroup depend on intent
This is probably the main implementation of CURA-6600.
2019-08-23 16:44:08 +02:00
ChrisTerBeke
73b423138a Add a test to ensure empty configurations are not shown in the list 2019-08-23 16:35:15 +02:00
ChrisTerBeke
36f6dba2fc Fix not displaying configuration with both extruders empty 2019-08-23 16:23:51 +02:00
Ghostkeeper
1febfde3cc
Fix switching to printers without variant
Since the 'empty_variant' nozzle is now just in the tree, this check is no longer even necessary.

Contributes to issue CURA-6600.
2019-08-23 15:38:58 +02:00
Ghostkeeper
4fb656ea7b
Don't use deprecated Preferences.getInstance()
Contributes to issue CURA-6600.
2019-08-23 14:46:42 +02:00
Ghostkeeper
3de5aa3307
Remove _initMachineState
It seems to only set profiles to whatever was already in the stack.

Contributes to issue CURA-6600.
2019-08-23 14:43:50 +02:00
Ghostkeeper
f1f25e5350
Get Quality Groups from container tree rather than quality manager
The quality manager is deprecated after all.

Contributes to issue CURA-6600.
2019-08-23 14:23:18 +02:00