RepoStatusPopover.bjs
[gitlive] / RepoStatusPopover.vala
index b225b1e..9c20936 100644 (file)
@@ -12,10 +12,16 @@ public class RepoStatusPopover : Object
         }
         return _RepoStatusPopover;
     }
+    public Xcls_btn_stash btn_stash;
+    public Xcls_btn_commit btn_commit;
+    public Xcls_btn_reset btn_reset;
+    public Xcls_btn_pull btn_pull;
     public Xcls_label_status label_status;
     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 +65,18 @@ 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_branch());
+       
+       _this.btn_stash.el.set_sensitive(repo.has_local_changes);
+       _this.btn_commit.el.set_sensitive(repo.has_local_changes);
+       _this.btn_reset.el.set_sensitive(repo.has_local_changes);
+       _this.btn_pull.el.set_sensitive(repo.ahead_or_behind == "B");   
+       
        // window + header?
         GLib.debug("SHOWALL - POPIP\n");
        this.el.show_all();
@@ -86,172 +104,324 @@ public class RepoStatusPopover : Object
             // set gobject values
             this.el.homogeneous = false;
             this.el.border_width = 5;
-            var child_0 = new Xcls_Notebook3( _this );
+            var child_0 = new Xcls_Box3( _this );
             child_0.ref();
-            this.el.pack_start (  child_0.el , true,true,0 );
-            var child_1 = new Xcls_Box12( _this );
+            this.el.pack_start (  child_0.el , false,false,0 );
+            var child_1 = new Xcls_Notebook9( _this );
             child_1.ref();
-            this.el.pack_end (  child_1.el , false,false,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 );
         }
 
         // user defined functions
     }
-    public class Xcls_Notebook3 : Object
+    public class Xcls_Box3 : Object
     {
-        public Gtk.Notebook el;
+        public Gtk.Box el;
         private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_Notebook3(RepoStatusPopover _owner )
+        public Xcls_Box3(RepoStatusPopover _owner )
         {
             _this = _owner;
-            this.el = new Gtk.Notebook();
+            this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
 
             // my vars (dec)
 
             // set gobject values
-            var child_0 = new Xcls_label_status( _this );
+            this.el.homogeneous = true;
+            this.el.expand = false;
+            this.el.vexpand = false;
+            var child_0 = new Xcls_Toolbar4( _this );
             child_0.ref();
-            var child_1 = new Xcls_label_diff( _this );
+            this.el.add (  child_0.el  );
+        }
+
+        // user defined functions
+    }
+    public class Xcls_Toolbar4 : Object
+    {
+        public Gtk.Toolbar el;
+        private RepoStatusPopover  _this;
+
+
+            // my vars (def)
+
+        // ctor
+        public Xcls_Toolbar4(RepoStatusPopover _owner )
+        {
+            _this = _owner;
+            this.el = new Gtk.Toolbar();
+
+            // my vars (dec)
+
+            // set gobject values
+            this.el.toolbar_style = Gtk.ToolbarStyle.BOTH_HORIZ;
+            var child_0 = new Xcls_btn_stash( _this );
+            child_0.ref();
+            this.el.add (  child_0.el  );
+            var child_1 = new Xcls_btn_commit( _this );
             child_1.ref();
-            var child_2 = new Xcls_Box6( _this );
+            this.el.add (  child_1.el  );
+            var child_2 = new Xcls_btn_reset( _this );
             child_2.ref();
-            this.el.append_page (  child_2.el , _this.label_status.el );
-            var child_3 = new Xcls_Box9( _this );
+            this.el.add (  child_2.el  );
+            var child_3 = new Xcls_btn_pull( _this );
             child_3.ref();
-            this.el.append_page (  child_3.el , _this.label_diff.el );
+            this.el.add (  child_3.el  );
         }
 
         // user defined functions
     }
