StatusIcon.vala
[gitlive] / StatusIcon.vala
index 80ad0d9..c176e27 100644 (file)
@@ -47,18 +47,20 @@ public class StatusIconA : StatusIcon {
          //title : 'gitlive',
         this.stock = Gtk.Stock.REFRESH;
         this.tooltip_text = "GitLive";
-        this.title = "vgitlive";
+        this.title = "gitlive";
         
-        this.set_name("vgitlive");
+        this.set_name("gitlive");
         this.set_visible(true);      
         
         var menu = new MenuA();
-                 
-         
-        this.activate.connect( () =>{
-            
+        menu.ref();       
+
+           
+        //this.popup_menu.connect( (  button,   time) =>{
+       this.button_press_event.connect( (  button) =>{
+               
             //print(Array.prototype.slice.call(arguments).join(','));
-            
+            print("menu activiate called\n");
             //var menu = this.get('menu');
             
             menu.show_all();
@@ -75,8 +77,10 @@ public class StatusIconA : StatusIcon {
             menu.popup(
                     
                         null, null,
-                        this.position_menu, 0,
-                         Gtk.get_current_event_time()
+                        //this.position_menu,
+                       null,
+                        button,
+                      0 //   time
             );
                         
             
@@ -151,7 +155,7 @@ public class StatusIconA : StatusIcon {
                 
                 var  image = new Gtk.Image();
                 image.set_from_stock(Gtk.Stock.MEDIA_PLAY,Gtk.IconSize.MENU );
-               this.set_image (image);
+                this.set_image (image);
                 this.label= "Start Commits";
                 this.always_show_image = true;
                 this.accel_group = null;
@@ -171,6 +175,7 @@ public class StatusIconA : StatusIcon {
             
         }
         
+        
         class ImageMenuItemC : ImageMenuItem {
             
             public ImageMenuItemC()
@@ -184,12 +189,12 @@ public class StatusIconA : StatusIcon {
                 this.accel_group = null;
                 
                 this.activate.connect( () => {
-                    GitMonitor.gitmonitor.start();
+                    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 );
                                 
-                        var repo = tr[i];
+                        var repo = tr.index(i);
                         //if (!repo.autocommit()) {
                             //??? should we ignore ones not on autocommit..
                         //    continue;
@@ -198,12 +203,13 @@ public class StatusIconA : StatusIcon {
                             statusicon.set_tooltip_text("pull: " + repo.name);
                             var str = repo.pull();
                                     // do not care if it's already in sycn..
-                            if (Regex.match_simple ("Already up-to-date", str)
+                            if (Regex.match_simple ("Already up-to-date", str) ) {
                                 continue;
                             }
                             var notification = new Notify.Notification( 
                                      "Updated " + repo.name,
-                                    body : str
+                                     str,
+                                       "dialog-information"
                                    
                             );
                         
@@ -212,7 +218,7 @@ public class StatusIconA : StatusIcon {
                                      
                         } catch(Error e) {
                             print("notification or push errror- probably to many in queue..");
-                            statusicon.set_from_stock( Gtk.Stock.RECORD );
+                            statusicon.set_from_stock( Gtk.Stock.MEDIA_RECORD );
                             print(e.message);
                             
                         }