NewBranch.bjs
[gitlive] / StatusIcon.vala
index 685819b..d2154e0 100644 (file)
@@ -86,6 +86,7 @@ public class StatusIconA : StatusIcon {
  
             //print(Array.prototype.slice.call(arguments).join(','));
             print("menu activiate called\n");
+                       menu.updateMerges();
             //var menu = this.get('menu');
             
             menu.show_all();
@@ -179,6 +180,7 @@ public class StatusIconA : StatusIcon {
             this.append(this.after_seperator);
             //this.append(new MenuItemUpdateTimesheet());            
             this.append(new MenuItemManageClones());
+            this.append(new MenuItemNewTicket());            
             this.append(new MenuItemAbout());
             this.append(new MenuItemQuit());
             this.merge_items = new  Gee.ArrayList<Gtk.MenuItem>();
@@ -193,22 +195,24 @@ public class StatusIconA : StatusIcon {
                        this.remove(m);
                }
                foreach(var r in GitRepo.singleton().cache.values ) {
-                       GLib.log("checking r.name for branches");
+                       GLib.debug("checking %s for branch = %s", r.name, r.currentBranch.name);
                        if (!r.is_wip_branch()) {
                                continue;
                                }
+                       GLib.debug("checking  for activeTicket");                               
                                var t = r.activeTicket;
                                if (t == null) { 
                                        continue;
                                }
                                var mi = new MergeMenuItem(r,t);
-                               this.insert (mi,4); //backwards..                               
+                               this.insert (mi,4); //backwards.
+                               this.merge_items.add(mi);                       
                                 
                }
                
         }
         
-        
+       
         class MergeMenuItem : Gtk.MenuItem {        
         
                GitRepo repo;
@@ -222,6 +226,7 @@ public class StatusIconA : StatusIcon {
                        this.label = ("Merge [%s] #%s %s".printf(r.name, t.id , t.summary));
 
                                this.activate.connect(() => {
+                                       MergeBranch.singleton().show(this.ticket, null);
                                        // show merge dialog..
                                });
                
@@ -429,7 +434,7 @@ public class StatusIconA : StatusIcon {
                 
                 var  image = new Gtk.Image();
                 image.set_from_stock(Gtk.Stock.SAVE,Gtk.IconSize.MENU );
-               this.set_image (image);
+                               this.set_image (image);
                 this.label= "Update Timesheet";
                 this.always_show_image = true;
                 this.accel_group = null;
@@ -455,13 +460,39 @@ public class StatusIconA : StatusIcon {
                 this.accel_group = null;
                 
                 this.activate.connect( () => {
-                      Clones.singleton().show();
+                       GitRepo.updateAll("show_clones");
+                
+                     // Clones.singleton().show();
                 });
             }
             
             
         }
         
+        class MenuItemNewTicket : ImageMenuItem {
+            
+            public MenuItemNewTicket()
+            {
+                
+                var  image = new Gtk.Image();
+                image.set_from_stock(Gtk.Stock.FULLSCREEN,Gtk.IconSize.MENU );
+                this.set_image (image);
+                this.label= "New Ticket";
+                this.always_show_image = true;
+                this.accel_group = null;
+                
+                this.activate.connect( () => {
+                       Ticket.singleton().show(null);
+
+                
+                     // Clones.singleton().show();
+                });
+            }
+            
+            
+        }
+        
+        
         class MenuItemAbout : ImageMenuItem {
             
             public MenuItemAbout()