-    public class Xcls_label_status : Object
+    public class Xcls_btn_stash : Object
     {
-        public Gtk.Label el;
+        public Gtk.ToolButton el;
         private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_label_status(RepoStatusPopover _owner )
+        public Xcls_btn_stash(RepoStatusPopover _owner )
         {
             _this = _owner;
-            _this.label_status = this;
-            this.el = new Gtk.Label( "Status" );
+            _this.btn_stash = this;
+            this.el = new Gtk.ToolButton(new Gtk.Image.from_icon_name ("gtk-undo", Gtk.IconSize.SMALL_TOOLBAR), null);;
 
             // my vars (dec)
 
             // set gobject values
+            this.el.label = "Stash Changes";
+            this.el.is_important = true;
+
+            //listeners
+            this.el.button_press_event.connect( () => {
+              
+               
+               GitMonitor.gitmonitor.stop();
+               _this.repo.git({ "stash" , "--all" });
+               _this.repo.loadStatus();
+               GitMonitor.gitmonitor.start();
+                _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff);
+                _this.status_view.el.get_buffer().set_text(_this.repo.git_status);
+                Clones.singleton().reposStore.load();
+              
+               _this.el.hide();
+                return false;
+            });
         }
 
         // user defined functions
     }
 
-    public class Xcls_label_diff : Object
+    public class Xcls_btn_commit : Object
     {
-        public Gtk.Label el;
+        public Gtk.ToolButton el;
         private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_label_diff(RepoStatusPopover _owner )
+        public Xcls_btn_commit(RepoStatusPopover _owner )
         {
             _this = _owner;
-            _this.label_diff = this;
-            this.el = new Gtk.Label( "Diff" );
+            _this.btn_commit = this;
+            this.el = new Gtk.ToolButton(new Gtk.Image.from_icon_name ("gtk-save", Gtk.IconSize.SMALL_TOOLBAR), null);;
 
             // my vars (dec)
 
             // set gobject values
+            this.el.label = "Commit Changes";
+            this.el.is_important = true;
+
+            //listeners
+            this.el.button_press_event.connect( () => {
+               _this.repo.git({ "commit" , "-a" ,"-m", "Uncommited changes synced" });
+               _this.repo.push();
+               _this.repo.loadStatus();
+               
+                _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff);
+                _this.status_view.el.get_buffer().set_text(_this.repo.git_status);
+                
+               _this.el.hide();
+               Clones.singleton().reposStore.load();
+               
+                return false;
+            });
         }
 
         // user defined functions
     }
 
-    public class Xcls_Box6 : Object
+    public class Xcls_btn_reset : Object
     {
-        public Gtk.Box el;
+        public Gtk.ToolButton el;
         private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_Box6(RepoStatusPopover _owner )
+        public Xcls_btn_reset(RepoStatusPopover _owner )
         {
             _this = _owner;
-            this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
+            _this.btn_reset = this;
+            this.el = new Gtk.ToolButton(new Gtk.Image.from_icon_name ("gtk-revert-to-saved", Gtk.IconSize.SMALL_TOOLBAR), null);;
 
             // my vars (dec)
 
             // set gobject values
-            this.el.homogeneous = false;
-            var child_0 = new Xcls_ScrolledWindow7( _this );
-            child_0.ref();
-            this.el.pack_start (  child_0.el , true,true,0 );
+            this.el.label = "Reset / clear changes";
+            this.el.is_important = true;
+
+            //listeners
+            this.el.button_press_event.connect( () => {
+              
+               
+               GitMonitor.gitmonitor.stop();
+               _this.repo.git({ "reset" , "--hard" });
+               _this.repo.loadStatus();
+               GitMonitor.gitmonitor.start();
+                _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff);
+                _this.status_view.el.get_buffer().set_text(_this.repo.git_status);
+                Clones.singleton().reposStore.load();
+              
+               _this.el.hide();
+                return false;
+            });
         }
 
         // user defined functions
     }
