Commit graph

6981 commits

Author SHA1 Message Date
Ghostkeeper
7b83e51439
Use container tree to determine default material
Using the new architecture here.

Contributes to issue CURA-6600.
2019-08-22 15:04:20 +02:00
Jaime van Kessel
34c3a04744 Added missing tests for peripheral
Not part of the ticket, but I'm boyscouting this.
2019-08-22 14:24:19 +02:00
Jaime van Kessel
561a3e53e5 Only add available configuration if it wasn't already in the list
CURA-6732
2019-08-22 14:09:39 +02:00
Jaime van Kessel
d1720db5ad Ensure that the available configurations are also used in the uniqueConfigurations
CURA-6372
2019-08-22 14:07:44 +02:00
Jaime van Kessel
d2e9715409 Add availableConfiguration property to the output model
CURA-6732
2019-08-22 14:02:29 +02:00
Ghostkeeper
8ef410e826
Update the _available_materials in the actual _update function
It's confusing that this would be updated in the _canUpdate function. Just cleanliness.

Contributes to issue CURA-6600.
2019-08-22 09:25:26 +02:00
Ghostkeeper
ea1c99b708
Update _favorite_ids in BaseMaterialsModel._update
And make all subclasses run its super _update as well to make sure that this gets updated for them. It's necessary for the _createMaterialItem functionality because it needs to add an is_favorite role.

Contributes to issue CURA-6600.
2019-08-22 09:25:26 +02:00
Ghostkeeper
5d76f96354
Fix getting available materials without material manager
It's a bit weird still that this is executed in the _canUpdate... Oh well.

Contributes to issue CURA-6600.
2019-08-22 09:25:26 +02:00
Ghostkeeper
4ad6f4f635
Update materials models when container tree updates
Instead of relying on MaterialManager to do this.

Contributes to issue CURA-6600.
2019-08-22 09:25:25 +02:00
Ghostkeeper
6c6dd0efad
Add signals to signal that a material got changed or removed
The material models need to know this.

Contributes to issue CURA-6600.
2019-08-22 09:25:25 +02:00
Ghostkeeper
b7213ad020
Don't require material manager any more to find available materials
We have our container tree for that.

Contributes to issue CURA-6600.
2019-08-22 09:25:17 +02:00
Jaime van Kessel
e7609fadf4 Deprecated the allActiveMaterialIds and replaced the single location where it was used
CURA-6600
2019-08-21 17:08:35 +02:00
Jaime van Kessel
80dd8a0061 Merge branch 'feature_intent_container_tree' of github.com:Ultimaker/Cura into feature_intent_container_tree 2019-08-21 09:43:04 +02:00
Jaime van Kessel
47d082b5dc Fix updating of material models
CURA-6600
2019-08-21 09:42:49 +02:00
ChrisTerBeke
a179d7118d Fix renaming mistake from 1fa5628cb2 2019-08-20 17:17:52 +02:00
Remco Burema
507cb356d2 Remove (all?, most?) deprecated ContainerNode.getMetaDataEntry calls.
part of CURA-6600
2019-08-20 15:38:45 +02:00
Jaime van Kessel
b5d826fab9 Fix deprecation warning
CURA-6600
2019-08-20 14:49:47 +02:00
Lipu Fei
4762711c33 chdir to ~ on Linux if frozen 2019-08-20 11:18:54 +02:00
Lipu Fei
f4dc9cc6a2 Fix QDesktopServices.openUrl() for AppImage on Linux 2019-08-20 09:57:13 +02:00
Ghostkeeper
46b489c3f9
getAvailableMaterialsForMachineExtruder can never return None
So no need to check for it.

Contributes to issue CURA-6600.
2019-08-19 17:32:39 +02:00
Ghostkeeper
5abb03e269
No longer update all material models when favourites change
The MaterialManager.materialsUpdated signal was only called once upon init and for the rest when a favourite was added or removed. So only the FavoriteMaterialsModel would need to listen to it.
Because the MaterialManager is being deprecated, the favourite materials model now just listens to the preferences changing instead, as it was supposed to be doing anyway.

Contributes to issue CURA-6600.
2019-08-19 17:09:16 +02:00
Ghostkeeper
04c53c7190
Fix connecting to metadata changes
Otherwise the number of parameters is wrong.

Contributes to issue CURA-6600.
2019-08-19 16:24:27 +02:00
Ghostkeeper
10dbf3f735
Fix getting GUID from metadata
I keep making this mistake. A donkey may not hit its leg twice on the same stone, but I ain't no ass.

