Commit graph

20139 commits

Author SHA1 Message Date
Jaime van Kessel
e2596e64ef Add tests for quality node 2019-08-08 14:11:00 +02:00
Jaime van Kessel
c26d113002 Add test for the MaterialNode
CURA-6600
2019-08-08 13:52:45 +02:00
Jaime van Kessel
a8fbb80b09 Add tests for the updating of MaterialNodes in the variant node
CURA-6600
2019-08-08 10:46:24 +02:00
Jaime van Kessel
476c7b683d Extend variant node test to also test the material added case
CURA-6600
2019-08-07 17:23:12 +02:00
Jaime van Kessel
2683c31975 Add initial tests for variantNode
CURA-6600
2019-08-07 17:04:39 +02:00
Jaime van Kessel
6e5b0bb609 Fix the filtering of materials based on exclude_materials
CURA-6600
2019-08-07 17:03:41 +02:00
Jaime van Kessel
fa077038fc Add tests for the MachineNode 2019-08-07 16:17:46 +02:00
Jaime van Kessel
a241425aaf Add test for ContainerTree
CURA-6600
2019-08-07 15:35:22 +02:00
Ghostkeeper
accc4ccd21
Only remove excluded materials that were added
Contributes to issue CURA-6600.
2019-08-07 09:50:53 +02:00
Ghostkeeper
8e49991087
Resolve circular imports
Some of these are only used for the type checks.

Contributes to issue CURA-6600.
2019-08-06 17:04:29 +02:00
Ghostkeeper
b05784e607
Remove subprofiles from intent nodes
As the documentation says, it has no subprofiles any more.

Contributes to issue CURA-6600.
2019-08-06 16:49:06 +02:00
Ghostkeeper
a0d3cb6742
Make QualityNode part of our normal tree structure
It now constructs itself and its contents automatically. No need for a QualityManager to keep it up to date any more.

Contributes to issue CURA-6600.
2019-08-06 16:46:28 +02:00
Ghostkeeper
8ec1c31b58
Don't make parent a common property
Instead we use properly-typed and appropriately-named variables in each of the sub classes.

Contributes to issue CURA-6600.
2019-08-06 16:31:57 +02:00
Ghostkeeper
d3dc36c187
Find quality nodes as subnodes of material nodes
Similar to the materials and variants.

Contributes to issue CURA-6600.
2019-08-06 16:19:30 +02:00
Ghostkeeper
24346fc8e3
Don't add materials forbidden by the printer definition
Contributes to issue CURA-6600.
2019-08-06 15:21:52 +02:00
Ghostkeeper
3ef0b4292d
Only add variants that fit on my machine
Contributes to issue CURA-6600.
2019-08-06 15:15:02 +02:00
Ghostkeeper
bc3300baa8
Assume that the tree is always constructed after metadata has been loaded
Safe assumption, since the tree can only start constructing after the stacks are loaded.

Contributes to issue CURA-6600.
2019-08-06 15:13:29 +02:00
Ghostkeeper
b46d4eb2b5
Have variant nodes build their own children
When a variant and a variant love each other...

Contributes to issue CURA-6600.
2019-08-06 15:11:16 +02:00
Ghostkeeper
65b1a43e88
Load tree when all metadata has been loaded
This should build up the tree initially.

Contributes to issue CURA-6600.
2019-08-06 09:16:41 +02:00
Ghostkeeper
2565be01f3
Add variants as they get added to the registry
Contributes to issue CURA-6600.
2019-08-06 08:58:34 +02:00
Ghostkeeper
e84a75094a
Add a MachineNode once a definition for it gets loaded
This means that we've added this machine. We need to pre-load all of the containers for that printer then.

Contributes to issue CURA-6600.
2019-08-05 17:49:21 +02:00
Ghostkeeper
9fda7bd0b9
Rework container tree structure
This sets up a few new classes, subclasses of ContainerNode.

This is intended to simplify the current structure in the QualityManager.

Contributes to issue CURA-6600.
2019-08-05 17:39:19 +02:00
Ghostkeeper
037f1967c8
Remove override for version number in CuraContainerStack
Otherwise plug-ins can't register ContainerStacks any more.

As discussed in the CCB.
2019-07-10 14:57:26 +02:00
Lipu Fei
9c3d65a6c7
Merge pull request #5993 from Ultimaker/feature_intent_model_per_category
Create an intent model per intent category
2019-07-09 13:12:02 +02:00
Lipu Fei
4e0b9d7b78 Fix typing
CURA-6597
2019-07-09 13:02:01 +02:00
Lipu Fei
8863516aa4 Rename function name and fix tests
CURA-6597
2019-07-09 12:53:44 +02:00
Lipu Fei
f086c1eb11 Minor cleanup changes
CURA-6597
2019-07-09 11:57:46 +02:00
Lipu Fei
659a276f65 Rename signal
CURA-6597
2019-07-09 11:29:27 +02:00
Lipu Fei
ec82d8f58d Fix merge conflicts
CURA-6597
2019-07-09 11:01:51 +02:00
Ghostkeeper
e2fd90506a
Include intent profiles from the default intents
If we have the default intent category, list all quality types available.

