public bool paused = false;
public static StatusIconA statusicon;
-
+
+
public StatusIconA() {
statusicon = this;
menu.ref();
this.button_press_event.connect( ( ev ) =>{
print("button press event called\n");
-
+
menu.show_all();
if (this.paused) {
});
this.popup_menu.connect( ( button, time) =>{
//this.button_press_event.connect( ( ) =>{
-
+
//print(Array.prototype.slice.call(arguments).join(','));
print("menu activiate called\n");
//var menu = this.get('menu');
this.total = tr.length;
-
+ this.has_error = 0;
+ this.pull_all_error_message = "";
for (var i= 0; i< tr.length;i++) {
statusicon.set_from_stock(
i%2 == 0 ? Gtk.Stock.FULLSCREEN : Gtk.Stock.LEAVE_FULLSCREEN );
//this.ref();
statusicon.set_tooltip_text("pull: " + repo.name);
-
+
repo.pull_async(this.pullAllCallback);
// do not care if it's already in sycn..
}
uint total = 0;
-
+ uint has_error = 0;
+ string pull_all_error_message = "";
- void pullAllCallback(GitRepo repo, string res)
+ void pullAllCallback(GitRepo repo, int err, string res)
{
this.total--;
+
+ if (err > 0) {
+ this.has_error = 1;
+ this.pull_all_error_message += this.pull_all_error_message.length > 0 ? "\n" : "";
+ this.pull_all_error_message += "Error Pulling " + repo.name +"\n" + res;
+ }
+
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(
+ var notification = new Notify.Notification(
"Pull completed ",
- ret_str,
+ "Updated: " +repo.name + "\n" + res +"\n",
"dialog-information"
);
notification.set_timeout(20);
notification.show();
+
+
+
+ }
+ if (this.total < 1) {
+ if (this.has_error > 0) {
+ GitMonitor.gitmonitor.pauseError(this.pull_all_error_message);
+ return;
+ }
+
statusicon.set_tooltip_text("Gitlive");
-
-
+
GitMonitor.gitmonitor.start();
//this.unref();
//repo.unref();
this.accel_group = null;
this.activate.connect( () => {
- //var ret = imports.Clones.Clones.show();
+ Clones.singleton().show();
});
}