RepoStatusPopover.bjs
[gitlive] / RepoStatusPopover.vala
index b6f4f0d..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();
@@ -88,11 +106,11 @@ 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 );
-            var child_1 = new Xcls_Notebook12( _this );
+            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 );
-            var child_2 = new Xcls_Box21( _this );
+            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 );
         }
@@ -144,32 +162,23 @@ public class RepoStatusPopover : Object
 
             // set gobject values
             this.el.toolbar_style = Gtk.ToolbarStyle.BOTH_HORIZ;
-            var child_0 = new Xcls_ToolButton5( _this );
+            var child_0 = new Xcls_btn_stash( _this );
             child_0.ref();
             this.el.add (  child_0.el  );
-            var child_1 = new Xcls_ToolButton6( _this );
+            var child_1 = new Xcls_btn_commit( _this );
             child_1.ref();
             this.el.add (  child_1.el  );
-            var child_2 = new Xcls_ToolButton7( _this );
+            var child_2 = new Xcls_btn_reset( _this );
             child_2.ref();
             this.el.add (  child_2.el  );
-            var child_3 = new Xcls_ToolButton8( _this );
+            var child_3 = new Xcls_btn_pull( _this );
             child_3.ref();
             this.el.add (  child_3.el  );
-            var child_4 = new Xcls_ToolButton9( _this );
-            child_4.ref();
-            this.el.add (  child_4.el  );
-            var child_5 = new Xcls_ToolButton10( _this );
-            child_5.ref();
-            this.el.add (  child_5.el  );
-            var child_6 = new Xcls_ToolButton11( _this );
-            child_6.ref();
-            this.el.add (  child_6.el  );
         }
 
         // user defined functions
     }
-    public class Xcls_ToolButton5 : Object
+    public class Xcls_btn_stash : Object
     {
         public Gtk.ToolButton el;
         private RepoStatusPopover  _this;
@@ -178,9 +187,10 @@ public class RepoStatusPopover : Object
             // my vars (def)
 
         // ctor
-        public Xcls_ToolButton5(RepoStatusPopover _owner )
+        public Xcls_btn_stash(RepoStatusPopover _owner )
         {
             _this = _owner;
+            _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)
@@ -209,7 +219,7 @@ public class RepoStatusPopover : Object
         // user defined functions
     }
 
-    public class Xcls_ToolButton6 : Object
+    public class Xcls_btn_commit : Object
     {
         public Gtk.ToolButton el;
         private RepoStatusPopover  _this;
@@ -218,9 +228,10 @@ public class RepoStatusPopover : Object
             // my vars (def)
 
         // ctor
-        public Xcls_ToolButton6(RepoStatusPopover _owner )
+        public Xcls_btn_commit(RepoStatusPopover _owner )
         {
             _this = _owner;
+            _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)
@@ -248,41 +259,7 @@ public class RepoStatusPopover : Object
         // user defined functions
     }
 
-    public class Xcls_ToolButton7 : Object
-    {
-        public Gtk.ToolButton el;
-        private RepoStatusPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_ToolButton7(RepoStatusPopover _owner )
-        {
-            _this = _owner;
-            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 = "Create Branch / Start ticket";
-            this.el.is_important = true;
-
-            //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;
-            });
-        }
-
-        // user defined functions
-    }
-
-    public class Xcls_ToolButton8 : Object
+    public class Xcls_btn_reset : Object
     {
         public Gtk.ToolButton el;
         private RepoStatusPopover  _this;
@@ -291,9 +268,10 @@ public class RepoStatusPopover : Object
             // my vars (def)
 
         // ctor
-        public Xcls_ToolButton8(RepoStatusPopover _owner )
+        public Xcls_btn_reset(RepoStatusPopover _owner )
         {
             _this = _owner;
+            _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)
@@ -322,7 +300,7 @@ public class RepoStatusPopover : Object
         // user defined functions
     }
 
-    public class Xcls_ToolButton9 : Object
+    public class Xcls_btn_pull : Object
     {
         public Gtk.ToolButton el;
         private RepoStatusPopover  _this;
@@ -331,9 +309,10 @@ public class RepoStatusPopover : Object
             // my vars (def)
 
         // ctor
-        public Xcls_ToolButton9(RepoStatusPopover _owner )
+        public Xcls_btn_pull(RepoStatusPopover _owner )
         {
             _this = _owner;
+            _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)
@@ -362,81 +341,9 @@ public class RepoStatusPopover : Object
         // user defined functions
     }
 
