StatusIcon.vala
authorAlan Knowles <alan@roojs.com>
Sat, 23 Sep 2017 05:11:24 +0000 (13:11 +0800)
committerAlan Knowles <alan@roojs.com>
Sat, 23 Sep 2017 05:11:24 +0000 (13:11 +0800)
StatusIcon.vala

index 181c2bf..2446dd2 100644 (file)
@@ -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");
+                  
+        
+        
+               }
+        
             
         }