mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-08-14 21:25:56 +08:00
Merge branch 'master' of github.com:Ultimaker/Cura
This commit is contained in:
commit
32f506c6e1
@ -745,10 +745,20 @@ class MachineManager(QObject):
|
|||||||
def _askUserToKeepOrClearCurrentSettings(self):
|
def _askUserToKeepOrClearCurrentSettings(self):
|
||||||
# Ask the user if the user profile should be cleared or not (discarding the current settings)
|
# Ask the user if the user profile should be cleared or not (discarding the current settings)
|
||||||
# In Simple Mode we assume the user always wants to keep the (limited) current settings
|
# In Simple Mode we assume the user always wants to keep the (limited) current settings
|
||||||
details = catalog.i18nc("@label", "You made changes to the following setting(s):")
|
details_text = catalog.i18nc("@label", "You made changes to the following setting(s):")
|
||||||
user_settings = self._active_container_stack.getTop().findInstances(**{})
|
|
||||||
for setting in user_settings:
|
# user changes in global stack
|
||||||
details = details + "\n " + setting.definition.label
|
details_list = [setting.definition.label for setting in self._global_container_stack.getTop().findInstances(**{})]
|
||||||
|
|
||||||
|
# user changes in extruder stacks
|
||||||
|
stacks = list(ExtruderManager.getInstance().getMachineExtruders(self._global_container_stack.getId()))
|
||||||
|
for stack in stacks:
|
||||||
|
details_list.extend([
|
||||||
|
"%s (%s)" % (setting.definition.label, stack.getName())
|
||||||
|
for setting in stack.getTop().findInstances(**{})])
|
||||||
|
|
||||||
|
# Format to output string
|
||||||
|
details = "\n ".join([details_text, ] + details_list)
|
||||||
|
|
||||||
Application.getInstance().messageBox(catalog.i18nc("@window:title", "Switched profiles"),
|
Application.getInstance().messageBox(catalog.i18nc("@window:title", "Switched profiles"),
|
||||||
catalog.i18nc("@label",
|
catalog.i18nc("@label",
|
||||||
|
@ -88,13 +88,10 @@ class MachineInstance:
|
|||||||
active_quality_changes = "empty_quality_changes"
|
active_quality_changes = "empty_quality_changes"
|
||||||
else:
|
else:
|
||||||
active_quality = VersionUpgrade21to22.VersionUpgrade21to22.VersionUpgrade21to22.getQualityFallback(type_name, variant, active_material)
|
active_quality = VersionUpgrade21to22.VersionUpgrade21to22.VersionUpgrade21to22.getQualityFallback(type_name, variant, active_material)
|
||||||
if has_machine_qualities: #Then the profile will have split into multiple.
|
active_quality_changes = self._active_profile_name
|
||||||
active_quality_changes = self._active_profile_name + "_" + active_material + "_" + variant
|
|
||||||
else:
|
|
||||||
active_quality_changes = self._active_profile_name
|
|
||||||
|
|
||||||
if has_machine_qualities: #This machine now has machine-quality profiles.
|
if has_machine_qualities: #This machine now has machine-quality profiles.
|
||||||
active_material += "_" + variant_materials #That means that the profile was split into multiple.
|
active_material += "_" + variant_materials
|
||||||
|
|
||||||
#Create a new user profile and schedule it to be upgraded.
|
#Create a new user profile and schedule it to be upgraded.
|
||||||
user_profile = configparser.ConfigParser(interpolation = None)
|
user_profile = configparser.ConfigParser(interpolation = None)
|
||||||
|
@ -49,7 +49,7 @@ class Profile:
|
|||||||
self._machine_type_id = parser.get("general", "machine_type", fallback = None)
|
self._machine_type_id = parser.get("general", "machine_type", fallback = None)
|
||||||
self._machine_variant_name = parser.get("general", "machine_variant", fallback = None)
|
self._machine_variant_name = parser.get("general", "machine_variant", fallback = None)
|
||||||
self._machine_instance_name = parser.get("general", "machine_instance", fallback = None)
|
self._machine_instance_name = parser.get("general", "machine_instance", fallback = None)
|
||||||
if "material" in parser["general"]:
|
if "material" in parser["general"]: #Note: Material name is unused in this upgrade.
|
||||||
self._material_name = parser.get("general", "material")
|
self._material_name = parser.get("general", "material")
|
||||||
elif self._type == "material":
|
elif self._type == "material":
|
||||||
self._material_name = parser.get("general", "name", fallback = None)
|
self._material_name = parser.get("general", "name", fallback = None)
|
||||||
@ -124,34 +124,6 @@ class Profile:
|
|||||||
for item in disabled_settings_defaults[1:]:
|
for item in disabled_settings_defaults[1:]:
|
||||||
disabled_defaults_string += "," + str(item)
|
disabled_defaults_string += "," + str(item)
|
||||||
|
|
||||||
#Material metadata may cause the file to split, so do it last to minimise processing time (do more with the copy).
|
output = io.StringIO()
|
||||||
filenames = []
|
config.write(output)
|
||||||
configs = []
|
return [self._filename], [output.getvalue()]
|
||||||
if self._material_name and self._type != "material":
|
|
||||||
config.set("metadata", "material", self._material_name)
|
|
||||||
filenames.append(self._filename)
|
|
||||||
configs.append(config)
|
|
||||||
elif self._type != "material" and self._machine_type_id in VersionUpgrade21to22.VersionUpgrade21to22.VersionUpgrade21to22.machinesWithMachineQuality():
|
|
||||||
#Split this profile into multiple profiles, one for each material.
|
|
||||||
_new_materials = VersionUpgrade21to22.VersionUpgrade21to22.VersionUpgrade21to22.machinesWithMachineQuality()[self._machine_type_id]["materials"]
|
|
||||||
_new_variants = VersionUpgrade21to22.VersionUpgrade21to22.VersionUpgrade21to22.machinesWithMachineQuality()[self._machine_type_id]["variants"]
|
|
||||||
translated_machine = VersionUpgrade21to22.VersionUpgrade21to22.VersionUpgrade21to22.translatePrinter(self._machine_type_id)
|
|
||||||
for material_id in _new_materials:
|
|
||||||
for variant_id in _new_variants:
|
|
||||||
variant_id_new = VersionUpgrade21to22.VersionUpgrade21to22.VersionUpgrade21to22.translateVariant(variant_id, translated_machine)
|
|
||||||
filenames.append("{profile}_{material}_{variant}".format(profile = self._filename, material = material_id, variant = variant_id_new))
|
|
||||||
config_copy = configparser.ConfigParser(interpolation = None)
|
|
||||||
config_copy.read_dict(config) #Copy the config to a new ConfigParser instance.
|
|
||||||
variant_id_new_materials = VersionUpgrade21to22.VersionUpgrade21to22.VersionUpgrade21to22.translateVariantForMaterials(variant_id, translated_machine)
|
|
||||||
config_copy.set("metadata", "material", "{material}_{variant}".format(material = material_id, variant = variant_id_new_materials))
|
|
||||||
configs.append(config_copy)
|
|
||||||
else:
|
|
||||||
configs.append(config)
|
|
||||||
filenames.append(self._filename)
|
|
||||||
|
|
||||||
outputs = []
|
|
||||||
for config in configs:
|
|
||||||
output = io.StringIO()
|
|
||||||
config.write(output)
|
|
||||||
outputs.append(output.getvalue())
|
|
||||||
return filenames, outputs
|
|
@ -161,10 +161,6 @@ Rectangle
|
|||||||
visible: showProgress;
|
visible: showProgress;
|
||||||
indeterminate:
|
indeterminate:
|
||||||
{
|
{
|
||||||
if(!showProgress)
|
|
||||||
{
|
|
||||||
return false; //Never be indeterminate when not visible, since that triggers a redraw of the screen.
|
|
||||||
}
|
|
||||||
switch(Cura.MachineManager.printerOutputDevices[0].jobState)
|
switch(Cura.MachineManager.printerOutputDevices[0].jobState)
|
||||||
{
|
{
|
||||||
case "pausing":
|
case "pausing":
|
||||||
|
@ -237,7 +237,7 @@ QtObject {
|
|||||||
SequentialAnimation on x {
|
SequentialAnimation on x {
|
||||||
id: xAnim
|
id: xAnim
|
||||||
property int animEndPoint: Theme.getSize("message").width - (Theme.getSize("default_margin").width * 2) - Theme.getSize("progressbar_control").width
|
property int animEndPoint: Theme.getSize("message").width - (Theme.getSize("default_margin").width * 2) - Theme.getSize("progressbar_control").width
|
||||||
running: control.indeterminate
|
running: control.indeterminate && control.visible
|
||||||
loops: Animation.Infinite
|
loops: Animation.Infinite
|
||||||
NumberAnimation { from: 0; to: xAnim.animEndPoint; duration: 2000;}
|
NumberAnimation { from: 0; to: xAnim.animEndPoint; duration: 2000;}
|
||||||
NumberAnimation { from: xAnim.animEndPoint; to: 0; duration: 2000;}
|
NumberAnimation { from: xAnim.animEndPoint; to: 0; duration: 2000;}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user