StatusIcon.vala
[gitlive] / StatusIcon.vala
index 4cd4349..49ae133 100644 (file)
@@ -23,63 +23,29 @@ using Gtk;
 static int main (string[] args) {
     // A reference to our file
     Gtk.init (ref args);
-
-    var window = new TestWindow();
-    
-    window.show_all ();
-
+    new StatusIcon();
     Gtk.main ();
     return 0;
      
 
 }
-
-public class TestButton : Button {
-    public TestButton()
-    {
-        this.set_label("Click me");
-        
-        
-        this.clicked.connect (() => {
-            this.label = "Thank you";
-        });
-        
-    }
-    
-    
-}
-
-public class TestWindow : Window {
-
-    public TestWindow() {
-         this.title = "First GTK+ Program";
-        this.border_width = 10;
-        this.window_position = WindowPosition.CENTER;
-        this.set_default_size (350, 70);
-        
-        // -- connect all
-        this.destroy.connect (Gtk.main_quit);        
-        
-        // add children..
-        this.add(new TestButton());
-
-    }
-   
-    
  
-   
-}
-
 
 
+public StatusIconA statusicon;
  
-class StatusIconA : StatusIcon {
+public class StatusIconA : StatusIcon {
 
     bool paused = false;
      
     public StatusIconA() {
+        
+        statusicon = this;
+        
+        
          //title : 'gitlive',
-        this.stock = Gtk.STOCK_REFRESH;
+        this.stock = Gtk.Stock.REFRESH;
         this.tooltip_text = "GitLive";
         this.title = "gitlive";
         
@@ -95,7 +61,7 @@ class StatusIconA : StatusIcon {
             
             //var menu = this.get('menu');
             
-            this.menu.show_all();
+            menu.show_all();
             
             if (this.paused) {
                 menu.resume.show();
@@ -109,8 +75,8 @@ class StatusIconA : StatusIcon {
             menu.popup(
                     
                         null, null,
-                        null, button,
-                        event_time, null
+                        statusicon.position_menu, button,
+                        event_time
             );
                         
             
@@ -128,7 +94,7 @@ class StatusIconA : StatusIcon {
         
     }
     
-    class MenuA : Menu
+    class MenuA : Gtk.Menu
     {
         public ImageMenuItem pause;
         public ImageMenuItem resume;
@@ -146,76 +112,61 @@ class StatusIconA : StatusIcon {
             
             public ImageMenuItemA()
             {
-                this.set_from_stock( Gtk.STOCK_MEDIA_PAUSE );
+                //this.set_from_stock( Gtk.Stock.MEDIA_PAUSE );
+                
+                var  image = new Gtk.Image();
+                image.set_from_stock(Gtk.Stock.MEDIA_PAUSE,Gtk.IconSize.MENU );
+               this.set_image (image);
+                
                 this.label= "Pause Commits";
                 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 );
+                    statusicon.set_from_stock( Gtk.Stock.MEDIA_PAUSE );
                     
                     
-                })
+                });
+                //    id : 'pause',
+            }
+            
+            
+        }
+         class ImageMenuItemB : ImageMenuItem {
+            
+            public ImageMenuItemB()
+            {
+                
+                var  image = new Gtk.Image();
+                image.set_from_stock(Gtk.Stock.MEDIA_PLAY,Gtk.IconSize.MENU );
+               this.set_image (image);
+                this.label= "Start Commits";
+                this.always_show_image = true;
+                this.accel_group = null;
+                
+                this.activate.connect( () => {
+                    //GitMonitor.GitMonitor.start();
+                    statusicon.paused = false;
+                    
+                    //
+                   // this.el.label  = status ? 'Resume' : 'Pause';
+                    statusicon.set_from_stock( Gtk.Stock.MEDIA_PLAY );
+                    
+                    
+                });
                 //    id : 'pause',
             }
             
             
         }
-        
     }
+}
     
-         
-    items : [
-       {
-            xtype: Gtk.Menu,
-            id : 'menu',
-            pack: false,
-            items : [
-                {
-                    
-                    //label: 'Pause',
-                    pack:  'append',
-                    listeners : {
-                        activate : function () {
-                            this.parent.parent.paused = true;
-                            imports.GitMonitor.GitMonitor.stop();
-                           // this.el.label  = status ? 'Resume' : 'Pause';
-                            this.parent.parent.el.set_from_stock( Gtk.STOCK_MEDIA_PAUSE );
-                            
-                        }
-                    }
-                },
-                
-                {
-                    init : function() {
-                        this.el = XObject.isSeed ?
-                            new Gtk.ImageMenuItem.from_stock(Gtk.STOCK_MEDIA_PLAY)
-                            : new Gtk.ImageMenuItem.new_from_stock(Gtk.STOCK_MEDIA_PLAY, null);
-                        XObject.prototype.init.call(this);
-                    },
-                    label: 'Resume Commits',
-                    always_show_image : true,
-                    accel_group : null,
-                    id : 'resume',
-                    //label: 'Pause',
-                    pack:  'append',
-                    listeners : {
-                        activate : function () {
-                            this.parent.parent.paused = false;
-                             imports.GitMonitor.GitMonitor.start();
-                            //var status = this.el.label == 'Pause' ? 1 : 0
-                           // this.el.label  = status ? 'Resume' : 'Pause';
-                               
-                            
-                        }
-                    }
-                },
+    /*
                 
                 {
                     init : function() {