From: Alan Knowles Date: Sat, 23 Sep 2017 05:11:24 +0000 (+0800) Subject: StatusIcon.vala X-Git-Url: http://git.roojs.org/?p=gitlive;a=commitdiff_plain;h=b5188eefd97ac95cfef948de66c2a65a512cfff0 StatusIcon.vala --- diff --git a/StatusIcon.vala b/StatusIcon.vala index 181c2bf7..2446dd21 100644 --- a/StatusIcon.vala +++ b/StatusIcon.vala @@ -249,6 +249,11 @@ public class StatusIconA : StatusIcon { this.activate.connect( () => { GitMonitor.gitmonitor.stop(); var tr = GitRepo.list(); + + + + + for (var i= 0; i< tr.length;i++) { statusicon.set_from_stock( i%2 == 0 ? Gtk.Stock.FULLSCREEN : Gtk.Stock.LEAVE_FULLSCREEN ); @@ -290,7 +295,62 @@ public class StatusIconA : StatusIcon { }); } - + void pullAll() + { + var tr = GitRepo.list(); + + + + var total = tr.length; + + for (var i= 0; i< tr.length;i++) { + statusicon.set_from_stock( + i%2 == 0 ? Gtk.Stock.FULLSCREEN : Gtk.Stock.LEAVE_FULLSCREEN ); + + var repo = tr.index(i); + //if (!repo.autocommit()) { + //??? should we ignore ones not on autocommit.. + // continue; + //} + //try { + statusicon.set_tooltip_text("pull: " + repo.name); + var str = ""; + repo.pull_async((out result) { + total--; + str += str.length > 0 ? "\n" : ""; + str += res; + if (total < 1) { + + } + }); + // do not care if it's already in sycn.. + if (Regex.match_simple ("Already up-to-date", str) ) { + continue; + } + var notification = new Notify.Notification( + "Updated " + repo.name, + str, + "dialog-information" + + ); + + notification.set_timeout(20); + notification.show(); + + //} catch(Error e) { + // print("notification or push errror- probably to many in queue.."); + // statusicon.set_from_stock( Gtk.Stock.MEDIA_RECORD ); + // print(e.message); + + // } + + } + statusicon.set_tooltip_text("Gitlive"); + + + + } + }