RepoStatusPopover.bjs
[gitlive] / RepoStatusPopover.vala
index cead0d4..aa771df 100644 (file)
@@ -16,6 +16,8 @@ public class RepoStatusPopover : Object
     public Xcls_label_diff label_diff;
     public Xcls_status_view status_view;
     public Xcls_diff_view diff_view;
+    public Xcls_btn_create btn_create;
+    public Xcls_btn_merge btn_merge;
 
         // my vars (def)
     public GitRepo repo;
@@ -59,6 +61,13 @@ public class RepoStatusPopover : Object
       
        //this.el.set_position(Gtk.PositionType.RIGHT);
     
+       if (repo.activeTicket == null) {
+               _this.btn_merge.el.set_sensitive(false);
+       } else {
+               _this.btn_merge.el.set_sensitive(true);
+       }
+       _this.btn_create.el.set_sensitive(repo.is_master());
+    
        // window + header?
         GLib.debug("SHOWALL - POPIP\n");
        this.el.show_all();
@@ -88,10 +97,10 @@ public class RepoStatusPopover : Object
             this.el.border_width = 5;
             var child_0 = new Xcls_Box3( _this );
             child_0.ref();
-            this.el.pack_end (  child_0.el , false,false,0 );
+            this.el.pack_start (  child_0.el , false,false,0 );
             var child_1 = new Xcls_Notebook9( _this );
             child_1.ref();
-            this.el.pack_start (  child_1.el , true,true,0 );
+            this.el.add (  child_1.el  );
             var child_2 = new Xcls_Box18( _this );
             child_2.ref();
             this.el.pack_end (  child_2.el , false,false,0 );
@@ -338,6 +347,7 @@ public class RepoStatusPopover : Object
             // my vars (dec)
 
             // set gobject values
+            this.el.vexpand = true;
             var child_0 = new Xcls_label_status( _this );
             child_0.ref();
             var child_1 = new Xcls_label_diff( _this );
@@ -601,10 +611,10 @@ public class RepoStatusPopover : Object
 
             // set gobject values
             this.el.toolbar_style = Gtk.ToolbarStyle.BOTH_HORIZ;
-            var child_0 = new Xcls_ToolButton20( _this );
+            var child_0 = new Xcls_btn_create( _this );
             child_0.ref();
             this.el.add (  child_0.el  );
-            var child_1 = new Xcls_ToolButton21( _this );
+            var child_1 = new Xcls_btn_merge( _this );
             child_1.ref();
             this.el.add (  child_1.el  );
             var child_2 = new Xcls_ToolButton22( _this );
@@ -614,7 +624,7 @@ public class RepoStatusPopover : Object
 
         // user defined functions
     }
-    public class Xcls_ToolButton20 : Object
+    public class Xcls_btn_create : Object
     {
         public Gtk.ToolButton el;
         private RepoStatusPopover  _this;
@@ -623,9 +633,10 @@ public class RepoStatusPopover : Object
             // my vars (def)
 
         // ctor
-        public Xcls_ToolButton20(RepoStatusPopover _owner )
+        public Xcls_btn_create(RepoStatusPopover _owner )
         {
             _this = _owner;
+            _this.btn_create = this;
             this.el = new Gtk.ToolButton(new Gtk.Image.from_icon_name ("gtk-add", Gtk.IconSize.SMALL_TOOLBAR), null);;
 
             // my vars (dec)
@@ -648,7 +659,7 @@ public class RepoStatusPopover : Object
         // user defined functions
     }
 
-    public class Xcls_ToolButton21 : Object
+    public class Xcls_btn_merge : Object
     {
         public Gtk.ToolButton el;
         private RepoStatusPopover  _this;
@@ -657,26 +668,27 @@ public class RepoStatusPopover : Object
             // my vars (def)
 
         // ctor
-        public Xcls_ToolButton21(RepoStatusPopover _owner )
+        public Xcls_btn_merge(RepoStatusPopover _owner )
         {
             _this = _owner;
+            _this.btn_merge = this;
             this.el = new Gtk.ToolButton(new Gtk.Image.from_icon_name ("gtk-goto-top", Gtk.IconSize.SMALL_TOOLBAR), null);;
 
             // my vars (dec)
 
             // set gobject values
-            this.el.label = "Merge branch ticket";
+            this.el.label = "Merge branch /  Complete ticket";
             this.el.is_important = true;
 
             //listeners
-            this.el.button_press_event.connect( () => {
+            this.el.clicked.connect( () => {
             
                _this.el.hide();
                Clones.singleton().el.response(-1);
                if (_this.repo.activeTicket != null) {
                   MergeBranch.singleton().show(_this.repo.activeTicket, null);   
                }
-                return false;
+                return ;
             });
         }