NewBranch.bjs
[gitlive] / RepoStatusPopover.vala
index 678252a..d9e384e 100644 (file)
@@ -1,14 +1,14 @@
-static Xcls_RepoStatusPopover  _RepoStatusPopover;
+static RepoStatusPopover  _RepoStatusPopover;
 
-public class Xcls_RepoStatusPopover : Object
+public class RepoStatusPopover : Object
 {
     public Gtk.Popover el;
-    private Xcls_RepoStatusPopover  _this;
+    private RepoStatusPopover  _this;
 
-    public static Xcls_RepoStatusPopover singleton()
+    public static RepoStatusPopover singleton()
     {
         if (_RepoStatusPopover == null) {
-            _RepoStatusPopover= new Xcls_RepoStatusPopover();
+            _RepoStatusPopover= new RepoStatusPopover();
         }
         return _RepoStatusPopover;
     }
@@ -21,7 +21,7 @@ public class Xcls_RepoStatusPopover : Object
     public GitRepo repo;
 
     // ctor
-    public Xcls_RepoStatusPopover()
+    public RepoStatusPopover()
     {
         _this = this;
         this.el = new Gtk.Popover( null );
@@ -38,7 +38,7 @@ public class Xcls_RepoStatusPopover : Object
     }
 
     // user defined functions
-    public void show (Gtk.Widget btn, GitRepo repo) {
+    public void show (Gtk.Widget btn, Gdk.Rectangle rect, GitRepo repo) {
         _this.repo = repo;
         // get the active project.
          var lm = Gtk.SourceLanguageManager.get_default();
@@ -49,34 +49,34 @@ public class Xcls_RepoStatusPopover : Object
       
         //print (project.fn);
         //project.runhtml = project.runhtml || '';
-        _this.diff_view.el.get_buffer().set_text("diff goes here");
-        
-          
-          
+        _this.diff_view.el.get_buffer().set_text(repo.git_diff);
+        _this.status_view.el.get_buffer().set_text(repo.git_status);
+           
                //console.log('show all');
        this.el.set_modal(true);
        this.el.set_relative_to(btn);
-    
+        this.el.set_pointing_to(rect);
+      
        //this.el.set_position(Gtk.PositionType.RIGHT);
     
        // window + header?
-        print("SHOWALL - POPIP\n");
+        GLib.debug("SHOWALL - POPIP\n");
        this.el.show_all();
-       this.el.set_size_request(800,500);
-       this.view.el.grab_focus();
+       //this.el.set_size_request(800,500);
+    // this.diff_view.el.grab_focus();
        
         //this.el.show_all();
     }
     public class Xcls_Box2 : Object
     {
         public Gtk.Box el;
-        private Xcls_RepoStatusPopover  _this;
+        private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_Box2(Xcls_RepoStatusPopover _owner )
+        public Xcls_Box2(RepoStatusPopover _owner )
         {
             _this = _owner;
             this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
@@ -99,13 +99,13 @@ public class Xcls_RepoStatusPopover : Object
     public class Xcls_Notebook3 : Object
     {
         public Gtk.Notebook el;
-        private Xcls_RepoStatusPopover  _this;
+        private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_Notebook3(Xcls_RepoStatusPopover _owner )
+        public Xcls_Notebook3(RepoStatusPopover _owner )
         {
             _this = _owner;
             this.el = new Gtk.Notebook();
@@ -130,13 +130,13 @@ public class Xcls_RepoStatusPopover : Object
     public class Xcls_label_status : Object
     {
         public Gtk.Label el;
-        private Xcls_RepoStatusPopover  _this;
+        private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_label_status(Xcls_RepoStatusPopover _owner )
+        public Xcls_label_status(RepoStatusPopover _owner )
         {
             _this = _owner;
             _this.label_status = this;
@@ -153,13 +153,13 @@ public class Xcls_RepoStatusPopover : Object
     public class Xcls_label_diff : Object
     {
         public Gtk.Label el;
-        private Xcls_RepoStatusPopover  _this;
+        private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_label_diff(Xcls_RepoStatusPopover _owner )
+        public Xcls_label_diff(RepoStatusPopover _owner )
         {
             _this = _owner;
             _this.label_diff = this;
@@ -176,13 +176,13 @@ public class Xcls_RepoStatusPopover : Object
     public class Xcls_Box6 : Object
     {
         public Gtk.Box el;
-        private Xcls_RepoStatusPopover  _this;
+        private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_Box6(Xcls_RepoStatusPopover _owner )
+        public Xcls_Box6(RepoStatusPopover _owner )
         {
             _this = _owner;
             this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
@@ -201,13 +201,13 @@ public class Xcls_RepoStatusPopover : Object
     public class Xcls_ScrolledWindow7 : Object
     {
         public Gtk.ScrolledWindow el;
-        private Xcls_RepoStatusPopover  _this;
+        private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_ScrolledWindow7(Xcls_RepoStatusPopover _owner )
+        public Xcls_ScrolledWindow7(RepoStatusPopover _owner )
         {
             _this = _owner;
             this.el = new Gtk.ScrolledWindow( null, null );
@@ -225,13 +225,13 @@ public class Xcls_RepoStatusPopover : Object
     public class Xcls_status_view : Object
     {
         public Gtk.SourceView el;
-        private Xcls_RepoStatusPopover  _this;
+        private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_status_view(Xcls_RepoStatusPopover _owner )
+        public Xcls_status_view(RepoStatusPopover _owner )
         {
             _this = _owner;
             _this.status_view = this;
@@ -254,13 +254,13 @@ public class Xcls_RepoStatusPopover : Object
     public class Xcls_Box9 : Object
     {
         public Gtk.Box el;
-        private Xcls_RepoStatusPopover  _this;
+        private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_Box9(Xcls_RepoStatusPopover _owner )
+        public Xcls_Box9(RepoStatusPopover _owner )
         {
             _this = _owner;
             this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
@@ -279,13 +279,13 @@ public class Xcls_RepoStatusPopover : Object
     public class Xcls_ScrolledWindow10 : Object
     {
         public Gtk.ScrolledWindow el;
-        private Xcls_RepoStatusPopover  _this;
+        private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_ScrolledWindow10(Xcls_RepoStatusPopover _owner )
+        public Xcls_ScrolledWindow10(RepoStatusPopover _owner )
         {
             _this = _owner;
             this.el = new Gtk.ScrolledWindow( null, null );
@@ -293,6 +293,7 @@ public class Xcls_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  );
@@ -303,13 +304,13 @@ public class Xcls_RepoStatusPopover : Object
     public class Xcls_diff_view : Object
     {
         public Gtk.SourceView el;
-        private Xcls_RepoStatusPopover  _this;
+        private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_diff_view(Xcls_RepoStatusPopover _owner )
+        public Xcls_diff_view(RepoStatusPopover _owner )
         {
             _this = _owner;
             _this.diff_view = this;
@@ -333,13 +334,13 @@ public class Xcls_RepoStatusPopover : Object
     public class Xcls_Box12 : Object
     {
         public Gtk.Box el;
-        private Xcls_RepoStatusPopover  _this;
+        private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_Box12(Xcls_RepoStatusPopover _owner )
+        public Xcls_Box12(RepoStatusPopover _owner )
         {
             _this = _owner;
             this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
@@ -359,6 +360,9 @@ public class Xcls_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  );
         }
 
         // user defined functions
@@ -366,13 +370,13 @@ public class Xcls_RepoStatusPopover : Object
     public class Xcls_Button13 : Object
     {
         public Gtk.Button el;
-        private Xcls_RepoStatusPopover  _this;
+        private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_Button13(Xcls_RepoStatusPopover _owner )
+        public Xcls_Button13(RepoStatusPopover _owner )
         {
             _this = _owner;
             this.el = new Gtk.Button();
@@ -384,8 +388,18 @@ public class Xcls_RepoStatusPopover : Object
 
             //listeners
             this.el.button_press_event.connect( () => {
-                    _this.el.hide();
-                    return false;
+              
+               
+               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;
             });
         }
 
@@ -395,13 +409,13 @@ public class Xcls_RepoStatusPopover : Object
     public class Xcls_Button14 : Object
     {
         public Gtk.Button el;
-        private Xcls_RepoStatusPopover  _this;
+        private RepoStatusPopover  _this;
 
 
             // my vars (def)
 
         // ctor
-        public Xcls_Button14(Xcls_RepoStatusPopover _owner )
+        public Xcls_Button14(RepoStatusPopover _owner )
         {
             _this = _owner;
             this.el = new Gtk.Button();
@@ -413,8 +427,17 @@ public class Xcls_RepoStatusPopover : Object
 
             //listeners
             this.el.button_press_event.connect( () => {
-                     _this.el.hide();
-                    return false;
+               _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;
             });
         }
 
@@ -424,13 +447,46 @@ public class Xcls_RepoStatusPopover : Object
     public class Xcls_Button15 : Object
     {
         public Gtk.Button el;
-        private Xcls_RepoStatusPopover  _this;
+        private RepoStatusPopover  _this;
+
+
+            // my vars (def)
+
+        // ctor
+        public Xcls_Button15(RepoStatusPopover _owner )
+        {
+            _this = _owner;
+            this.el = new Gtk.Button();
+
+            // my vars (dec)
+
+            // set gobject values
+            this.el.label = "Create Branch";
+
+            //listeners
+            this.el.button_press_event.connect( () => {
+               var oldq = new Gee.ArrayList<GitMonitorQueue>();  
+               _this.el.hide();
+               Clones.singleton().el.hide();
+               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_Button15(Xcls_RepoStatusPopover _owner )
+        public Xcls_Button16(RepoStatusPopover _owner )
         {
             _this = _owner;
             this.el = new Gtk.Button();
@@ -438,7 +494,7 @@ public class Xcls_RepoStatusPopover : Object
             // my vars (dec)
 
             // set gobject values
-            this.el.label = "Ignore or now";
+            this.el.label = "Ignore for now";
 
             //listeners
             this.el.button_press_event.connect( () => {