RepoStatusPopover.bjs
[gitlive] / RepoStatusPopover.vala
index 136505c..461c40e 100644 (file)
@@ -62,7 +62,7 @@ public class RepoStatusPopover : Object
        // window + header?
         GLib.debug("SHOWALL - POPIP\n");
        this.el.show_all();
-       this.el.set_size_request(800,500);
+       //this.el.set_size_request(800,500);
     // this.diff_view.el.grab_focus();
        
         //this.el.show_all();
@@ -293,6 +293,7 @@ public class RepoStatusPopover : Object
             // my vars (dec)
 
             // set gobject values
+            this.el.height_request = 400;
             var child_0 = new Xcls_diff_view( _this );
             child_0.ref();
             this.el.add (  child_0.el  );
@@ -359,6 +360,18 @@ public class RepoStatusPopover : Object
             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  );
         }
 
         // user defined functions
@@ -384,9 +397,12 @@ public class RepoStatusPopover : Object
 
             //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();
@@ -454,12 +470,164 @@ public class RepoStatusPopover : Object
             // my vars (dec)
 
             // set gobject values
-            this.el.label = "Ignore for now";
+            this.el.label = "Create Branch / Start ticket";
+
+            //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_Button16 : Object
+    {
+        public Gtk.Button el;
+        private RepoStatusPopover  _this;
+
+
+            // my vars (def)
+
+        // ctor
+        public Xcls_Button16(RepoStatusPopover _owner )
+        {
+            _this = _owner;
+            this.el = new Gtk.Button();
+
+            // 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;
+            });
+        }
+
+        // user defined functions
+    }
+
+    public class Xcls_Button17 : Object
+    {
+        public Gtk.Button el;
+        private RepoStatusPopover  _this;
+
+
+            // my vars (def)
+
+        // ctor
+        public Xcls_Button17(RepoStatusPopover _owner )
+        {
+            _this = _owner;
+            this.el = new Gtk.Button();
+
+            // my vars (dec)
+
+            // set gobject values
+            this.el.label = "Pull updates";
+
+            //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_Button18 : Object
+    {
+        public Gtk.Button el;
+        private RepoStatusPopover  _this;
+
+
+            // my vars (def)
+
+        // ctor
+        public Xcls_Button18(RepoStatusPopover _owner )
+        {
+            _this = _owner;
+            this.el = new Gtk.Button();
+
+            // my vars (dec)
+
+            // set gobject values
+            this.el.label = "Merge branch/  ticket";
 
             //listeners
             this.el.button_press_event.connect( () => {
-                   _this.el.hide();
-                    return false;
+            
+               _this.el.hide();
+               Clones.singleton().el.response(-1);
+               if (_this.repos.activeTicket != null) {
+                  MergeBranch.singleton().show(this.repo.activeTicket, null);   
+               }
+                return false;
+            });
+        }
+
+        // user defined functions
+    }
+
+    public class Xcls_Button19 : Object
+    {
+        public Gtk.Button el;
+        private RepoStatusPopover  _this;
+
+
+            // my vars (def)
+
+        // ctor
+        public Xcls_Button19(RepoStatusPopover _owner )
+        {
+            _this = _owner;
+            this.el = new Gtk.Button();
+
+            // my vars (dec)
+
+            // set gobject values
+            this.el.label = "Create Ticket";
+
+            //listeners
+            this.el.button_press_event.connect( () => {
+              
+            
+            
+                Clones.singleton().el.hide();
+              
+               _this.el.hide();
+               Ticket.singleton().show( _this.repo);
+               
+                return false;
             });
         }