src/Builder4/PopoverProperty.bjs
authorAlan Knowles <alan@roojs.com>
Tue, 2 Jun 2015 03:02:51 +0000 (11:02 +0800)
committerAlan Knowles <alan@roojs.com>
Tue, 2 Jun 2015 03:02:51 +0000 (11:02 +0800)
src/Builder4/PopoverProperty.vala

src/Builder4/PopoverProperty.bjs
src/Builder4/PopoverProperty.vala

index 067079c..e74e2de 100644 (file)
@@ -9,7 +9,7 @@
  "items" : [
   {
    "listeners" : {
-    "closed" : "() => {\n \n  \n  var newtext = \"\";\n  Gtk.TreeIter citer;\n  GLib.Value gval;\n  this.kflag.el.get_active_iter(out citer);\n  this.dbmodel.el.get_value(citer, 0, out  gval);\n  \n  newtext += (string)gval;  \n  newtext += this.ktype.el.get_text().length > 0 && newtext.length > 0 ? \" \" :\"\";\n  newtext += this.ktype.el.get_text() ;\n  newtext += this.kname.el.get_text().length > 0 && newtext.length > 0 ? \" \" :\"\";\n  newtext += this.kname.el.get_text();\n  \n  \n   var lp =  _this.mainwindow.windowstate.left_props;\n    \n    switch(this.key_type) {\n        case \"listener\":\n            var ov = _this.node.listeners.get(this.old_keyname);\n            _this.node.listeners.set(newtext, ov);\n            _this.node.listeners.unset(this.old_keyname);\n            \n            \n            lp.updateKey(this.old_keyname, this.key_type, newtext);\n            \n            break;\n        case \"props\":\n            var ov = _this.node.props.get(this.old_keyname);\n            _this.node.props.set(newtext, ov);\n            _this.node.props.unset(this.old_keyname);\n            lp.updateKey(this.old_keyname, this.key_type, newtext);\n            break;\n     }\n   \n  \n  \n} "
+    "closed" : "() => {\n \n  \n  var newtext = \"\";\n  Gtk.TreeIter citer;\n  GLib.Value gval;\n  this.kflag.el.get_active_iter(out citer);\n  this.dbmodel.el.get_value(citer, 0, out  gval);\n  \n  var ktype = this.ktype.el.get_text().strip(); \n  var kname = this.kname.el.get_text().strip(); \n  newtext += ((string)gval).strip();  \n  newtext += ktype.length > 0 && newtext.length > 0 ? \" \" :\"\";\n  newtext += ktype;\n  newtext += kname.length > 0 && newtext.length > 0 ? \" \" :\"\";\n  newtext += kname.get_text();\n  \n  \n   var lp =  _this.mainwindow.windowstate.left_props;\n    \n    switch(this.key_type) {\n        case \"listener\":\n            var ov = _this.node.listeners.get(this.old_keyname);\n            _this.node.listeners.set(newtext, ov);\n            if (this.old_keyname != newtext) { \n\t            _this.node.listeners.unset(this.old_keyname);\n            }\n            \n            \n            lp.updateKey(this.old_keyname, this.key_type, newtext);\n            \n            break;\n        case \"props\":\n            var ov = _this.node.props.get(this.old_keyname);\n            _this.node.props.set(newtext, ov);\n\t\t\tif (this.old_keyname != newtext) { \n\t            _this.node.props.unset(this.old_keyname);\n            }\n            lp.updateKey(this.old_keyname, this.key_type, newtext);\n            break;\n     }\n   \n  \n  \n} "
    },
    "string old_keyname" : "",
    "@ void success" : "(Project.Project pr, JsRender.JsRender file)",
index bbf9aa4..50dd6a9 100644 (file)
@@ -55,11 +55,13 @@ public class Xcls_PopoverProperty : Object
           this.kflag.el.get_active_iter(out citer);
           this.dbmodel.el.get_value(citer, 0, out  gval);
           
-          newtext += (string)gval;  
-          newtext += this.ktype.el.get_text().length > 0 && newtext.length > 0 ? " " :"";
-          newtext += this.ktype.el.get_text() ;
-          newtext += this.kname.el.get_text().length > 0 && newtext.length > 0 ? " " :"";
-          newtext += this.kname.el.get_text();
+          var ktype = this.ktype.el.get_text().strip(); 
+          var kname = this.kname.el.get_text().strip(); 
+          newtext += ((string)gval).strip();  
+          newtext += ktype.length > 0 && newtext.length > 0 ? " " :"";
+          newtext += ktype;
+          newtext += kname.length > 0 && newtext.length > 0 ? " " :"";
+          newtext += kname.get_text();
           
           
            var lp =  _this.mainwindow.windowstate.left_props;
@@ -68,7 +70,9 @@ public class Xcls_PopoverProperty : Object
                 case "listener":
                     var ov = _this.node.listeners.get(this.old_keyname);
                     _this.node.listeners.set(newtext, ov);
-                    _this.node.listeners.unset(this.old_keyname);
+                    if (this.old_keyname != newtext) { 
+                           _this.node.listeners.unset(this.old_keyname);
+                    }
                     
                     
                     lp.updateKey(this.old_keyname, this.key_type, newtext);
@@ -77,7 +81,9 @@ public class Xcls_PopoverProperty : Object
                 case "props":
                     var ov = _this.node.props.get(this.old_keyname);
                     _this.node.props.set(newtext, ov);
-                    _this.node.props.unset(this.old_keyname);
+                               if (this.old_keyname != newtext) { 
+                           _this.node.props.unset(this.old_keyname);
+                    }
                     lp.updateKey(this.old_keyname, this.key_type, newtext);
                     break;
              }