Clones.bjs
[gitlive] / Clones.vala
index 3debbd8..d653e29 100644 (file)
@@ -574,6 +574,64 @@ public class Clones : Object
         }
 
         // user defined functions
+        public void load ()
+        {
+            //this.insert(citer,iter,0);
+            print("getting list");
+            var tr = GitRepo.list();
+            
+            this.el.clear();
+            
+            // fixme .. sort by last updated ...
+            
+            
+            for(var i =0 ; i < tr.length; i++) {
+                   var repo = tr.index(i);
+                   repo.loadBranches();
+                   
+                   Gtk.TreeIter iter;
+                   this.el.append(out iter);
+             
+                
+                //print(JSON.stringify(ret,null,4));
+                 //tr[i].getBranches();
+                 //tr[i].getStatus();
+                 //var hi;
+                 //try {
+                     //tr[i].debug=1;
+                 //     hi = tr[i].history('/', 1, 'branch', tr[i].currentBranch.name );
+        //             print(JSON.stringify(hi,null,4));
+                // } catch(e) { print(e);}
+                  
+                this.el.set_value(iter, 0, '' +  repo.name) );
+        //        this.el.set_value(ret.iter, 1, '' + repo.currentBranch.name   );
+        //        this.el.set_value(ret.iter, 2, '' + repo.branches.map(
+        //                        function(e) { return e.name; 
+        //                    }).join(', ') 
+         //        );
+        //        this.el.set_value(iter, 3, '' +  (!hi  ? '??' : hi[0].changed_raw));        
+                this.el.set_value(iter, 4, repo.is_autocommit() );                
+                this.el.set_value(iter, 5, repo.is_autopush() );                        
+                this.el.set_value(ret.iter, 6,  repo.repopath );  
+                // highlight color.
+                var cb = repo.currentBranch;
+                //print(JSON.stringify(cb,null,4));
+                var col = '#ffffff';
+                /*
+                if (cb.lastrev != cb.remoterev) {
+                    col =  '#ff0000';
+                }
+                if (tr[i].hasLocalChanges) {
+                    col =  '#0000ff';
+                }
+                if  ((cb.lastrev != cb.remoterev) && (tr[i].hasLocalChanges)) {
+                    col =  '#ff00ff';
+                }
+                */
+                this.el.set_value(ret.iter, 7, col  );      
+                
+            }     
+        }
     }
 
     public class Xcls_tv_autocommit : Object