Commit graph

6981 commits

Author SHA1 Message Date
Ghostkeeper
370d7adcd5
Let getDefaultQualityType use the container tree structure
Contributes to issue CURA-6600.
2019-08-15 17:01:20 +02:00
Ghostkeeper
bee5491879
Move getQualityGroups to MachineNode
It's specific to that machine and the container tree structure, so this is the best place for it we could find.

Contributes to issue CURA-6600.
2019-08-15 17:01:20 +02:00
Ghostkeeper
ca163ea5f0
Skip inactive extruders to determine available quality types
Contributes to issue CURA-6600.
2019-08-15 17:01:20 +02:00
Remco Burema
9374934d72 Merge branch 'feature_intent_container_tree' of https://github.com/Ultimaker/Cura into feature_intent_container_tree 2019-08-15 16:47:29 +02:00
Remco Burema
1609138d4d Remove deprecated ContainerNode.getChildNode(...) calls.
part of CURA-6600
2019-08-15 13:56:41 +02:00
Ghostkeeper
fb509a0692
Fix setting the global quality node
Otherwise you'd get a KeyError there.

Contributes to issue CURA-6600.
2019-08-15 13:41:11 +02:00
Remco Burema
7fb9642e45 Replace deprecated .getContainer() calls with .container
part of CURA-6600
2019-08-15 13:40:08 +02:00
Jaime van Kessel
76729360e1 Remove unused code
CURA-6600
2019-08-15 13:33:17 +02:00
Jaime van Kessel
c0f70c447e Ensure that the materials are loaded again
CURA-6600
2019-08-15 13:32:42 +02:00
Jaime van Kessel
6a3a23a725 Add time logging about how long it took to construct the container tree
CURA-6600
2019-08-15 13:11:45 +02:00
Lipu Fei
4c792419e3 Use QDesktopServices.openUrl() instead of webbrowser 2019-08-15 08:57:19 +02:00
Lipu Fei
6b93c97a5e Use certifi for uploading crash reports
CURA-6698
2019-08-14 14:55:36 +02:00
Ghostkeeper
47fe4b4c90
Re-add getMetadata()
We need to deprecate it to not break functionality of old plug-ins and such.

Contributes to issue CURA-6600.
2019-08-13 17:20:59 +02:00
Ghostkeeper
7d1f8e981b
Fix models using new MaterialNode class
The new one doesn't have getMetadata. Maybe we should allow it to have that actually.

Contributes to issue CURA-6600.
2019-08-13 17:20:58 +02:00
Ghostkeeper
54b46abd0f
Use specific classes instead of ContainerNode superclass
Also update the usage of these nodes because the getContainer() function is deprecated.

Contributes to issue CURA-6600.
2019-08-13 17:20:58 +02:00
Ghostkeeper
5738af4bb8
No longer use deprecated MaterialManager when asking for available materials
Use the ContainerTree structure instead. That's what it's for.

Contributes to issue CURA-6600.
2019-08-13 17:20:58 +02:00
Ghostkeeper
7f84145c9a
Rewrite MaterialManager.getAvailableMaterials to use ContainerTree
Makes it a lot simpler since the nodes in the tree already encoded the fallback mechanism.
However I'm dropping support for filtering by diameter here, since the diameter is not known in the ContainerTree. I'm also dropping support for build plate materials for simplicity and to stay lean.

Contributes to issue CURA-6600.
2019-08-13 17:20:58 +02:00
Ghostkeeper
efaa96bca3
Fix building stack from freshly-loaded definition
The definition may not have been added to the forest yet.

Contributes to issue CURA-6600.
2019-08-13 15:44:17 +02:00
Ghostkeeper
93851a95d5
Remove unused variable
Contributes to issue CURA-6600.
2019-08-13 15:04:06 +02:00
Ghostkeeper
6a8e1557c3
Merge branch 'feature_intent' into feature_intent_container_tree
Conflicts:
	.gitlab-ci.yml
	cura/Machines/MaterialManager.py
	cura/Machines/VariantManager.py
	cura/Settings/ContainerManager.py
	cura/Settings/MachineManager.py
	tests/TestMachineManager.py
2019-08-13 14:59:05 +02:00
Ghostkeeper
20201c65e6
Merge branch 'master' into feature_intent
Conflicts:
	resources/bundled_packages/cura.json -> 4.1 to 4.2 upgrade package added simultaneously
	tests/TestMachineManager.py -> Due to changes in conftest.py
	tests/conftest.py -> Simultaneously expanding the magic mocks to have some correct properties
2019-08-13 14:43:28 +02:00
Ghostkeeper
8fb0a09460
Remove unused imports
Contributes to issue CURA-6600.
2019-08-13 14:06:42 +02:00
Ghostkeeper
01eaaf045d
Remove initialisation of tree in material manager
This is now all contained in the ContainerTree code.

Contributes to issue CURA-6600.
2019-08-13 14:04:57 +02:00
Ghostkeeper
2bf4ac8522
No longer trigger rebuilding node tree from quality manager
Also remove part of that from the material manager while we're at it.

