resources/RooUsage.txt
[app.Builder.js] / src / Resources.vala
index 5011574..f35b389 100644 (file)
@@ -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<ResourcesItem>();
@@ -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);