+ 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.gitdir );
+ // 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 );
+
+ }
+ this.el.set_sort_column_id (0, Gtk.SortType.ASCENDING);
+ }