Clones.bjs
[gitlive] / Clones.vala
index 307c737..d653e29 100644 (file)
@@ -12,13 +12,20 @@ public class Clones : Object
         }
         return _Clones;
     }
-    public Xcls_Clones Clones;
     public Xcls_reposView reposView;
     public Xcls_reposStore reposStore;
     public Xcls_tv_autocommit tv_autocommit;
+    public Xcls_cr_autocommit cr_autocommit;
     public Xcls_tv_autopush tv_autopush;
+    public Xcls_cr_autopush cr_autopush;
     public Xcls_tv_repo tv_repo;
+    public Xcls_cr_repo cr_repo;
     public Xcls_tv_current_branch tv_current_branch;
+    public Xcls_cr_current_branch cr_current_branch;
+    public Xcls_tv_last_updated tv_last_updated;
+    public Xcls_cr_last_updated cr_last_updated;
+    public Xcls_tv_all_branches tv_all_branches;
+    public Xcls_cr_all_branches cr_all_branches;
     public Xcls_ok_button ok_button;
 
         // my vars (def)
@@ -35,10 +42,10 @@ public class Clones : Object
         this.el.title = "Manage Clones";
         this.el.border_width = 3;
         this.el.default_height = 500;
-        this.el.default_width = 600;
+        this.el.default_width = 800;
         this.el.deletable = true;
         this.el.modal = true;
-        var child_0 = new Xcls_Clones( _this );
+        var child_0 = new Xcls_Box2( _this );
         child_0.ref();
         this.el.get_content_area().add (  child_0.el  );
         var child_1 = new Xcls_ok_button( _this );
@@ -63,6 +70,8 @@ public class Clones : Object
     
         
         this.el.set_deletable(false);
+        this.el.set_gravity(Gdk.Gravity.NORTH);
+        this.el.move(Gdk.Screen.width() / 2 ,0);
         this.el.show_all();
         // load clones..
     //     this.get('/reposStore').load();
@@ -80,7 +89,7 @@ public class Clones : Object
        // return this.get('bug').getValue();
         //this.success = c.success;
     }
-    public class Xcls_Clones : Object
+    public class Xcls_Box2 : Object
     {
         public Gtk.Box el;
         private Clones  _this;
@@ -89,11 +98,10 @@ public class Clones : Object
             // my vars (def)
 
         // ctor
-        public Xcls_Clones(Clones _owner )
+        public Xcls_Box2(Clones _owner )
         {
             _this = _owner;
-            _this.Clones = this;
-            this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
+            this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
 
             // my vars (dec)
 
@@ -435,12 +443,12 @@ public class Clones : Object
             // my vars (dec)
 
             // set gobject values
+            this.el.expand = true;
+            this.el.hexpand = true;
             this.el.shadow_type = Gtk.ShadowType.IN;
             var child_0 = new Xcls_reposView( _this );
             child_0.ref();
             this.el.add (  child_0.el  );
-            var child_1 = new Xcls_TreeView24( _this );
-            child_1.ref();
 
             // init method
 
@@ -485,10 +493,10 @@ public class Clones : Object
             var child_4 = new Xcls_tv_current_branch( _this );
             child_4.ref();
             this.el.append_column (  child_4.el  );
-            var child_5 = new Xcls_TreeViewColumn20( _this );
+            var child_5 = new Xcls_tv_last_updated( _this );
             child_5.ref();
             this.el.append_column (  child_5.el  );
-            var child_6 = new Xcls_TreeViewColumn22( _this );
+            var child_6 = new Xcls_tv_all_branches( _this );
             child_6.ref();
             this.el.append_column (  child_6.el  );
 
@@ -556,8 +564,9 @@ public class Clones : Object
      typeof(string),  // 3 updated
      typeof(bool),   // 4 auto commit
      typeof(bool),   // 5 auto push
-     typeof(string)   // 7 repopath
-      typeof(string)   // 8 color highlighting? );
+     typeof(string),   // 7 repopath
+      typeof(string)   // 8 color highlighting?
+       );
 
             // my vars (dec)
 
@@ -565,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
@@ -587,19 +654,19 @@ public class Clones : Object
             // set gobject values
             this.el.title = "Auto Commit";
             this.el.min_width = 50;
-            var child_0 = new Xcls_CellRendererToggle13( _this );
+            var child_0 = new Xcls_cr_autocommit( _this );
             child_0.ref();
             this.el.pack_start (  child_0.el , false );
 
             // init method
 
             //    this.items[0].el.set_activatable(true);
-             this.el.add_attribute(_this.keyrender.el , "active", 4 );
+             this.el.add_attribute(_this.cr_autocommit.el , "active", 4 );
         }
 
         // user defined functions
     }