-    public class Xcls_ScrolledWindow7 : Object
+
+    public class Xcls_btn_pull : Object
     {
-        public Gtk.ScrolledWindow el;
+        public Gtk.ToolButton el;
         private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_ScrolledWindow7(RepoStatusPopover _owner )
+        public Xcls_btn_pull(RepoStatusPopover _owner )
         {
             _this = _owner;
-            this.el = new Gtk.ScrolledWindow( null, null );
+            _this.btn_pull = this;
+            this.el = new Gtk.ToolButton(new Gtk.Image.from_icon_name ("gtk-goto-bottom", Gtk.IconSize.SMALL_TOOLBAR), null);;
 
             // my vars (dec)
 
             // set gobject values
-            var child_0 = new Xcls_status_view( _this );
-            child_0.ref();
-            this.el.add (  child_0.el  );
+            this.el.label = "Pull updates";
+            this.el.is_important = true;
+
+            //listeners
+            this.el.button_press_event.connect( () => {
+              
+               
+               GitMonitor.gitmonitor.stop();
+               _this.repo.git({ "pull" , "--all" });
+               _this.repo.loadStatus();
+               GitMonitor.gitmonitor.start();
+                _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff);
+                _this.status_view.el.get_buffer().set_text(_this.repo.git_status);
+                Clones.singleton().reposStore.load();
+              
+               _this.el.hide();
+                return false;
+            });
         }
 
         // user defined functions
     }
-    public class Xcls_status_view : Object
+
+
+
+    public class Xcls_Notebook9 : Object
     {
-        public Gtk.SourceView el;
+        public Gtk.Notebook el;
         private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_status_view(RepoStatusPopover _owner )
+        public Xcls_Notebook9(RepoStatusPopover _owner )
         {
             _this = _owner;
-            _this.status_view = this;
-            this.el = new Gtk.SourceView();
+            this.el = new Gtk.Notebook();
 
             // my vars (dec)
 
-            // init method
+            // 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 );
+            child_1.ref();
+            var child_2 = new Xcls_Box12( _this );
+            child_2.ref();
+            this.el.append_page (  child_2.el , _this.label_status.el );
+            var child_3 = new Xcls_Box15( _this );
+            child_3.ref();
+            this.el.append_page (  child_3.el , _this.label_diff.el );
+        }
 
-            var description =   Pango.FontDescription.from_string("monospace");
-                description.set_size(9000);
-                this.el.override_font(description);
+        // user defined functions
+    }
+    public class Xcls_label_status : Object
+    {
+        public Gtk.Label el;
+        private RepoStatusPopover  _this;
+
+
+            // my vars (def)
+
+        // ctor
+        public Xcls_label_status(RepoStatusPopover _owner )
+        {
+            _this = _owner;
+            _this.label_status = this;
+            this.el = new Gtk.Label( "Status" );
+
+            // my vars (dec)
+
+            // set gobject values
         }
 
         // user defined functions
     }
 
+    public class Xcls_label_diff : Object
+    {
+        public Gtk.Label el;
+        private RepoStatusPopover  _this;
+
+
+            // my vars (def)
+
+        // ctor
+        public Xcls_label_diff(RepoStatusPopover _owner )
+        {
+            _this = _owner;
+            _this.label_diff = this;
+            this.el = new Gtk.Label( "Diff" );
+
+            // my vars (dec)
 
+            // set gobject values
+        }
 
-    public class Xcls_Box9 : Object
+        // user defined functions
+    }
+
+    public class Xcls_Box12 : Object
     {
         public Gtk.Box el;
         private RepoStatusPopover  _this;
@@ -260,7 +430,7 @@ public class RepoStatusPopover : Object
             // my vars (def)
 
         // ctor
-        public Xcls_Box9(RepoStatusPopover _owner )
+        public Xcls_Box12(RepoStatusPopover _owner )
         {
             _this = _owner;
             this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
@@ -269,14 +439,14 @@ public class RepoStatusPopover : Object
 
             // set gobject values
             this.el.homogeneous = false;
-            var child_0 = new Xcls_ScrolledWindow10( _this );
+            var child_0 = new Xcls_ScrolledWindow13( _this );
             child_0.ref();
             this.el.pack_start (  child_0.el , true,true,0 );
         }
 
         // user defined functions
     }
