When saving a material to a file, it will save all the settings in that
container, which needs to create SettingInstances for all the cached
ones, and for those instances, their definitions will be retrieved from
the machine definition.
material_diameter is one of the settings, but it only exists in the
extruder definitions, so when it tries to save a material profile, a lot
of warnings/errors will occur due to the missing "material_diameter" in
fdmprinter. Adding it back fixes this problem.
In this case, if the user was updating some information in one material
and then select other material, the new data is stored.
Contributes to CURA-5682.
has changed manually.
With this we can differentiate when the layer changed automatically
(during simulation) or manually (by user interaction). In case it was
changed manually, the simulation will stop.
Contributes to CURA-5725.
CURA-5718
For package upgradable, we need to check if a package is installed
local. For that, we first check in the package manager, if nothing, then
we fall back to check the old plugins.
We know in these places that there must be a global stack at this point. So to hide the type error we'll cast it here.
Of course, the danger in this is that someone might call this function that doesn't know about this requirement and calls it when there is potentially no global stack yet. Hopefully they'll discover this crash when that happens then.
If we choose to rename the resource folders, then this plug-in should still look in the old resource folders. So hard-code these resource folders in the state that they were in at version 2.5 so that we can freely change them in a modern version.
correctly selected when there is more than one brand (stupid mistake).
Also fix problems when the user changes some material information.
Contributes to CURA-5682.
CURA-5718
The request-url dict is not ordered so you cannot garuantee the ordering
when you use .items(). This can cause a problem that if a do-not-handle
item occurs first then nothing will be handled at all.
When a material is selected, but the brand or the type is collapsed,
those components are also highlighted to indicate the path to the
material.
Reuse the MaterialBrandSection also for the generic materials, that
allow us to only mantain one component.
Contributes to CURA-5682.