21225 Commits

Author SHA1 Message Date
Ghostkeeper
7c90b5dd30
Use shortcut to get current quality changes groups
Contributes to issue CURA-6600.
2019-08-28 13:56:37 +02:00
Ghostkeeper
ae77f9124c
Use container tree to determine quality_definition of profile and printer
To see if they match.

Contributes to issue CURA-6600.
2019-08-28 13:55:11 +02:00
Ghostkeeper
24fd67c360
Also try looking for material-specific profiles, not just by type
Type is only a fallback after the exact ID match.
This way we can also have profiles specific to Ultimaker PLA Red and such in the future.

Contributes to issue CURA-6600.
2019-08-28 13:53:21 +02:00
Ghostkeeper
a05f077df8
Use fdmprinter for machines that don't have printer-specific qualities
This encodes the behaviour of QualityManager.getMachineDefinitionIDForQualitySearch.

Contributes to issue CURA-6600.
2019-08-28 13:35:49 +02:00
Ghostkeeper
61e13087cd
Fix testing for available quality types
Contributes to issue CURA-6600.
2019-08-28 13:26:18 +02:00
Ghostkeeper
6dd0333626
Use container tree instead of getMachineDefinitionIdForQualitySearch
It's in the metadata there, so use it.

Contributes to issue CURA-6600.
2019-08-28 13:21:23 +02:00
Ghostkeeper
5a7054ecc3
Remove references to quality manager
The last two remaining here.

Contributes to issue CURA-6600.
2019-08-28 13:16:39 +02:00
Lipu Fei
bc4809d8f8 Fix metadata checking 2019-08-28 11:52:52 +02:00
Ghostkeeper
c9191beb61
Fix updating intents list when printer changes
Contributes to issue CURA-6600.
2019-08-28 11:11:13 +02:00
Ian Paschal
60c7a3d3b7
Merge pull request #6270 from Ultimaker/CS-190_add_s3_image
Add Ultimaker S3 image
2019-08-28 11:01:57 +02:00
Ian Paschal
830078b9d5 Add Ultimaker S3 image
Contributes to CS-190
2019-08-28 10:51:40 +02:00
Ghostkeeper
64a8aff627
Remove usage of deprecated getContainer() function
This was the last place where it was used in our code base.

Contributes to issue CURA-6600.
2019-08-28 10:35:56 +02:00
Ghostkeeper
83c8b814d9
Apply intent category when changing to quality changes group
This essentially makes the quality changes depend on the intent that was active when it was created.

Contributes to issue CURA-6600.
2019-08-28 10:33:33 +02:00
Ghostkeeper
4fd886f2e8
Use container tree to get current quality groups
Contributes to issue CURA-6600.
2019-08-28 09:02:26 +02:00
Ghostkeeper
b2cee850c9
Use container tree to find current available quality groups
Contributes to issue CURA-6600.
2019-08-28 08:58:03 +02:00
Ghostkeeper
972531b0a6
No longer update upon switching active profile
It's not necessary since our model doesn't depend on that.

Contributes to issue CURA-6600.
2019-08-28 08:49:28 +02:00
Ghostkeeper
944d1090cf
Use ContainerTree to get current quality groups and MachineManager to update
This removes all dependencies from the quality manager.

Contributes to issue CURA-6600.
2019-08-28 08:42:39 +02:00
Ghostkeeper
0398c404fb
Update tree when material gets deleted
Contributes to issue CURA-6600.
2019-08-27 18:01:35 +02:00
Ghostkeeper
f5ca29c7aa
Emit materialsChanged from the variant when a material gets added
This allows the material models to update themselves.

Contributes to issue CURA-6600.
2019-08-27 18:01:35 +02:00
Ghostkeeper
21412986d3
Remove material manager from MaterialsPage
It is no longer used now that everything relevant has been moved to a separate class for this page specifically.

Contributes to issue CURA-6600.
2019-08-27 18:01:35 +02:00
Remco Burema
ec6903d34f Merge branch 'feature_intent_container_tree' of https://github.com/Ultimaker/Cura into feature_intent_container_tree 2019-08-27 17:57:25 +02:00
Remco Burema
745390e51f Fix typing.
part CURA-6600
2019-08-27 17:57:11 +02:00
Ghostkeeper
9297890d78
Fix typing of approximate diameter and add typing to function for it
Seems I forgot to add typing and that's biting my bum right now.

Contributes to issue CURA-6600.
2019-08-27 17:21:22 +02:00
Ghostkeeper
3952366798
Move createMaterial to MaterialManagementModel and simplify it a bit
We can reuse our duplicateMaterial function again but in a simpler way. Also finding the preferred material is simpler with our container tree.
However there seems to be a problem with finding the preferred material; it's not finding generic_pla for UM3 and AA0.4 anyway, and then falls back on a random material. This needs to be fixed in the variant node class.

Contributes to issue CURA-6600.
2019-08-27 17:21:22 +02:00
Ghostkeeper
cb344f9dec
Fix serialising materials without nozzle profile again
Oops. This is simpler anyway.

Contributes to issue CURA-6600.
2019-08-27 17:21:21 +02:00
Ghostkeeper
957894b614
Fix duplicating a favourite material
The duplicate must also be favourite.