-    public class Xcls_ScrolledWindow10 : Object
+    public class Xcls_ScrolledWindow13 : Object
     {
         public Gtk.ScrolledWindow el;
         private RepoStatusPopover  _this;
@@ -285,7 +455,7 @@ public class RepoStatusPopover : Object
             // my vars (def)
 
         // ctor
-        public Xcls_ScrolledWindow10(RepoStatusPopover _owner )
+        public Xcls_ScrolledWindow13(RepoStatusPopover _owner )
         {
             _this = _owner;
             this.el = new Gtk.ScrolledWindow( null, null );
@@ -293,15 +463,14 @@ public class RepoStatusPopover : Object
             // my vars (dec)
 
             // set gobject values
-            this.el.height_request = 400;
-            var child_0 = new Xcls_diff_view( _this );
+            var child_0 = new Xcls_status_view( _this );
             child_0.ref();
             this.el.add (  child_0.el  );
         }
 
         // user defined functions
     }
-    public class Xcls_diff_view : Object
+    public class Xcls_status_view : Object
     {
         public Gtk.SourceView el;
         private RepoStatusPopover  _this;
@@ -310,10 +479,10 @@ public class RepoStatusPopover : Object
             // my vars (def)
 
         // ctor
-        public Xcls_diff_view(RepoStatusPopover _owner )
+        public Xcls_status_view(RepoStatusPopover _owner )
         {
             _this = _owner;
-            _this.diff_view = this;
+            _this.status_view = this;
             this.el = new Gtk.SourceView();
 
             // my vars (dec)
@@ -330,8 +499,7 @@ public class RepoStatusPopover : Object
 
 
 
-
-    public class Xcls_Box12 : Object
+    public class Xcls_Box15 : Object
     {
         public Gtk.Box el;
         private RepoStatusPopover  _this;
@@ -340,223 +508,163 @@ public class RepoStatusPopover : Object
             // my vars (def)
 
         // ctor
-        public Xcls_Box12(RepoStatusPopover _owner )
+        public Xcls_Box15(RepoStatusPopover _owner )
         {
             _this = _owner;
-            this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
+            this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
 
             // my vars (dec)
 
             // set gobject values
-            this.el.homogeneous = true;
-            this.el.expand = false;
-            this.el.vexpand = false;
-            var child_0 = new Xcls_Button13( _this );
+            this.el.homogeneous = false;
+            var child_0 = new Xcls_ScrolledWindow16( _this );
             child_0.ref();
-            this.el.add (  child_0.el  );
-            var child_1 = new Xcls_Button14( _this );
-            child_1.ref();
-            this.el.add (  child_1.el  );
-            var child_2 = new Xcls_Button15( _this );
-            child_2.ref();
-            this.el.add (  child_2.el  );
-            var child_3 = new Xcls_Button16( _this );
-            child_3.ref();
-            this.el.add (  child_3.el  );
-            var child_4 = new Xcls_Button17( _this );
-            child_4.ref();
-            this.el.add (  child_4.el  );
-            var child_5 = new Xcls_Button18( _this );
-            child_5.ref();
-            this.el.add (  child_5.el  );
-            var child_6 = new Xcls_Button19( _this );
-            child_6.ref();
-            this.el.add (  child_6.el  );
+            this.el.pack_start (  child_0.el , true,true,0 );
         }
 
         // user defined functions
     }
-    public class Xcls_Button13 : Object
+    public class Xcls_ScrolledWindow16 : Object
     {
-        public Gtk.Button el;
+        public Gtk.ScrolledWindow el;
         private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_Button13(RepoStatusPopover _owner )
+        public Xcls_ScrolledWindow16(RepoStatusPopover _owner )
         {
             _this = _owner;
-            this.el = new Gtk.Button();
+            this.el = new Gtk.ScrolledWindow( null, null );
 
             // my vars (dec)
 
             // set gobject values
-            this.el.label = "Stash Changes";
-
-            //listeners
-            this.el.button_press_event.connect( () => {
-              
-               
-               GitMonitor.gitmonitor.stop();
-               _this.repo.git({ "stash" , "--all" });
-               _this.repo.loadStatus();
-               GitMonitor.gitmonitor.start();
-                _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff);
-                _this.status_view.el.get_buffer().set_text(_this.repo.git_status);
-                Clones.singleton().reposStore.load();
-              
-               _this.el.hide();
-                return false;
-            });
+            this.el.height_request = 400;
+            var child_0 = new Xcls_diff_view( _this );
+            child_0.ref();
+            this.el.add (  child_0.el  );
         }
 
         // user defined functions
     }
-
-    public class Xcls_Button14 : Object
+    public class Xcls_diff_view : Object
     {
-        public Gtk.Button el;
+        public Gtk.SourceView el;
         private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_Button14(RepoStatusPopover _owner )
+        public Xcls_diff_view(RepoStatusPopover _owner )
         {
             _this = _owner;
-            this.el = new Gtk.Button();
+            _this.diff_view = this;
+            this.el = new Gtk.SourceView();
 
             // my vars (dec)
 
-            // set gobject values
-            this.el.label = "Commit Changes";
+            // init method
 
-            //listeners
-            this.el.button_press_event.connect( () => {
-               _this.repo.git({ "commit" , "-a" ,"-m", "Uncommited changes synced" });
-               _this.repo.push();
-               _this.repo.loadStatus();
-               
-                _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff);
-                _this.status_view.el.get_buffer().set_text(_this.repo.git_status);
-                
-               _this.el.hide();
-               Clones.singleton().reposStore.load();
-               
-                return false;
-            });
+            var description =   Pango.FontDescription.from_string("monospace");
+                description.set_size(9000);
+                this.el.override_font(description);
         }
 
         // user defined functions
     }
 
