Commit graph

6967 commits

Author SHA1 Message Date
Ghostkeeper
c12817170c
Merge branch 'master' into CURA-6793_performance 2019-10-16 15:47:41 +02:00
Ghostkeeper
8179dfc412
Make cache of machines a protected field
We don't want to use it outside of the mapping. This mapping should be transparent.
We are still using it from our tests though but that's fine. Tests are allowed to touch private fields.

Contributes to issue CURA-6793.
2019-10-16 15:04:07 +02:00
Ghostkeeper
7348c70af6
Don't get whole container to just get metadata
A performance improvement, especially in the material models.

Contributes to issue CURA-6793.
2019-10-16 13:56:23 +02:00
Ghostkeeper
9b836d95d9
Remove quality, variant and material manager
We don't use them any more and they are deprecated.

Removing them removes a lot of maintenance.

Contributes to issue CURA-6801.
2019-10-16 13:00:38 +02:00
Ghostkeeper
9f84304829
Defensive against missing global qualities
This is just something I encountered. Could be that some profiles got corrupted. In my case, I had a bug in Uranium that I fixed later.

Contributes to issue CURA-6793.
2019-10-16 12:56:05 +02:00
Ghostkeeper
401390209f
Robustness against missing approximate diameter
Pretend like that material doesn't exist then.

Contributes to issue CURA-6793.
2019-10-16 10:59:58 +02:00
Lipu Fei
ae6f0eb77e Re-fix quality model update
CURA-6883
2019-10-15 15:55:21 +02:00
Lipu Fei
d350c9e3d9 Update quality and intent models when extruders get changed
CURA-6894
2019-10-15 15:53:55 +02:00
Ghostkeeper
f93f26444b
Revert "Fix QualityManagementModel update"
This reverts commit fe8b7a48e6.

This commit caused Cura to crash when creating a custom quality profile.

Contributes to issue CURA-6883.
2019-10-15 15:33:41 +02:00
Lipu Fei
59fa73448a Fix material diameter change
CURA-6868
2019-10-15 15:03:35 +02:00
Ghostkeeper
ce4c5a1c93
Remove unnecessary listening to switching extruder tabs
Also fix unnecessary emitting of switching extruder tabs.

This should improve performance a lot. I tested a lot of things and am convinced that it didn't break anything. But the automated GUI tests and QA team should be the final arbiters of that...

