StatusIcon.vala
[gitlive] / StatusIcon.vala
index 1e10bfa..ec1420b 100644 (file)
@@ -76,17 +76,23 @@ public class TestWindow : Window {
 class StatusIconA : StatusIcon {
 
     bool paused = false;
-    
-    MenuA menu = null;
-    
+     
     public StatusIconA() {
+        
+        statusicon = this;
+        
+        
          //title : 'gitlive',
         this.stock = Gtk.STOCK_REFRESH;
         this.tooltip_text = "GitLive";
         this.title = "gitlive";
         
         this.set_name("gitlive");
+       
         
+        var menu = new MenuA();
+                 
+         
         this.popup_menu.connect( (button,event_time) =>{
             
             //print(Array.prototype.slice.call(arguments).join(','));
@@ -96,15 +102,15 @@ class StatusIconA : StatusIcon {
             this.menu.show_all();
             
             if (this.paused) {
-                this.menu.resume.show();
-                this.menu.pause.hide();
+                menu.resume.show();
+                menu.pause.hide();
             } else {
-                this.menu.resume.hide();
-                this.menu.pause.show();
+                menu.resume.hide();
+                menu.pause.show();
             }
              
             //Gtk.get_current_event_device ()
-            this.menu.popup(
+            menu.popup(
                     
                         null, null,
                         null, button,
@@ -113,8 +119,6 @@ class StatusIconA : StatusIcon {
                         
             
             
-            this.menu = new MenuA();
-            
             //var g = { };
             //var a = new Gdk.Rectangle();
             //  needs direction=inout setting in gir to work (in bugzilla @present)
@@ -148,8 +152,20 @@ class StatusIconA : StatusIcon {
             {
                 this.set_from_stock( Gtk.STOCK_MEDIA_PAUSE );
                 this.label= "Pause Commits";
-                this.always_show_image : true,
-                this.accel_group : null,
+                this.always_show_image = true;
+                this.accel_group = null;
+                
+                this.activate.connect( () => {
+                    this.parent.parent.paused = true;
+                    
+                    statusicon.paused = true;
+                    
+                    //GitMonitor.GitMonitor.stop();
+                   // this.el.label  = status ? 'Resume' : 'Pause';
+                    statusicon.el.set_from_stock( Gtk.STOCK_MEDIA_PAUSE );
+                    
+                    
+                })
                 //    id : 'pause',
             }