-    public class Xcls_Button15 : Object
+
+
+
+    public class Xcls_Box18 : Object
     {
-        public Gtk.Button el;
+        public Gtk.Box el;
         private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_Button15(RepoStatusPopover _owner )
+        public Xcls_Box18(RepoStatusPopover _owner )
         {
             _this = _owner;
-            this.el = new Gtk.Button();
+            this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
 
             // my vars (dec)
 
             // set gobject values
-            this.el.label = "Create Branch";
-
-            //listeners
-            this.el.button_press_event.connect( () => {
-               var oldq = new Gee.ArrayList<GitMonitorQueue>();  
-            
-               Clones.singleton().el.response(-1);
-               NewBranch.singleton().show(_this.repo, oldq);
-            
-                return false;
-            });
+            this.el.homogeneous = true;
+            this.el.expand = false;
+            this.el.vexpand = false;
+            var child_0 = new Xcls_Toolbar19( _this );
+            child_0.ref();
+            this.el.add (  child_0.el  );
         }
 
         // user defined functions
     }
-
-    public class Xcls_Button16 : Object
+    public class Xcls_Toolbar19 : Object
     {
-        public Gtk.Button el;
+        public Gtk.Toolbar el;
         private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_Button16(RepoStatusPopover _owner )
+        public Xcls_Toolbar19(RepoStatusPopover _owner )
         {
             _this = _owner;
-            this.el = new Gtk.Button();
+            this.el = new Gtk.Toolbar();
 
             // my vars (dec)
 
             // set gobject values
-            this.el.label = "Reset to remote";
-
-            //listeners
-            this.el.button_press_event.connect( () => {
-              
-               
-               GitMonitor.gitmonitor.stop();
-               _this.repo.git({ "reset" , "--hard" });
-               _this.repo.loadStatus();
-               GitMonitor.gitmonitor.start();
-                _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff);
-                _this.status_view.el.get_buffer().set_text(_this.repo.git_status);
-                Clones.singleton().reposStore.load();
-              
-               _this.el.hide();
-                return false;
-            });
+            this.el.toolbar_style = Gtk.ToolbarStyle.BOTH_HORIZ;
+            var child_0 = new Xcls_btn_create( _this );
+            child_0.ref();
+            this.el.add (  child_0.el  );
+            var child_1 = new Xcls_btn_merge( _this );
+            child_1.ref();
+            this.el.add (  child_1.el  );
+            var child_2 = new Xcls_ToolButton22( _this );
+            child_2.ref();
+            this.el.add (  child_2.el  );
         }
 
         // user defined functions
     }