Contributes to issue CURA-6600.
2019-08-12 17:29:05 +02:00
Ghostkeeper
71aed6858c
Fix getting GUID from metadata
Contributes to issue CURA-6600.
2019-08-12 17:21:26 +02:00
Ghostkeeper
ee0f2d2773
Improve documentation
Contributes to issue CURA-6600.
2019-08-12 17:18:22 +02:00
Ghostkeeper
447b1b9645
Actually import MaterialManager
Because this class is being used.

Contributes to issue CURA-6600.
2019-08-12 17:14:11 +02:00
Ghostkeeper
42ba9a9f39
Pre-filter qualities on other properties before filtering on material
This prevents a LOT of double queries.

Contributes to issue CURA-6600.
2019-08-12 17:13:25 +02:00
Ghostkeeper
b1fb843f09
Implement matching qualities by material_id with same material type OR GUID
This fallback with the GUID makes this part a lot more complex, but in theory it should work. I hope that we can get some tests to debug this because it's 90% made from the top of my head now.

Contributes to issue CURA-6600.
2019-08-12 16:49:56 +02:00
Jaime van Kessel
e08feb1099 Fix final set of broken tests
CURA-6600
2019-08-12 16:32:59 +02:00
Jaime van Kessel
e18820b846 Fix tests for ContainerManager
CURA-6600
2019-08-12 15:37:19 +02:00
Jaime van Kessel
719e69692c Fix import issues
CURA-6600
2019-08-12 15:20:09 +02:00
Ghostkeeper
98686dd088
Fix imports for CuraApplication
Also removed two unused imports.

Contributes to issue CURA-6600.
2019-08-12 15:06:04 +02:00
Jaime van Kessel
99afa6b533 Fix import issue
CURA-6600
2019-08-12 14:47:28 +02:00
Ghostkeeper
74b6501235
Check for MachineNode instead of MaterialNode
I thought I already changed that, but not apparently.

Contributes to issue CURA-6600.
2019-08-12 14:39:43 +02:00
Jaime van Kessel
242c3a7470 Fix crash when arranging special meshtypes
CURA-6702
2019-08-12 14:29:15 +02:00
Jaime van Kessel
789eddbdee Add missing typing
CURA-6702
2019-08-12 14:23:53 +02:00
Ghostkeeper
8f075b644d
Add global quality nodes to machine node
This means that the parent of the quality node could be one of two types. A bit confusing.

Contributes to issue CURA-6600.
2019-08-12 14:18:51 +02:00
Ghostkeeper
fff26bb021
Fix imports and references to managers
Use getInstance() where applicable.

Contributes to issue CURA-6600.
2019-08-12 14:15:40 +02:00
Ghostkeeper
91e14a90b2
Update getQualityGroups to use the new ContainerTree structure
Look how greatly this is now simplified.
The fallbacks for which material nodes to check is not yet implemented. Will do that next.

Contributes to issue CURA-6600.
2019-08-12 14:02:19 +02:00
Jaime van Kessel
ce2b1adc82 Prevent crash on sign in if the socket was already closed 2019-08-12 10:50:46 +02:00
Ghostkeeper
80e27b62d3
Don't cache singletons in constructor
It makes it harder to test these things.

Contributes to issue CURA-6600.
2019-08-09 15:53:08 +02:00
Ghostkeeper
709584cc5e
No longer listen to qualitiesChanged signal to update
It was only being called once upon initialisation. Turns out that this model updates itself properly only because the qualities don't change during runtime unless you change the active quality group (due to materials changing) or the printer itself.

Contributes to issue CURA-6600.
2019-08-09 15:14:52 +02:00
Ghostkeeper
9ed4713cde
Don't cache singletons in fields
This makes it harder to test these things and harder to make it perform well with lazy initialisation.

Contributes to issue CURA-6600.
2019-08-09 14:34:45 +02:00
Ghostkeeper
595b0113b3
Don't link materialsChanged signal to update in MachineManager
The materialsChanged signal only gets called when the favourites are changed, so these updates are all completely unnecessary since they just make sure that the names and such of the materials are up to date.

Contributes to issue CURA-6600.
2019-08-09 14:25:44 +02:00
Ghostkeeper
f65e672887
Don't get build plate variants from tree any more
It's not in that tree.

Contributes to issue CURA-6600.
2019-08-09 13:43:54 +02:00
Ghostkeeper
bd714f947a
Register container tree to be built once all metadata is in
So if we ever change the order of initialisation this stays working.

Contributes to issue CURA-6600.
2019-08-09 13:40:11 +02:00
Ghostkeeper
ea7211f0f6
Fix spelling 2019-08-09 11:27:39 +02:00
Ghostkeeper
7e033fa22f
Merge branch 'mb-fix-layer-polygon-bounds-error' of https://github.com/smartavionics/Cura into smartavionics-mb-fix-layer-polygon-bounds-error 2019-08-09 09:55:15 +02:00
Ghostkeeper
d710a58233
Don't require VariantManager any more from CuraStackBuilder
We now use the new container tree structure there.

Contributes to issue CURA-6600.
2019-08-08 17:31:26 +02:00