null/demo.local.php
[gitlive] / StatusIcon.js
index 1254ba1..56dc102 100644 (file)
@@ -27,7 +27,7 @@ var StatusIcon  = new XObject({
     paused : false, // on!
     xtype : Gtk.StatusIcon,
     title : 'gitlive',
-    stock : Gtk.STOCK_MEDIA_PLAY,
+    stock : Gtk.STOCK_REFRESH,
     tooltip_text : 'GitLive',
         init : function() {
         XObject.prototype.init.call(this);
@@ -46,20 +46,33 @@ var StatusIcon  = new XObject({
             print("MENU EL: "  + menu.el);
             print("POPUP: " + typeof(menu.el.popup));
             
-            
-            menu.el.popup(null, null,Gtk.StatusIcon.position_menu , this.el , 1, Gtk.get_current_event_time());
+            var isSeed = typeof(Seed) != 'undefined';
+           /* if (isSeed) {
+                
+                //print(JSON.stringify([null, null, Gtk.StatusIcon.position_menu , this.el , 1, Gtk.get_current_event_time()]));
+                print(  Gtk.get_current_event_time());
+                menu.el.popup(null, null, Gtk.StatusIcon.position_menu , this.el , 1, Gtk.get_current_event_time());
             //menu.el.popup(null, null,null, null, 1, Gtk.get_current_event_time());
             
-            return;
+                return;
+            }
+            */
+            Gtk.get_current_event_device ()
+            menu.el.popup_for_device(
+                    Gtk.get_current_event_device (),
+                        null, null,null, null, null,
+                         1, Gtk.get_current_event_time());
+           
             
-            var g = { };
-            var a = new Gdk.Rectangle();
+            //var g = { };
+            //var a = new Gdk.Rectangle();
             //  needs direction=inout setting in gir to work (in bugzilla @present)
-            this.el.get_geometry(g,a,null);
+            //this.el.get_geometry(g,a,null);
              
             // should check to see if @ top or bottom I guess..
-            menu.el.get_toplevel().move(a.x, a.y +a.height);
-             
+            //menu.el.get_toplevel().move(a.x, a.y +a.height);
+            menu.el.get_toplevel().move(10,10);
+              
         }
     },
     items : [
@@ -70,7 +83,10 @@ var StatusIcon  = new XObject({
             items : [
                 {
                     init : function() {
-                        this.el = new Gtk.ImageMenuItem.from_stock(Gtk.STOCK_MEDIA_PAUSE);
+                        
+                        this.el = XObject.isSeed ?
+                            new Gtk.ImageMenuItem.from_stock(Gtk.STOCK_MEDIA_PAUSE)
+                            : new Gtk.ImageMenuItem.new_from_stock(Gtk.STOCK_MEDIA_PAUSE, null);
                         XObject.prototype.init.call(this);
                     },
                     label: 'Pause Commits',
@@ -93,7 +109,9 @@ var StatusIcon  = new XObject({
                 
                 {
                     init : function() {
-                        this.el = new Gtk.ImageMenuItem.from_stock(Gtk.STOCK_MEDIA_PLAY);
+                        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',
@@ -116,7 +134,10 @@ var StatusIcon  = new XObject({
                 
                 {
                     init : function() {
-                        this.el = new Gtk.ImageMenuItem.from_stock(Gtk.STOCK_RELOAD);
+                        this.el = XObject.isSeed ?
+                            new Gtk.ImageMenuItem.from_stock(Gtk.STOCK_FULLSCREEN)
+                            : new Gtk.ImageMenuItem.new_from_stock(Gtk.STOCK_FULLSCREEN, null);
+                      
                         XObject.prototype.init.call(this);
                     },
                     label: 'Pull (Refresh) All',
@@ -127,27 +148,27 @@ var StatusIcon  = new XObject({
                     listeners : {
                         activate : function () {
                             imports.GitMonitor.GitMonitor.stop();
-                            this.parent.parent.el.set_from_stock( Gtk.STOCK_MEDIA_PAUSE );
+                           
                             
                             var tr = imports.Scm.Repo.Repo.list();
                             for (var i= 0; i< tr.length;i++) {
                                 this.parent.parent.el.set_from_stock( i%2 ?  Gtk.STOCK_FULLSCREEN : Gtk.STOCK_LEAVE_FULLSCREEN );
                                 
-                                
                                 var repo = tr[i];
                                 if (!repo.autocommit()) {
                                     //??? should we ignore ones not on autocommit..
                                     continue;
                                 }
-                                try { 
+                                try {
+                                    this.parent.parent.el.set_tooltip_text("pull: " + repo.name);
+                               
                                     var str = repo.pull();
                                     // do not care if it's already in sycn..
                                     if (str.match(/Already up-to-date/)) {
                                         continue;
                                     }
-                                    
                                     var notification = new Notify.Notification({
-                                       summary: "Updated " + fn,
+                                       summary: "Updated " + repo.name,
                                        body : str
                                    });
                                    notification.set_timeout(20);
@@ -161,19 +182,45 @@ var StatusIcon  = new XObject({
 
                                 }
                             }
+                            this.parent.parent.el.set_tooltip_text(this.parent.parent.tooltip_text);
+                               
                             
                              
-                            
+                          
                             imports.GitMonitor.GitMonitor.start();
-                            this.parent.parent.el.set_from_stock( Gtk.STOCK_MEDIA_PLAY );
-                        }
+                        }   
                     }
                 },
                 {
                     init : function() {
-                        this.el = new Gtk.ImageMenuItem.from_stock(Gtk.STOCK_RELOAD);
+                        this.el = XObject.isSeed ?
+                            new Gtk.ImageMenuItem.from_stock(Gtk.STOCK_SAVE)
+                            : new Gtk.ImageMenuItem.new_from_stock(Gtk.STOCK_SAVE, null);
+                         
                         XObject.prototype.init.call(this);
                     },
+                    label: 'Update Timesheet',
+                    always_show_image : true,
+                    accel_group : null,
+                    
+                    //label: 'Pause',
+                    pack:  'append',
+                    listeners : {
+                        activate : function () {
+                            var ret = imports.FixBug.FixBug.show();
+                            
+                        }
+                    }
+                },
+                
+                
+                {
+                    init : function() {
+                        this.el = XObject.isSeed ?
+                            new Gtk.ImageMenuItem.from_stock(Gtk.STOCK_FULLSCREEN)
+                            : new Gtk.ImageMenuItem.new_from_stock(Gtk.STOCK_FULLSCREEN, null);
+                         XObject.prototype.init.call(this);
+                    },
                     label: 'Manage Clones',
                     always_show_image : true,
                     accel_group : null,
@@ -193,7 +240,10 @@ var StatusIcon  = new XObject({
             
                 {
                     init : function() {
-                        this.el = new Gtk.ImageMenuItem.from_stock(Gtk.STOCK_ABOUT);
+                        this.el = XObject.isSeed ?
+                            new Gtk.ImageMenuItem.from_stock(Gtk.STOCK_ABOUT)
+                            : new Gtk.ImageMenuItem.new_from_stock(Gtk.STOCK_ABOUT, null);
+                   
                         XObject.prototype.init.call(this);
                     },
                     label: 'About GitLive',
@@ -216,7 +266,11 @@ var StatusIcon  = new XObject({
                 
                 {
                     init : function() {
-                        this.el = new Gtk.ImageMenuItem.from_stock(Gtk.STOCK_QUIT);
+                        
+                        this.el = XObject.isSeed ?
+                            new Gtk.ImageMenuItem.from_stock(Gtk.STOCK_QUIT)
+                            : new Gtk.ImageMenuItem.new_from_stock(Gtk.STOCK_QUIT, null);
+                     
                         XObject.prototype.init.call(this);
                     },
                     label: 'Quit',