Contributes to issue CURA-6600.
2019-08-27 17:21:21 +02:00
Ghostkeeper
1874a6453d
Move duplicateMaterial into MaterialManagementModel
To move away from the deprecated MaterialManager class.

Contributes to issue CURA-6600.
2019-08-27 17:21:21 +02:00
Ghostkeeper
924d4cc13b
Remove unused container_tree variable
Contributes to issue CURA-6600.
2019-08-27 17:21:20 +02:00
Remco Burema
83146a71a9 Merge branch 'feature_intent_container_tree' of https://github.com/Ultimaker/Cura into feature_intent_container_tree 2019-08-27 16:21:36 +02:00
Remco Burema
c71660cc11 Fix occasional crash when entering profiles section.
Make QualityManagementModel into a singleton.
part of CURA-6600
2019-08-27 16:21:30 +02:00
Ghostkeeper
20be7fd8a1
Don't add to variant-specific mapping if it's not variant-specific
Otherwise we'll encounter that the variant name is None when serialising that subprofile.

Contributes to issue CURA-6600.
2019-08-27 16:06:09 +02:00
Remco Burema
c333e980dc Merge branch 'feature_intent_container_tree' of https://github.com/Ultimaker/Cura into feature_intent_container_tree 2019-08-27 15:50:21 +02:00
Ghostkeeper
dabd905853
Fix serialising materials with submaterials in not loaded container trees
Material profiles need to serialise subprofiles that belong to different printers as well. Some of these materials may not be loaded in the ContainerTree structure. To prevent having to load that as well, we're just not going to use the container tree any more. It turns out that the only reason it was using the container tree was to get the hardware_type metadata from the node in the tree. So just get that from the container itself and we're fine.

Contributes to issue CURA-6600.
2019-08-27 15:47:42 +02:00
Ghostkeeper
63ae6ee9ec
Fix updating materials models when materials change before first printer switch
Otherwise the _extruder_stack field would not yet be set.

Contributes to issue CURA-6600.
2019-08-27 15:47:41 +02:00
Ghostkeeper
8346e465f6
Turn MaterialManagementModel into a singleton
Just like MaterialManager used to be. There can be only one instance of the page then.
This prevents a crash when Qt deletes the QObject because it's no longer used in the page when you close the preferences screen. But when you open it again it doesn't construct a new one. Now there is always one instance so that's not a problem any more. Also it allows other pages to access this item.

Contributes to issue CURA-6600.
2019-08-27 15:47:41 +02:00
Ghostkeeper
b60b13e5bf
Use container tree to check for variants when serialising
Not the variant manager, because it's deprecated.

Contributes to issue CURA-6600.
2019-08-27 15:47:41 +02:00
Ghostkeeper
3dc7c7b61c
Move removeMaterial to MaterialManagementModel
Moving away from the MaterialManager.

Contributes to issue CURA-6600.
2019-08-27 15:47:40 +02:00
Ghostkeeper
99ccddefa4
Move setMaterialName to MaterialManagementModel
No longer use the material manager which is deprecated.

Contributes to issue CURA-6600.
2019-08-27 15:47:40 +02:00
Ghostkeeper
5b8ed91b04
Create new MaterialManagementModel and move canMaterialBeRemoved
Just like the QualityManagementModel, this class is intended to be used as proxy for the material management page in the preferences. I'm intending to move all relevant pyqtSlots from the material manager into this one. The advantage of this switch is that the material manager had no well-bounded scope and so tended to become a big mess of all sorts of functions. This one has a clear scope: serve as a proxy for the buttons you can press in the preferences screen for materials.

Contributes to issue CURA-6600.
2019-08-27 15:47:40 +02:00
Remco Burema
f7a15ca507 Merge branch 'feature_intent_container_tree' of https://github.com/Ultimaker/Cura into feature_intent_container_tree 2019-08-27 15:46:59 +02:00
Remco Burema
d5a8b2640f Fix 'getQualityChangesGroups' now gives a list issues.
part of CURA-6600
2019-08-27 15:46:47 +02:00
Remco Burema
fbf4d42f06 Active quality group can be None.
part of CURA-6600
2019-08-27 15:22:26 +02:00
Jaime van Kessel
36dfd23e3f Remove old buildplate function
CURA-6600
2019-08-27 15:06:27 +02:00
Jaime van Kessel
d479e5ec58 Removed no longer used initialize function
CURA-6600
2019-08-27 15:05:39 +02:00
Lipu Fei
9f110368de Add do_HEAD() for auth req handler
CURA-6609
2019-08-27 14:48:02 +02:00
Jaime van Kessel
8f75a12d27 Fix network config syncing 2019-08-27 14:46:33 +02:00
Lipu Fei
79f11286a6 Fix typing
CURA-6643
2019-08-27 14:42:31 +02:00
Lipu Fei
946b2b943e F5 reloads gcode file
CURA-6643
2019-08-27 14:42:31 +02:00
Jaime van Kessel
d1a8ce54a1 Merge branch 'feature_intent' of github.com:Ultimaker/Cura into feature_intent_container_tree 2019-08-27 14:18:41 +02:00
Jaime van Kessel
8c98773f55 Fix issues with sorting if no printer type is set 2019-08-27 14:18:07 +02:00