* 'master' of github.com:ultimaker/Cura:
Determine readonly state from location in filesystem instead of a metadata property
Change focus upon extruder switch
Fix extruder number attached to extruders
Fix duplicating the first item on the Profiles page
Fix spelling
Document setActiveExtruderIndex
Inheritance button now works if instance containers contain functions
JSON cleanup: removed settable_per_x when they were obvious and default (CURA-1560)
feat: use settable_per_[mesh|extruder|meshgroup|globally] instead of global_only (CURA-1560)
JSON feat: replaced global_only with four properties settable_per_[mesh|extruder|meshgroup] and settable_globally for fdmextruder settings (CURA-1558)
JSON feat: replaced global_only with four properties settable_per_[mesh|extruder|meshgroup] and settable_globally (CURA-1558)
The name of the extruder stack is now the same as the name for the extruder definition. The IDs are different though!
Contributes to issues CURA-1278 and CURA-340.
The user profiles are also saved because they are added to the container registry. So if one exists for this extruder, don't create a new blank name, but use the pre-loaded one which contained the user settings the user had before he closed down Cura previously.
Contributes to issues CURA-340 and CURA-1278.
Instead of getting the keys, which are labeled '0' and '1', we'd like to get the values, which are the extruder train IDs themselves.
Contributes to issues CURA-340 and CURA-1278.
This requires some trickery of initialising the extruder manager before the machine manager is initialised, so that it properly listens to global container stack changes.
Contributes to issues CURA-340 and CURA-1278.
There were two singletons of this manager: One created by QML and managed by QML, and one created by us and managed by our own singleton pattern. That won't work! So we now manage just our own singleton type, and make it a context item for QML so it can use the manager too.
Contributes to issues CURA-340 and CURA-1278.
The extruder manager was too late to catch the initial global stack switch and machine switch. Now it just always reloads the extruders at the beginning.
Contributes to issues CURA-1278 and CURA-351.
This is more robust to cyclic dependencies, and also the intended way of importing these classes in Python in general.
Contributes to issues CURA-1278 and CURA-351.
This way we don't need to load it in CuraApplication but we can just load it whenever it is first needed. ExtruderManager should be robust against initialising it at any point in Cura's runtime.
Contributes to issues CURA-1278 and CURA-351.
When the global extruder stack switches, we need to re-connect the reloading of extruders to the new containersChanged signal of the new global container stack. This now also bootstraps the listening for the first time, when the global container stack changes from None to the first stack.
Contributes to issues CURA-1278 and CURA-351.