CURA-5188 If the auto_slice option was enabled in previous version,

keep it like this in the new version.
Since the default value of this preference changed, we don't want to
confuse users that still use the auto_slice option. Those users with
clean install or intalling Cura for the first time will have this
preference disabled.
This commit is contained in:
Diego Prado Gesto 2018-04-23 11:29:18 +02:00
parent d857541677
commit b85b39ff35
2 changed files with 34 additions and 0 deletions

View file

@ -85,6 +85,34 @@ class VersionUpgrade32to33(VersionUpgrade):
setting_version = int(parser.get("metadata", "setting_version", fallback = 0)) setting_version = int(parser.get("metadata", "setting_version", fallback = 0))
return format_version * 1000000 + setting_version return format_version * 1000000 + setting_version
## Upgrades a preferences file from version 3.2 to 3.3.
#
# \param serialised The serialised form of a preferences file.
# \param filename The name of the file to upgrade.
def upgradePreferences(self, serialised, filename):
parser = configparser.ConfigParser(interpolation = None)
parser.read_string(serialised)
# Update version numbers
if "general" not in parser:
parser["general"] = {}
parser["general"]["version"] = "6"
if "metadata" not in parser:
parser["metadata"] = {}
parser["metadata"]["setting_version"] = "4"
# The auto_slice preference changed its default value to "disabled" so if there is no value in previous versions,
# then it means the desired value is auto_slice "enabled"
if "auto_slice" not in parser["general"]:
parser["general"]["auto_slice"] = "True"
elif parser["general"]["auto_slice"] == "False": # If the value is False, then remove the entry
del parser["general"]["auto_slice"]
# Re-serialise the file.
output = io.StringIO()
parser.write(output)
return [filename], [output.getvalue()]
## Upgrades a container stack from version 3.2 to 3.3. ## Upgrades a container stack from version 3.2 to 3.3.
# #
# \param serialised The serialised form of a container stack. # \param serialised The serialised form of a container stack.

View file

@ -9,6 +9,8 @@ def getMetaData():
return { return {
"version_upgrade": { "version_upgrade": {
# From To Upgrade function # From To Upgrade function
("preferences", 5000004): ("preferences", 6000004, upgrade.upgradePreferences),
("machine_stack", 3000004): ("machine_stack", 4000004, upgrade.upgradeStack), ("machine_stack", 3000004): ("machine_stack", 4000004, upgrade.upgradeStack),
("extruder_train", 3000004): ("extruder_train", 4000004, upgrade.upgradeStack), ("extruder_train", 3000004): ("extruder_train", 4000004, upgrade.upgradeStack),
@ -18,6 +20,10 @@ def getMetaData():
("variant", 2000004): ("variant", 3000004, upgrade.upgradeVariants) ("variant", 2000004): ("variant", 3000004, upgrade.upgradeVariants)
}, },
"sources": { "sources": {
"preferences": {
"get_version": upgrade.getCfgVersion,
"location": {"."}
},
"machine_stack": { "machine_stack": {
"get_version": upgrade.getCfgVersion, "get_version": upgrade.getCfgVersion,
"location": {"./machine_instances"} "location": {"./machine_instances"}