X-Git-Url: http://git.roojs.org/?p=app.Builder.js;a=blobdiff_plain;f=src%2FResources.vala;h=f35b38972fc9799cfbd3515fa3ca2886af21cc0c;hp=501157459ad143b82b4f7d54e851b771244cc0b1;hb=7e857d8072408ca9f7a3384f2bff241200b5991c;hpb=07a53aadccb208112a6d0233c0c1d116070a5562 diff --git a/src/Resources.vala b/src/Resources.vala index 501157459..f35b38972 100644 --- a/src/Resources.vala +++ b/src/Resources.vala @@ -61,7 +61,7 @@ public class ResourcesItem : Object { public class Resources : Object { - public signal void updateProgress(uint cur_pos); + public signal void updateProgress(uint cur_pos, uint total); static Resources singleton_val; @@ -82,15 +82,14 @@ public class Resources : Object this.initFiles(); } - - - } + public void initFiles() { string[] avail_files = { "roodata.json", "*", - "Editors/*.js" + "Editors/*.js", + "vapi/*" }; this.fetch_files = new Gee.ArrayList(); @@ -104,7 +103,13 @@ public class Resources : Object } if (target.contains("*")) { var split = target.split("*"); + src = "https://api.github.com/repos/roojs/app.Builder.js/contents/resources/" + split[0]; + if (split[0] == "vapi/") { + src = "https://api.github.com/repos/roojs/app.Builder.js/contents/src/vapi"; + + } + } this.fetch_files.add(new ResourcesItem(src,target, "")); @@ -128,11 +133,11 @@ public class Resources : Object { var cur = this.fetch_pos; this.fetch_pos++; - this.updateProgress(this.fetch_pos); // min=0; + this.updateProgress(this.fetch_pos, this.fetch_files.size); // min=0; if (this.fetch_pos > this.fetch_files.size) { - this.updateProgress(0); + this.updateProgress(0,0); this.fetch_pos = 0; return; @@ -142,17 +147,29 @@ public class Resources : Object } + /** + * called on start to check we have all the required files.. + */ public void checkResources() { bool needsload = false; - + + // this has to check the required files, not the list... + string[] required = { + "bootstrap.builder.html", + "Gir.overides", + "GtkUsage.txt", + "mailer.builder.html", + "roo.builder.html", + "roo.builder.js", + "roodata.json", + "RooUsage.txt" + }; + + for (var i = 0; i < required.length; i++ ) { - for (var i = 0; i < this.fetch_files.size; i++ ) { - if (this.fetch_files.get(i).target.contains("*")) { - continue; - } if (!FileUtils.test( - BuilderApplication.configDirectory() + "/resources/" + this.fetch_files.get(i).target, + BuilderApplication.configDirectory() + "/resources/" + required[i], FileTest.EXISTS )) { needsload = true; @@ -166,6 +183,7 @@ public class Resources : Object public void parseDirectory(string json, string target) { + print("%s\n", json); var pa = new Json.Parser(); pa.load_from_data(json); var node = pa.get_root(); @@ -189,7 +207,11 @@ public class Resources : Object if (this.files_has_target(split[0] + n)) { continue; } - var src = "https://raw.githubusercontent.com/roojs/app.Builder.js/master/resources/" + split[0] + n; + + + + var src = ob.get_string_member("download_url"); + // "https://raw.githubusercontent.com/roojs/app.Builder.js/master/resources/" + split[0] + n; var add = new ResourcesItem(src, split[0] + n, ob.get_string_member("sha") ); //add.new_sha = ob.get_string_member("sha"); this.fetch_files.add(add);