X-Git-Url: http://git.roojs.org/?p=gitlive;a=blobdiff_plain;f=Clones.vala;h=78f86ca3645ff6a86dbf2b19a513148a35455bea;hp=3a187ecb015e3c2aa317ba0ce5246ff7da1f962c;hb=2d3bb6db4cf59fb23b8774360ee0f15ffb7dc975;hpb=9e641e366549656621a3e4fc4950b62c4b395650 diff --git a/Clones.vala b/Clones.vala index 3a187ecb..78f86ca3 100644 --- a/Clones.vala +++ b/Clones.vala @@ -411,12 +411,29 @@ public class Clones : Object this.el.label = "Pull"; //listeners - this.el.clicked.connect( () => { - + this.el.clicked.connect( () => { + + var rv = _this.reposView; + var rs = _this.reposStore; + var s =rv.el.get_selection(); + if (s.count_selected_rows() != 1) { + return; + } + Gtk.TreeIter iter; + Gtk.TreeModel tm; + s.get_selected(out tm, out iter); + GLib.Value val; + tm.get_value(iter, 6, out val); + var git_working_dir = (string)val; + var repo = GitRepo.singleton().get(git_working_dir); + GitMonitor.gitmonitor.pause(); + repo.pull(); + repo.loadStatus(); + _this.reposStore.load(); + GitMonitor.gitmonitor.start(); + - - }); } @@ -523,7 +540,7 @@ public class Clones : Object //listeners this.el.row_activated.connect( (path, col) => { - GLib.debug("row activated: %s", col.title); + if (col.title != "Current Branch") { return; } @@ -656,7 +673,10 @@ public class Clones : Object if (cb.lastrev != cb.remoterev) { col = "#f2dede"; - this.el.set_value( iter, 1, repo.currentBranch.name +"\nRemote != Local" ); + this.el.set_value( iter, 1, repo.currentBranch.name +"\n" + + (repo.ahead_or_behind == "B" ? "Local is BEHIND remote" : "Local is AHEAD of remote") + + ); } if (repo.has_local_changes) { col = "#d9edf7"; @@ -664,7 +684,9 @@ public class Clones : Object } if ((cb.lastrev != cb.remoterev) && (repo.has_local_changes)) { col = "#fcf8e3"; - this.el.set_value( iter, 1, repo.currentBranch.name +"\nRemote != Local\nHas uncommitted changes" ); + this.el.set_value( iter, 1, repo.currentBranch.name +"\n" + + (repo.ahead_or_behind == "B" ? "Local is BEHIND remote" : "Local is AHEAD of remote") + + "\nHas uncommitted changes" ); } this.el.set_value(iter, 7, col );