-    public class Xcls_CellRendererToggle13 : Object
+    public class Xcls_cr_autocommit : Object
     {
         public Gtk.CellRendererToggle el;
         private Clones  _this;
@@ -608,9 +675,10 @@ public class Clones : Object
             // my vars (def)
 
         // ctor
-        public Xcls_CellRendererToggle13(Clones _owner )
+        public Xcls_cr_autocommit(Clones _owner )
         {
             _this = _owner;
+            _this.cr_autocommit = this;
             this.el = new Gtk.CellRendererToggle();
 
             // my vars (dec)
@@ -662,19 +730,19 @@ public class Clones : Object
             // set gobject values
             this.el.title = "Auto Push";
             this.el.min_width = 50;
-            var child_0 = new Xcls_CellRendererToggle15( _this );
+            var child_0 = new Xcls_cr_autopush( _this );
             child_0.ref();
-            this.el.pack_start (  child_0.el  );
+            this.el.pack_start (  child_0.el , false );
 
             // init method
 
-            this.el.add_attribute(this.items[0].el , 'active', 5 );
+            this.el.add_attribute(_this.cr_autopush.el , "active", 5 );
             //      this.items[0].el.set_activatable(true);
         }
 
         // user defined functions
     }
-    public class Xcls_CellRendererToggle15 : Object
+    public class Xcls_cr_autopush : Object
     {
         public Gtk.CellRendererToggle el;
         private Clones  _this;
@@ -683,9 +751,10 @@ public class Clones : Object
             // my vars (def)
 
         // ctor
-        public Xcls_CellRendererToggle15(Clones _owner )
+        public Xcls_cr_autopush(Clones _owner )
         {
             _this = _owner;
+            _this.cr_autopush = this;
             this.el = new Gtk.CellRendererToggle();
 
             // my vars (dec)
@@ -694,8 +763,8 @@ public class Clones : Object
             this.el.mode = Gtk.CellRendererMode.ACTIVATABLE;
 
             //listeners
-            this.el.toggled.connect( function (self, path) {
-                var ret ={} ;
+            this.el.toggled.connect( (self, path)  => {
+            /*    var ret ={} ;
                 var store = this.get('/reposStore');
                 store.el.get_iter_from_string(ret, path);
                                                                              
@@ -706,7 +775,7 @@ public class Clones : Object
                   var path =  store.el.get_value(ret.iter, 6).value.get_string();
                  var repo = imports.Scm.Repo.Repo.get(path);
                  repo.autopush(!value);
-                 
+                */
             });
         }
 
@@ -735,22 +804,18 @@ public class Clones : Object
             this.el.title = "Repo";
             this.el.min_width = 200;
             this.el.resizable = true;
-            var child_0 = new Xcls_CellRendererText17( _this );
+            var child_0 = new Xcls_cr_repo( _this );
             child_0.ref();
-            this.el.pack_start (  child_0.el  );
+            this.el.pack_start (  child_0.el , false );
 
             // init method
 
-            function() {
-                XObject.prototype.init.call(this);
-                this.el.add_attribute(this.items[0].el , 'markup', 0 );
-            
-            }
+            this.el.add_attribute(_this.cr_repo.el , "markup", 0 );
         }
 
         // user defined functions
     }
-    public class Xcls_CellRendererText17 : Object
+    public class Xcls_cr_repo : Object
     {
         public Gtk.CellRendererText el;
         private Clones  _this;
@@ -759,9 +824,10 @@ public class Clones : Object
             // my vars (def)
 
         // ctor
-        public Xcls_CellRendererText17(Clones _owner )
+        public Xcls_cr_repo(Clones _owner )
         {
             _this = _owner;
+            _this.cr_repo = this;
             this.el = new Gtk.CellRendererText();
 
             // my vars (dec)
@@ -793,23 +859,19 @@ public class Clones : Object
             // set gobject values
             this.el.title = "Current Branch";
             this.el.min_width = 50;
-            var child_0 = new Xcls_CellRendererText19( _this );
+            var child_0 = new Xcls_cr_current_branch( _this );
             child_0.ref();
-            this.el.pack_start (  child_0.el  );
+            this.el.pack_start (  child_0.el , false );
 
             // init method
 
-            function() {
-                XObject.prototype.init.call(this);
-                this.el.add_attribute(this.items[0].el , 'markup', 1 );
-                 this.el.add_attribute(this.items[0].el , 'cell-background', 7 );
-            
-            }
+            this.el.add_attribute(_this.cr_current_branch.el , "markup", 1 );
+                 this.el.add_attribute(_this.cr_current_branch.el, "cell-background", 7 );
         }
 
         // user defined functions
     }
-    public class Xcls_CellRendererText19 : Object
+    public class Xcls_cr_current_branch : Object
     {
         public Gtk.CellRendererText el;
         private Clones  _this;
@@ -818,9 +880,10 @@ public class Clones : Object
             // my vars (def)
 
         // ctor
-        public Xcls_CellRendererText19(Clones _owner )
+        public Xcls_cr_current_branch(Clones _owner )
         {
             _this = _owner;
+            _this.cr_current_branch = this;
             this.el = new Gtk.CellRendererText();
 
             // my vars (dec)
@@ -832,7 +895,7 @@ public class Clones : Object
     }
 
 
-    public class Xcls_TreeViewColumn20 : Object
+    public class Xcls_tv_last_updated : Object
     {
         public Gtk.TreeViewColumn el;
         private Clones  _this;
@@ -841,9 +904,10 @@ public class Clones : Object
             // my vars (def)
 
         // ctor
-        public Xcls_TreeViewColumn20(Clones _owner )
+        public Xcls_tv_last_updated(Clones _owner )
         {
             _this = _owner;
+            _this.tv_last_updated = this;
             this.el = new Gtk.TreeViewColumn();
 
             // my vars (dec)
@@ -851,22 +915,18 @@ public class Clones : Object
             // set gobject values
             this.el.title = "Last updated";
             this.el.min_width = 50;
-            var child_0 = new Xcls_CellRendererText21( _this );
+            var child_0 = new Xcls_cr_last_updated( _this );
             child_0.ref();
-            this.el.pack_start (  child_0.el  );
+            this.el.pack_start (  child_0.el , false );
 
             // init method
 
-            function() {
-                XObject.prototype.init.call(this);
-                this.el.add_attribute(this.items[0].el , 'markup', 3 );
-            
-            }
+            this.el.add_attribute(_this.cr_last_updated.el , "markup", 3 );
         }
 
         // user defined functions
     }
-    public class Xcls_CellRendererText21 : Object
+    public class Xcls_cr_last_updated : Object
     {
         public Gtk.CellRendererText el;
         private Clones  _this;
@@ -875,9 +935,10 @@ public class Clones : Object
             // my vars (def)
 
         // ctor
-        public Xcls_CellRendererText21(Clones _owner )
+        public Xcls_cr_last_updated(Clones _owner )
         {
             _this = _owner;
+            _this.cr_last_updated = this;
             this.el = new Gtk.CellRendererText();
 
             // my vars (dec)
@@ -889,7 +950,7 @@ public class Clones : Object
     }
 
 
-    public class Xcls_TreeViewColumn22 : Object
+    public class Xcls_tv_all_branches : Object
     {
         public Gtk.TreeViewColumn el;
         private Clones  _this;
@@ -898,9 +959,10 @@ public class Clones : Object
             // my vars (def)
 
         // ctor
-        public Xcls_TreeViewColumn22(Clones _owner )
+        public Xcls_tv_all_branches(Clones _owner )
         {
             _this = _owner;
+            _this.tv_all_branches = this;
             this.el = new Gtk.TreeViewColumn();
 
             // my vars (dec)
@@ -909,22 +971,18 @@ public class Clones : Object
             this.el.title = "All Branches";
             this.el.min_width = 50;
             this.el.resizable = false;
-            var child_0 = new Xcls_CellRendererText23( _this );
+            var child_0 = new Xcls_cr_all_branches( _this );
             child_0.ref();
-            this.el.pack_start (  child_0.el  );
+            this.el.pack_start (  child_0.el , false );
 
             // init method
 
-            function() {
-                XObject.prototype.init.call(this);
-                this.el.add_attribute(this.items[0].el , 'markup', 2 );
-            
-            }
+            this.el.add_attribute(_this.cr_all_branches.el , "markup", 2 );
         }
 
         // user defined functions
     }
-    public class Xcls_CellRendererText23 : Object
+    public class Xcls_cr_all_branches : Object
     {
         public Gtk.CellRendererText el;
         private Clones  _this;
@@ -933,9 +991,10 @@ public class Clones : Object
             // my vars (def)
 
         // ctor
-        public Xcls_CellRendererText23(Clones _owner )
+        public Xcls_cr_all_branches(Clones _owner )
         {
             _this = _owner;
+            _this.cr_all_branches = this;
             this.el = new Gtk.CellRendererText();
 
             // my vars (dec)
@@ -948,52 +1007,6 @@ public class Clones : Object
 
 
 
-    public class Xcls_TreeView24 : Object
-    {
-        public Gtk.TreeView el;
-        private Clones  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_TreeView24(Clones _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.TreeView();
-
-            // my vars (dec)
-
-            // set gobject values
-            var child_0 = new Xcls_ListStore25( _this );
-            child_0.ref();
-        }
-
-        // user defined functions
-    }
-    public class Xcls_ListStore25 : Object
-    {
-        public Gtk.ListStore el;
-        private Clones  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_ListStore25(Clones _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.ListStore( 0, null );
-
-            // my vars (dec)
-
-            // set gobject values
-        }
-
-        // user defined functions
-    }
-
-
 
 
     public class Xcls_ok_button : Object
@@ -1014,6 +1027,7 @@ public class Clones : Object
             // my vars (dec)
 
             // set gobject values
+            this.el.expand = false;
             this.el.label = "Close";
         }