Просмотр исходного кода

Show the Z seam related settings after upgrade. CURA-2953

Simon Edwards 8 лет назад
Родитель
Сommit
22012bdb1c

+ 21 - 0
plugins/VersionUpgrade/VersionUpgrade22to24/VersionUpgrade.py

@@ -8,6 +8,7 @@ import io
 
 from UM import Resources
 from UM.VersionUpgrade import VersionUpgrade # Superclass of the plugin.
+import UM.VersionUpgrade
 
 class VersionUpgrade22to24(VersionUpgrade):
 
@@ -120,6 +121,26 @@ class VersionUpgrade22to24(VersionUpgrade):
         config.write(output)
         return [filename], [output.getvalue()]
 
+    def upgradePreferences(self, serialised, filename):
+        config = configparser.ConfigParser(interpolation = None)
+        config.read_string(serialised)
+
+        if not config.has_section("general"):
+            raise UM.VersionUpgrade.FormatException("No \"general\" section.")
+
+        # Make z_seam_x and z_seam_y options visible. In a clean 2.4 they are visible by default.
+        if config.has_option("general", "visible_settings"):
+            visible_settings = config.get("general", "visible_settings")
+            visible_set = set(visible_settings.split(";"))
+            visible_set.add("z_seam_x")
+            visible_set.add("z_seam_y")
+            config.set("general", "visible_settings", ";".join(visible_set))
+        config.set("general", "version", value="4")
+
+        output = io.StringIO()
+        config.write(output)
+        return [filename], [output.getvalue()]
+
     def getCfgVersion(self, serialised):
         parser = configparser.ConfigParser(interpolation = None)
         parser.read_string(serialised)

+ 4 - 2
plugins/VersionUpgrade/VersionUpgrade22to24/__init__.py

@@ -20,8 +20,10 @@ def getMetaData():
         "version_upgrade": {
             # From                     To                 Upgrade function
             ("machine_instance", 2): ("machine_stack", 3, upgrade.upgradeMachineInstance),
-            ("extruder_train", 2): ("extruder_train", 3, upgrade.upgradeExtruderTrain)
-        },
+            ("extruder_train", 2): ("extruder_train", 3, upgrade.upgradeExtruderTrain),
+            ("preferences", 3):      ("preferences", 4, upgrade.upgradePreferences)
+
+    },
         "sources": {
             "machine_stack": {
                 "get_version": upgrade.getCfgVersion,