fix date calc
[gitlive] / StatusIcon.js
index a00903b..daac0d4 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);
@@ -108,7 +108,7 @@ var StatusIcon  = new XObject({
                              imports.GitMonitor.GitMonitor.start();
                             //var status = this.el.label == 'Pause' ? 1 : 0
                            // this.el.label  = status ? 'Resume' : 'Pause';
-                            this.parent.parent.el.set_from_stock(   Gtk.STOCK_MEDIA_PLAY);
+                               
                             
                         }
                     }
@@ -127,44 +127,69 @@ var StatusIcon  = new XObject({
                     listeners : {
                         activate : function () {
                             imports.GitMonitor.GitMonitor.stop();
+                           
                             
-                            
-                            var tr = imports.Scm.Git.Repo.Repo.list();
+                            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 (!tr.autocommit()) {
+                                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);
                                    notification.show();
                                    
                                 } catch(e) {
+                                    this.parent.parent.el.set_from_stock( Gtk.STOCK_MEDIA_RECORD );
                                     print(JSON.stringify(e));
                                     print("notification or push errror- probably to many in queue..");
                                     imports.gitlive.errorDialog(e.message);
 
                                 }
                             }
+                            this.parent.parent.el.set_tooltip_text(this.parent.parent.tooltip_text);
+                               
                             
                              
-                            
+                          
                             imports.GitMonitor.GitMonitor.start();
+                        }   
+                    }
+                },
+                {
+                    init : function() {
+                        this.el = new Gtk.ImageMenuItem.from_stock(Gtk.STOCK_SAVE);
+                        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 = new Gtk.ImageMenuItem.from_stock(Gtk.STOCK_RELOAD);