+ }
+
+ // 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( iter, 1, repo.currentBranch.name );
+ this.el.set_value( iter, 2, repo.branchesToString() );
+ // 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(iter, 6, repo.git_working_dir );
+ // 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(iter, 7, col );
+ var ticket = repo.activeTicket;
+
+ this.el.set_value(iter, 8, repo.is_auto_branch() );
+ this.el.set_value(iter, 9, ticket == null ? "" : ticket.id );
+
+
+ }
+ this.el.set_sort_column_id (0, Gtk.SortType.ASCENDING);
+ }
+ }
+
+ public class Xcls_tv_autocommit : Object
+ {
+ public Gtk.TreeViewColumn el;
+ private Clones _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_tv_autocommit(Clones _owner )
+ {
+ _this = _owner;
+ _this.tv_autocommit = this;
+ this.el = new Gtk.TreeViewColumn();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.title = "Auto Commit";
+ this.el.min_width = 50;
+ var child_0 = new Xcls_cr_autocommit( _this );
+ child_0.ref();
+ this.el.pack_start ( child_0.el , false );