Contributes to issue CURA-6793.
2019-10-15 15:01:45 +02:00
Lipu Fei
0af8bd5e94 Fix merge conflicts 2019-10-15 15:00:03 +02:00
Nino van Hooff
e15952b25e Merge remote-tracking branch 'origin/master' 2019-10-15 14:37:52 +02:00
Nino van Hooff
845cab5573 Clarified comment for duplicating materials 2019-10-15 14:37:37 +02:00
Lipu Fei
fe8b7a48e6 Fix QualityManagementModel update
CURA-6883
2019-10-15 14:23:50 +02:00
Lipu Fei
e5450a449c IntentManager should take into account disabled extruders
CURA-6891
2019-10-15 13:27:58 +02:00
Lipu Fei
43fa4337f9 Fix merge conflicts 2019-10-15 13:08:00 +02:00
Lipu Fei
36aab5d56b Fix removeMaterials() and optimization
CURA-6886
2019-10-15 13:04:57 +02:00
Lipu Fei
577365cf96 Fx containerAdded handling in VariantNode
CURA-6889
2019-10-15 08:20:25 +02:00
Ghostkeeper
b5c6a0a1e3
Merge branch 'master' into CURA-6793_performance 2019-10-14 17:17:10 +02:00
Lipu Fei
54f7892f2d Sort built-in qualities by layer height for all
CURA-6883
2019-10-14 15:25:30 +02:00
Lipu Fei
2e0fd21c60 Fix setVariantByName() 2019-10-14 14:47:43 +02:00
Lipu Fei
8f66809159 Always show custom qualities
CURA-6882
2019-10-14 14:34:35 +02:00
Lipu Fei
cc64fb0a93 Fix variant handling in VariantNode
CURA-6863
2019-10-14 14:19:18 +02:00
Lipu Fei
dd8f6dc10e Fix ContainerTree reacting to duplicating materials
CURA-6863
2019-10-14 12:24:05 +02:00
Lipu Fei
8b913f4009 Merge remote-tracking branch 'origin/master' into CURA-6863_duplicated_material_oddness 2019-10-14 12:23:49 +02:00
Remco Burema
26a7de5a27 Fix boolean check.
part of CURA-6863
2019-10-14 11:02:58 +02:00
Remco Burema
09dc6ae44a Scouting: Try not to spam signals or errors as much.
nominally part of CURA-6863
2019-10-14 01:03:41 +02:00
Remco Burema
4277ede64f Fix 1/2 of the duplication material bug.
The material is added multiple times to the variant nodes, and overwriting it with the eventual right one was going wrong.
This does not solve it entirely (because the less specific one still ends up selected _initially_ because it gets added first, and the order can't be guaranteed.
part of CURA-6863
2019-10-14 01:01:19 +02:00
Jaime van Kessel
bba43fafcc
Remove another unused signal 2019-10-11 14:35:44 +02:00
Jaime van Kessel
be675d9343
Remove unused signal 2019-10-11 14:33:08 +02:00
Jaime van Kessel
05a6c9c3cf
Make code a bit smarter about reusing ExtruderConfigurationModels
This prevents a lot of unneeded signal noise
2019-10-11 11:04:16 +02:00
Ghostkeeper
f6d83d7a6b
Fix sign of __contains__
Should've been the other way around!

Contributes to issue CURA-6793.
2019-10-10 16:10:19 +02:00
Ghostkeeper
ab4fade017
Fix check if definition with ID exists
It's not an InstanceContainer but a DefinitionContainer.
Also, when checking with the ID, it'll short circuit to the dictionary look up by ID. Then it's faster to directly check without specifying what type of container it is to prevent another nested function call.

Contributes to issue CURA-6793.
2019-10-10 15:36:19 +02:00
Ghostkeeper
38e723b51c
Fix loading GlobalStacks on different thread
The findContainerStacks() will list all container stacks and lazily load them. However this lazy loading is done on the thread that's calling it. The lazy loading will create GlobalStack objects, which are QObjects. The QML code then can't access those QObjects because they are created on different threads. So now instead we'll do the find query on the main thread but all the rest on the background thread.

Contributes to issue CURA-6973.
2019-10-10 15:32:14 +02:00
Ghostkeeper
c698938c60
Remove debug print 2019-10-10 15:22:52 +02:00
Ghostkeeper
9323ed5d04
Add implementation of get() for the pretend-dict
Some places are using this.

Contributes to issue CURA-6973.
2019-10-10 14:56:00 +02:00
Ghostkeeper
268da885ee
Remove unused _loadAll function
This one is no longer used since we no longer load all stacks upon start-up.

Contributes to issue CURA-6793.
2019-10-10 14:48:46 +02:00
Jaime van Kessel
ee25c4b94c
Merge branch 'CURA-6873_fix_um2_crash' of github.com:Ultimaker/Cura 2019-10-10 13:32:05 +02:00
Jaime van Kessel
ec4817db87
Fix crash when syncing with configuration that has no printcores active
CURA-6826
2019-10-10 09:55:17 +02:00
Nino van Hooff
d60b26db15 None-check for material diameter.
Fixes a crash for materials which don't have that metadata-entry,
such as an empty material (UM2)

CURA-6873
2019-10-10 09:27:23 +02:00
Lipu Fei
44cb810c85 If None crash
CURA-6869
2019-10-09 22:28:58 +02:00
Ghostkeeper
c5b957d0b1
Remove debug code
Contributes to issue CURA-6793.
2019-10-09 16:45:43 +02:00
Ghostkeeper
5199e3e6db
Add background job to pre-load other added printers
Not just the active one.

Contributes to issue CURA-6793.
2019-10-09 16:44:00 +02:00
Lipu Fei
e5b90ee306 Fix is_experimental flag update
CURA-6869
2019-10-09 12:52:49 +02:00
Ghostkeeper
4ffda015db
Implement lazy loading for machine nodes
Should be completely transparent. It'll fail the unit tests though because it now pretends that all printers have machine nodes.

Contributes to issue CURA-6793.
2019-10-09 10:53:58 +02:00
Ghostkeeper
0238f65e6a
Remove double call of _onGlobalContainerChanged and activeExtruderChanged on switching
When switching printers, it would first emit the global container changed signal which connects to _onGlobalContainerChanged, then update stuff in the extruder manager, then manually call _onGlobalContainerChanged again to update some other stuff with the new data from the extruder manager. This was prohibitively expensive, so this prevents that.
Another double or triple emit of the activeExtruderChanged was removed in the extruder manager when creating the extruders for a printer: It would first set the extruder number to 0, possibly emitting the signal, then emit the signal just to be sure since the extruder itself changed (rather than just the number), and then change the extruder number to the preferred extruder, possibly again emitting a signal. Now it just sets the extruder number to the preferred extruder and always emits the signal once (either through setting the extruder number or manually afterwards).

Contributes to issue CURA-6793.
2019-10-08 16:32:20 +02:00
Jaime van Kessel
987ccd28ba
Merge branch 'feature_intent' of github.com:Ultimaker/Cura 2019-10-08 16:23:03 +02:00
Jaime van Kessel
11f9992ebb
Merge pull request #6473 from Ultimaker/CURA-6632_intent_in_stats
CURA-6632 Add intent into stats
2019-10-08 16:19:19 +02:00
Ghostkeeper
dd8ee2e3d8
Switch early fail around to reduce indentation
Makes this more readable.

Contributes to issue CURA-6793.
2019-10-08 15:22:12 +02:00