-    public class Xcls_ToolButton10 : Object
-    {
-        public Gtk.ToolButton el;
-        private RepoStatusPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_ToolButton10(RepoStatusPopover _owner )
-        {
-            _this = _owner;
-            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.is_important = true;
-
-            //listeners
-            this.el.button_press_event.connect( () => {
-            
-               _this.el.hide();
-               Clones.singleton().el.response(-1);
-               if (_this.repo.activeTicket != null) {
-                  MergeBranch.singleton().show(_this.repo.activeTicket, null);   
-               }
-                return false;
-            });
-        }
-
-        // user defined functions
-    }
-
-    public class Xcls_ToolButton11 : Object
-    {
-        public Gtk.ToolButton el;
-        private RepoStatusPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_ToolButton11(RepoStatusPopover _owner )
-        {
-            _this = _owner;
-            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.response(-1);
-              
-               _this.el.hide();
-               Ticket.singleton().show( _this.repo);
-               
-                return false;
-            });
-        }
-
-        // user defined functions
-    }
-
 
 
-    public class Xcls_Notebook12 : Object
+    public class Xcls_Notebook9 : Object
     {
         public Gtk.Notebook el;
         private RepoStatusPopover  _this;
@@ -445,7 +352,7 @@ public class RepoStatusPopover : Object
             // my vars (def)
 
         // ctor
-        public Xcls_Notebook12(RepoStatusPopover _owner )
+        public Xcls_Notebook9(RepoStatusPopover _owner )
         {
             _this = _owner;
             this.el = new Gtk.Notebook();
@@ -453,14 +360,15 @@ 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 );
             child_1.ref();
-            var child_2 = new Xcls_Box15( _this );
+            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_Box18( _this );
+            var child_3 = new Xcls_Box15( _this );
             child_3.ref();
             this.el.append_page (  child_3.el , _this.label_diff.el );
         }
@@ -513,7 +421,7 @@ public class RepoStatusPopover : Object
         // user defined functions
     }
 
