GitMonitor.gitmonitor.stop();
- var total = tr.length;
+ this.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((res) => {
-
- total--;
- if (!Regex.match_simple ("Already up-to-date", res) ) {
-
-
- str += str.length > 0 ? "\n" : "";
- str += "Updated: " +repo.name + "\n" + res +"\n";
- }
- if (total < 1) {
- var notification = new Notify.Notification(
- "Pull completed ",
- str,
- "dialog-information"
- );
- notification.set_timeout(20);
- notification.show();
- statusicon.set_tooltip_text("Gitlive");
-
-
- GitMonitor.gitmonitor.start();
- }
- });
- // do not care if it's already in sycn..
-
+ //repo.ref();
+ //this.ref();
-
-
- //} 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("pull: " + repo.name);
+
+ repo.pull_async(this.pullAllCallback);
+ // do not care if it's already in sycn..
- // }
+
}
+ }
+ uint total = 0;
+
+
+ void pullAllCallback(GitRepo repo, string res)
+ {
+ this.total--;
+ if (!Regex.match_simple ("Already up-to-date", res) ) {
+
+
+ ret_str += ret_str.length > 0 ? "\n" : "";
+ ret_str += "Updated: " +repo.name + "\n" + res +"\n";
+ }
+ if (this.total < 1) {
+ var notification = new Notify.Notification(
+ "Pull completed ",
+ ret_str,
+ "dialog-information"
+ );
+ notification.set_timeout(20);
+ notification.show();
+ statusicon.set_tooltip_text("Gitlive");
+
+
+ GitMonitor.gitmonitor.start();
+ //this.unref();
+ //repo.unref();
+ }
+
}