X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=src%2FJsRender%2FPlainFile.vala;h=69872879e17045d7ebda6b9aedebf6db5d9aed7b;hb=HEAD;hp=9008063416be3e8061c760335fc9e9118cebeeaa;hpb=640de69dd7b7c46a247c8a7e5e60c7f48976db88;p=app.Builder.js diff --git a/src/JsRender/PlainFile.vala b/src/JsRender/PlainFile.vala index 900806341..69872879e 100644 --- a/src/JsRender/PlainFile.vala +++ b/src/JsRender/PlainFile.vala @@ -24,21 +24,25 @@ namespace JsRender { base( project, path); this.xtype = "PlainFile"; - var f = File.new_for_path (path) ; - var info = f.query_info ("standard::*", 0); - var ct = info.get_content_type(); - this.content_type = ct; - var cts = ct.split("/"); - this.language = "plain-text"; + // if the file does not exist... + if (GLib.FileUtils.test(path, GLib.FileTest.EXISTS)) { + var f = File.new_for_path (path) ; + var info = f.query_info ("standard::*", 0); + var ct = info.get_content_type(); + this.content_type = ct; + } else { + this.content_type = "text/plain"; // hopefully.. +// var ar = path.split("."); + // var ext = ar[ar.length -1]; // hopefully not fail... + + // switch(ext) { + // case "vala"; + this.loaded = true; + - if (ct.length > 1 && cts.length > 1) { - - this.language = cts[1]; - - this.language = (new Regex("^x-")).replace( this.language, this.language.length, 0, ""); - print("got language %s\n", this.language); - } + + this.language = ""; // fixme... @@ -80,9 +84,11 @@ namespace JsRender { public override void loadItems() throws GLib.Error // : function(cb, sync) == original was async. { - - GLib.FileUtils.get_contents(this.path, out this.contents); - + if (this.loaded) { + return; + } + GLib.FileUtils.get_contents(this.path, out this.contents); + this.loaded = true; } @@ -101,9 +107,23 @@ namespace JsRender { } - + public override string toSourceCode() + { + return this.contents; + + + + } public override void save() { - this.writeFile(this.path, this.contents); + if (!this.loaded) { + print("Ignoring Save - as file was never loaded?\n"); + return; + } + try { + this.writeFile(this.path, this.contents); + } catch (GLib.Error e) { + // error ??? + } } // ignore these calls.