controls/ProjectPropertiesPanel.py
changeset 702 ece862b07321
parent 700 cf3db1775105
child 711 5f6a743dcde5
--- a/controls/ProjectPropertiesPanel.py	Sun Jun 03 23:47:56 2012 +0200
+++ b/controls/ProjectPropertiesPanel.py	Mon Jun 04 01:27:17 2012 +0200
@@ -259,10 +259,18 @@
             value = getattr(self, param).GetValue()
             if param in REQUIRED_PARAMS or value != "":
                 values[param] = value
-        if self.Language.GetStringSelection() != "":
-            values["language"] = self.Language.GetStringSelection()
-        if self.ContentDescription.GetValue() != "":
-            values["contentDescription"] = self.ContentDescription.GetValue()
+            else:
+                values[param] = None
+        language = self.Language.GetStringSelection()
+        if language != "":
+            values["language"] = language
+        else:
+            values["language"] = None
+        content_description = self.ContentDescription.GetValue()
+        if content_description != "":
+            values["contentDescription"] = content_description
+        else:
+            values["contentDescription"] = None
         values["pageSize"] = (self.PageWidth.GetValue(), self.PageHeight.GetValue())
         values["scaling"] = {}
         for language in ["FBD", "LD", "SFC"]:
@@ -278,6 +286,8 @@
                 else:
                     old_value = None
                 new_value = textctrl.GetValue()
+                if name not in REQUIRED_PARAMS and new_value == "":
+                    new_value = None
                 if old_value != new_value:
                     self.Controller.SetProjectProperties(properties={name: new_value})
                     self.ParentWindow.RefreshTitle()
@@ -341,6 +351,9 @@
             else:
                 old_value = None
             new_value = self.Language.GetStringSelection()
+            if new_value == "":
+                new_value = None
+            print old_value, new_value
             if old_value != new_value:
                 self.Controller.SetProjectProperties(properties={"language": new_value})
                 self.ParentWindow.RefreshTitle()
@@ -357,6 +370,8 @@
             else:
                 old_value = None
             new_value = self.ContentDescription.GetValue()
+            if new_value == "":
+                new_value = None
             if old_value != new_value:
                 self.Controller.SetProjectProperties(properties={"contentDescription": new_value})
                 self.ParentWindow.RefreshTitle()