Contributes to issue CURA-6600.
2019-08-19 16:24:00 +02:00
Ghostkeeper
ae7c717636
Re-implement getLinkedMaterials without material manager
Contributes to issue CURA-6600.
2019-08-19 15:40:29 +02:00
Ghostkeeper
b0e6bb4bc9
Update documentation for getLinkedMaterials
Contributes to issue CURA-6600.
2019-08-19 15:33:07 +02:00
Ghostkeeper
30b2f943fd
Update material node when its metadata changes
This should keep the tree up to date if anything is added, removed or changed in the container registry.

Contributes to issue CURA-6600.
2019-08-19 15:13:19 +02:00
Ghostkeeper
41c573b087
Fix filtering by GUID
Get the correct metadata entry, please.

Contributes to issue CURA-6600.
2019-08-19 15:06:02 +02:00
Ghostkeeper
38937d8ac4
Remove material node when material is deleted
Contributes to issue CURA-6600.
2019-08-19 14:47:08 +02:00
Jaime van Kessel
4ff8991196 Ensure that materials get filtered by diameter again
CURA-6600
2019-08-19 14:10:36 +02:00
Jaime van Kessel
d29b3078b3 Clean up no longer used code
CURA-6600
2019-08-19 13:15:38 +02:00
Jaime van Kessel
fcbfa88d97 Fix creation of new materials
CURA-6600
2019-08-19 13:13:08 +02:00
Jaime van Kessel
88857a7be8 Fix setMaterialName
CURA-6600
2019-08-19 13:06:09 +02:00
Jaime van Kessel
646222f2ac Fix removing of material
CURA-6600
2019-08-19 13:01:05 +02:00
Jaime van Kessel
49e8c8d9d9 Fix the check to see if a material can be removed
CURA-6600
2019-08-19 12:52:31 +02:00
Jaime van Kessel
2417705dfd Prevent crashes when duplicating a material
CURA-6600
2019-08-19 11:42:52 +02:00
Jaime van Kessel
dc26f98a3a Fix import issue
CURA-6600
2019-08-19 11:30:04 +02:00
Jaime van Kessel
76b58134ae Fix getRootMaterialIdForDiameter
CURA-6600
2019-08-19 11:07:35 +02:00
Jaime van Kessel
4dd5cb1a85 Fix getMaterialByType
CURA-6600
2019-08-19 09:44:39 +02:00
Ghostkeeper
80baeb9873
Remove _added functions for nodes that can't be added during runtime
Among the machines, variants, materials, qualities and intents, only machines and materials can ever be added during runtime. For the rest, we don't need to listen to these signals.

Contributes to issue CURA-6600.
2019-08-16 16:28:42 +02:00
Jaime van Kessel
97e77994a1 Update the removing & duplicating of material
CURA-6600
2019-08-16 10:55:12 +02:00
Jaime van Kessel
8d05ebef9d Fix crash on adding a new printer
CURA-6600
2019-08-16 10:24:50 +02:00
Ghostkeeper
46e5bc897f
Fix deprecated getQualityGroups in QualityManager
It needs to get the actual extruders, not their keys.

Contributes to issue CURA-6600.
2019-08-15 17:01:23 +02:00
Ghostkeeper
606bef9b5f
Use ContainerTree structure to get quality groups
Contributes to issue CURA-6600.
2019-08-15 17:01:23 +02:00
Ghostkeeper
9bcd3d8c1e
Use ContainerTree to get quality groups instead of QualityManager
Contributes to issue CURA-6600.
2019-08-15 17:01:23 +02:00
Ghostkeeper
d4cd5a7ea5
Add convenience function to get quality groups for current printer
This is used very often all over the code.

Contributes to issue CURA-6600.
2019-08-15 17:01:22 +02:00
Ghostkeeper
3f944462ed
Use ContainerTree to get quality groups
Contributes to issue CURA-6600.
2019-08-15 17:01:22 +02:00
Ghostkeeper
ed19e9e15c
Use ContainerTree to find quality groups
Contributes to issue CURA-6600.
2019-08-15 17:01:22 +02:00
Ghostkeeper
8a51582210
Pre-fill list of qualities_per_type_per_extruder with empty dicts
Otherwise you get an IndexError later on.

Contributes to issue CURA-6600.
2019-08-15 17:01:21 +02:00
Ghostkeeper
44c98ba0d1
Fix import
Should've checked first...

Contributes to issue CURA-6600.
2019-08-15 17:01:21 +02:00
Ghostkeeper
02fbdd96a4
Don't return quality groups that are not available
And don't return an arbitrary group then. That arbitrary group could also be unavailable.

Contributes to issue CURA-6600.
2019-08-15 17:01:21 +02:00