-
-    public class Xcls_Button17 : Object
+    public class Xcls_btn_create : Object
     {
-        public Gtk.Button el;
+        public Gtk.ToolButton el;
         private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_Button17(RepoStatusPopover _owner )
+        public Xcls_btn_create(RepoStatusPopover _owner )
         {
             _this = _owner;
-            this.el = new Gtk.Button();
+            _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)
 
             // set gobject values
-            this.el.label = "Pull updates";
+            this.el.label = "Create Branch / Start ticket";
+            this.el.is_important = true;
 
             //listeners
             this.el.button_press_event.connect( () => {
-              
-               
-               GitMonitor.gitmonitor.stop();
-               _this.repo.git({ "pull" , "--all" });
-               _this.repo.loadStatus();
-               GitMonitor.gitmonitor.start();
-                _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff);
-                _this.status_view.el.get_buffer().set_text(_this.repo.git_status);
-                Clones.singleton().reposStore.load();
-              
-               _this.el.hide();
+               var oldq = new Gee.ArrayList<GitMonitorQueue>();  
+            
+               Clones.singleton().el.response(-1);
+               NewBranch.singleton().show(_this.repo, oldq);
+            
                 return false;
             });
         }
@@ -564,69 +672,68 @@ public class RepoStatusPopover : Object
         // user defined functions
     }
 
-    public class Xcls_Button18 : Object
+    public class Xcls_btn_merge : Object
     {
-        public Gtk.Button el;
+        public Gtk.ToolButton el;
         private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_Button18(RepoStatusPopover _owner )
+        public Xcls_btn_merge(RepoStatusPopover _owner )
         {
             _this = _owner;
-            this.el = new Gtk.Button();
+            _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 to master";
+            this.el.label = "Merge branch /  Complete ticket";
+            this.el.is_important = true;
 
             //listeners
-            this.el.button_press_event.connect( () => {
-               _this.repo.git({ "commit" , "-a" ,"-m", "Uncommited changes synced" });
-               _this.repo.push();
-               _this.repo.loadStatus();
-               
-                _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff);
-                _this.status_view.el.get_buffer().set_text(_this.repo.git_status);
-                
+            this.el.clicked.connect( () => {
+            
                _this.el.hide();
-               Clones.singleton().reposStore.load();
-               
-                return false;
+               Clones.singleton().el.response(-1);
+               if (_this.repo.activeTicket != null) {
+                  MergeBranch.singleton().show(_this.repo.activeTicket, null);   
+               }
+                return ;
             });
         }
 
         // user defined functions
     }
 
-    public class Xcls_Button19 : Object
+    public class Xcls_ToolButton22 : Object
     {
-        public Gtk.Button el;
+        public Gtk.ToolButton el;
         private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_Button19(RepoStatusPopover _owner )
+        public Xcls_ToolButton22(RepoStatusPopover _owner )
         {
             _this = _owner;
-            this.el = new Gtk.Button();
+            this.el = new Gtk.ToolButton(new Gtk.Image.from_icon_name ("gtk-new", Gtk.IconSize.SMALL_TOOLBAR), null);;
 
             // my vars (dec)
 
             // set gobject values
             this.el.label = "Create Ticket";
+            this.el.is_important = true;
 
             //listeners
             this.el.button_press_event.connect( () => {
               
             
             
-                Clones.singleton().el.hide();
+                  Clones.singleton().el.response(-1);
               
                _this.el.hide();
                Ticket.singleton().show( _this.repo);
@@ -640,4 +747,5 @@ public class RepoStatusPopover : Object
 
 
 
+
 }