Contributes to issue CURA-6597.
2019-07-09 10:56:21 +02:00
Ghostkeeper
86750c0446
Don't continue after returning empty list
Oops. Shouldn't have pushed...

Contributes to issue CURA-6597.
2019-07-09 10:54:47 +02:00
Ghostkeeper
07c5c4d9f0
Return empty model if there is no printer added yet
Contributes to issue CURA-6597.
2019-07-09 10:26:49 +02:00
Ghostkeeper
28f1e670f5
Give special values to the intents
This way we can see if the correct profile actually got loaded.

Contributes to issue CURA-6597.
2019-07-05 14:20:36 +02:00
Ghostkeeper
3729e90b24
Fix getting original intent category
It's now a property so it doesn't need the brackets.

Contributes to issue CURA-6597.
2019-07-05 13:06:27 +02:00
Ghostkeeper
8cea9c5b87
Register IntentManager in QML
This way we can change the intent from the interface.

Contributes to issue CURA-6597.
2019-07-05 13:03:20 +02:00
Ghostkeeper
9aeea22c73
Disable intent category headers
Makes 'em look like headers.

Contributes to issue CURA-6597.
2019-07-05 12:05:44 +02:00
Ghostkeeper
32c5118ae4
Add intents per category to the intent menu
They are in the wrong order currently. The section headers all appear at the end and they are not greyed out. This must be fixed. The order might prove difficult... We'll see, but I want this locked in now because it works.

Contributes to issue CURA-6597.
2019-07-05 11:45:01 +02:00
Ghostkeeper
45cb34c3e4
Refresh list of intents upon changing category
The category is changed after constructing by the QML code in order to set its property.
This is now updating twice: Once for the default category and once for the final one set by QML. This is a bit inefficient. But make it work before optimising it!

Contributes to issue CURA-6597.
2019-07-05 11:19:16 +02:00
Ghostkeeper
6e373e02c0
Update through self.setItems rather than super().update
Because super().update doesn't exist in this case. Stupid.

Contributes to issue CURA-6597.
2019-07-04 12:36:14 +02:00
Ghostkeeper
0047874f03
Get translation from list of keys rather than items
Because the category is not in a list of tuples. It's just the key of the dict.

Contributes to issue CURA-6597.
2019-07-04 12:35:11 +02:00
Ghostkeeper
a6e3828eaa
Efficiency: Don't update model if adding different container types
In fact we might want to delay updating until after the program has started up.

Contributes to issue CURA-6597.
2019-07-04 12:33:50 +02:00
Ghostkeeper
cf68157508
Fix updating upon containers or configuration changing
Copy-paste mistake...

Contributes to issue CURA-6597.
2019-07-04 12:29:02 +02:00
Ghostkeeper
bd2237dc45
Update intent categories upon adding containers or changing configuration
Also upon start-up.

Contributes to issue CURA-6597.
2019-07-04 11:31:59 +02:00
Ghostkeeper
d2daa15a13
Make testing intent profiles dependent on material, printer and variant
This way we can test with them (as long as you've selected ultimaker 3, AA0.4 and PLA).

Contributes to issue CURA-6597.
2019-07-04 11:10:54 +02:00
Ghostkeeper
fd32abd53c
Add property for currently selected intent
This is necessary for the interface to highlight the correct bullet or the correct menu item.

Contributes to issue CURA-6597.
2019-07-04 11:10:06 +02:00
Ghostkeeper
926df1111b
Iterate over all extruder stacks rather than just the used ones
Otherwise it usually only iterates over the one that the model is printing with or something. We want to iterate over all extruders that are not deactivated.

Contributes to issue CURA-6597.
2019-07-04 11:06:47 +02:00
Ghostkeeper
6ba70f3425
Rewrite IntentModel to return quality types rather than actual profiles
We don't want the profiles, because that'd be specific to one extruder. We want the quality types and intent categories as tuples again.

Contributes to issue CURA-6597.
2019-07-04 11:04:44 +02:00
Ghostkeeper
49a6161ee8
Register IntentCategoryModel to be used in QML
We want to be able to repeat on this model.

Contributes to issue CURA-6597.
2019-07-04 11:02:49 +02:00
Ghostkeeper
1dd69fe441
Only return intents from intentMetadatas
Otherwise we also get quality profiles for the same printer...

Contributes to issue CURA-6597.
2019-07-04 09:44:21 +02:00
Ghostkeeper
c2b20e5cc6
Only return intents from intentMetadatas
Otherwise we also get quality profiles for the same printer...

Contributes to issue CURA-6597.
2019-07-04 09:43:25 +02:00