-    public class Xcls_Box15 : Object
+    public class Xcls_Box12 : Object
     {
         public Gtk.Box el;
         private RepoStatusPopover  _this;
@@ -522,7 +430,7 @@ public class RepoStatusPopover : Object
             // my vars (def)
 
         // ctor
-        public Xcls_Box15(RepoStatusPopover _owner )
+        public Xcls_Box12(RepoStatusPopover _owner )
         {
             _this = _owner;
             this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
@@ -531,14 +439,14 @@ public class RepoStatusPopover : Object
 
             // set gobject values
             this.el.homogeneous = false;
-            var child_0 = new Xcls_ScrolledWindow16( _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_ScrolledWindow16 : Object
+    public class Xcls_ScrolledWindow13 : Object
     {
         public Gtk.ScrolledWindow el;
         private RepoStatusPopover  _this;
@@ -547,7 +455,7 @@ public class RepoStatusPopover : Object
             // my vars (def)
 
         // ctor
-        public Xcls_ScrolledWindow16(RepoStatusPopover _owner )
+        public Xcls_ScrolledWindow13(RepoStatusPopover _owner )
         {
             _this = _owner;
             this.el = new Gtk.ScrolledWindow( null, null );
@@ -591,7 +499,7 @@ public class RepoStatusPopover : Object
 
 
 
-    public class Xcls_Box18 : Object
+    public class Xcls_Box15 : Object
     {
         public Gtk.Box el;
         private RepoStatusPopover  _this;
@@ -600,7 +508,7 @@ public class RepoStatusPopover : Object
             // my vars (def)
 
         // ctor
-        public Xcls_Box18(RepoStatusPopover _owner )
+        public Xcls_Box15(RepoStatusPopover _owner )
         {
             _this = _owner;
             this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
@@ -609,14 +517,14 @@ public class RepoStatusPopover : Object
 
             // set gobject values
             this.el.homogeneous = false;
-            var child_0 = new Xcls_ScrolledWindow19( _this );
+            var child_0 = new Xcls_ScrolledWindow16( _this );
             child_0.ref();
             this.el.pack_start (  child_0.el , true,true,0 );
         }
 
         // user defined functions
     }
-    public class Xcls_ScrolledWindow19 : Object
+    public class Xcls_ScrolledWindow16 : Object
     {
         public Gtk.ScrolledWindow el;
         private RepoStatusPopover  _this;
@@ -625,7 +533,7 @@ public class RepoStatusPopover : Object
             // my vars (def)
 
         // ctor
-        public Xcls_ScrolledWindow19(RepoStatusPopover _owner )
+        public Xcls_ScrolledWindow16(RepoStatusPopover _owner )
         {
             _this = _owner;
             this.el = new Gtk.ScrolledWindow( null, null );
@@ -671,7 +579,7 @@ public class RepoStatusPopover : Object
 
 
 
-    public class Xcls_Box21 : Object
+    public class Xcls_Box18 : Object
     {
         public Gtk.Box el;
         private RepoStatusPopover  _this;
@@ -680,7 +588,7 @@ public class RepoStatusPopover : Object
             // my vars (def)
 
         // ctor
-        public Xcls_Box21(RepoStatusPopover _owner )
+        public Xcls_Box18(RepoStatusPopover _owner )
         {
             _this = _owner;
             this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
@@ -691,14 +599,14 @@ public class RepoStatusPopover : Object
             this.el.homogeneous = true;
             this.el.expand = false;
             this.el.vexpand = false;
-            var child_0 = new Xcls_Toolbar22( _this );
+            var child_0 = new Xcls_Toolbar19( _this );
             child_0.ref();
             this.el.add (  child_0.el  );
         }
 
         // user defined functions
     }
-    public class Xcls_Toolbar22 : Object
+    public class Xcls_Toolbar19 : Object
     {
         public Gtk.Toolbar el;
         private RepoStatusPopover  _this;
@@ -707,7 +615,7 @@ public class RepoStatusPopover : Object
             // my vars (def)
 
         // ctor
-        public Xcls_Toolbar22(RepoStatusPopover _owner )
+        public Xcls_Toolbar19(RepoStatusPopover _owner )
         {
             _this = _owner;
             this.el = new Gtk.Toolbar();
@@ -716,32 +624,20 @@ public class RepoStatusPopover : Object
 
             // set gobject values
             this.el.toolbar_style = Gtk.ToolbarStyle.BOTH_HORIZ;
-            var child_0 = new Xcls_ToolButton23( _this );
+            var child_0 = new Xcls_btn_create( _this );
             child_0.ref();
             this.el.add (  child_0.el  );
-            var child_1 = new Xcls_ToolButton24( _this );
+            var child_1 = new Xcls_btn_merge( _this );
             child_1.ref();
             this.el.add (  child_1.el  );
-            var child_2 = new Xcls_ToolButton25( _this );
+            var child_2 = new Xcls_ToolButton22( _this );
             child_2.ref();
             this.el.add (  child_2.el  );
-            var child_3 = new Xcls_ToolButton26( _this );
-            child_3.ref();
-            this.el.add (  child_3.el  );
-            var child_4 = new Xcls_ToolButton27( _this );
-            child_4.ref();
-            this.el.add (  child_4.el  );
-            var child_5 = new Xcls_ToolButton28( _this );
-            child_5.ref();
-            this.el.add (  child_5.el  );
-            var child_6 = new Xcls_ToolButton29( _this );
-            child_6.ref();
-            this.el.add (  child_6.el  );
         }
 
         // user defined functions
     }
-    public class Xcls_ToolButton23 : Object
+    public class Xcls_btn_create : Object
     {
         public Gtk.ToolButton el;
         private RepoStatusPopover  _this;
@@ -750,88 +646,10 @@ public class RepoStatusPopover : Object
             // my vars (def)
 
         // ctor
-        public Xcls_ToolButton23(RepoStatusPopover _owner )
-        {
-            _this = _owner;
-            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_ToolButton24 : Object
-    {
-        public Gtk.ToolButton el;
-        private RepoStatusPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_ToolButton24(RepoStatusPopover _owner )
-        {
-            _this = _owner;
-            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_ToolButton25 : Object
-    {
-        public Gtk.ToolButton el;
-        private RepoStatusPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_ToolButton25(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)
@@ -854,7 +672,7 @@ public class RepoStatusPopover : Object
         // user defined functions
     }
 
-    public class Xcls_ToolButton26 : Object
+    public class Xcls_btn_merge : Object
     {
         public Gtk.ToolButton el;
         private RepoStatusPopover  _this;
@@ -863,113 +681,34 @@ public class RepoStatusPopover : Object
             // my vars (def)
 
         // ctor
-        public Xcls_ToolButton26(RepoStatusPopover _owner )
-        {
-            _this = _owner;
-            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.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_ToolButton27 : Object
-    {
-        public Gtk.ToolButton el;
-        private RepoStatusPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_ToolButton27(RepoStatusPopover _owner )
-        {
-            _this = _owner;
-            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
-            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_ToolButton28 : Object
-    {
-        public Gtk.ToolButton el;
-        private RepoStatusPopover  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_ToolButton28(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 ;
             });
         }
 
         // user defined functions
     }
 
-    public class Xcls_ToolButton29 : Object
+    public class Xcls_ToolButton22 : Object
     {
         public Gtk.ToolButton el;
         private RepoStatusPopover  _this;
@@ -978,7 +717,7 @@ public class RepoStatusPopover : Object
             // my vars (def)
 
         // ctor
-        public Xcls_ToolButton29(RepoStatusPopover _owner )
+        public Xcls_ToolButton22(RepoStatusPopover _owner )
         {
             _this = _owner;
             this.el = new Gtk.ToolButton(new Gtk.Image.from_icon_name ("gtk-new", Gtk.IconSize.SMALL_TOOLBAR), null);;