Fix #5632 - cache project listing
[gitlive] / MergeBranch.vala
index 5641695..5eec338 100644 (file)
@@ -12,6 +12,7 @@ public class MergeBranch : Object
         }
         return _MergeBranch;
     }
+    public Xcls_table table;
     public Xcls_actionsel actionsel;
     public Xcls_actioncellrenderer actioncellrenderer;
     public Xcls_actionmodel actionmodel;
@@ -21,6 +22,7 @@ public class MergeBranch : Object
     public Xcls_name name;
     public Xcls_scrolled_window scrolled_window;
     public Xcls_view view;
+    public Xcls_spinner spinner;
 
         // my vars (def)
     public GitRepo repo;
@@ -46,10 +48,10 @@ public class MergeBranch : Object
         var child_0 = new Xcls_Box2( _this );
         child_0.ref();
         this.el.get_content_area().add (  child_0.el  );
-        var child_1 = new Xcls_Button16( _this );
+        var child_1 = new Xcls_Button17( _this );
         child_1.ref();
         this.el.add_action_widget (  child_1.el , 0 );
-        var child_2 = new Xcls_Button17( _this );
+        var child_2 = new Xcls_Button18( _this );
         child_2.ref();
         this.el.add_action_widget (  child_2.el , 1 );
 
@@ -110,11 +112,6 @@ public class MergeBranch : Object
         
                 
         });
-        this.el.show.connect( (self)  => {
-         
-        
-          //test
-        });
     }
 
     // user defined functions
@@ -126,18 +123,38 @@ public class MergeBranch : Object
        }
        GitMonitor.gitmonitor.stop();
        
-        this.ticket = ticket;
-        this.repo = repo;
-        
+       _this.el.show_all();
+       
+       _this.table.el.hide();
+       _this.scrolled_window.el.hide();
+       _this.spinner.el.show();
+       _this.spinner.el.start();       
+       this.el.set_keep_above(true);    
        this.el.move((Gdk.Screen.width() / 2)- 250 ,0);
                GLib.debug("Loading tickets"); 
     
     
-        this.el.show_all();
-       _this.dbmodel.loadTickets();
-       _this.actionmodel.loadActions();
-       _this.view.loadTicket(ticket.id);
+       
+       
+        this.ticket = ticket;
+        this.repo = repo;
+        
+       
+       Timeout.add_seconds(1, () => {
+               
+               // if we are not working on a ticket, then we should be able to pick one?
+               _this.dbmodel.loadTickets();
+               _this.actionmodel.loadActions();
+               _this.view.loadTicket(ticket.id);
+               _this.spinner.el.stop();
+               _this.spinner.el.hide();        
     
+               this.table.el.show();
+               return false;
+       });
+       
+       this.el.run();
+        
     }
     public class Xcls_Box2 : Object
     {
@@ -156,17 +173,20 @@ public class MergeBranch : Object
             // my vars (dec)
 
             // set gobject values
-            var child_0 = new Xcls_Table3( _this );
+            var child_0 = new Xcls_table( _this );
             child_0.ref();
             this.el.pack_start (  child_0.el , false,false,0 );
             var child_1 = new Xcls_scrolled_window( _this );
             child_1.ref();
             this.el.add (  child_1.el  );
+            var child_2 = new Xcls_spinner( _this );
+            child_2.ref();
+            this.el.add (  child_2.el  );
         }
 
         // user defined functions
     }
-    public class Xcls_Table3 : Object
+    public class Xcls_table : Object
     {
         public Gtk.Table el;
         private MergeBranch  _this;
@@ -175,9 +195,10 @@ public class MergeBranch : Object
             // my vars (def)
 
         // ctor
-        public Xcls_Table3(MergeBranch _owner )
+        public Xcls_table(MergeBranch _owner )
         {
             _this = _owner;
+            _this.table = this;
             this.el = new Gtk.Table( 2, 2, false );
 
             // my vars (dec)
@@ -705,8 +726,33 @@ public class MergeBranch : Object
     }
 
 
+    public class Xcls_spinner : Object
+    {
+        public Gtk.Spinner el;
+        private MergeBranch  _this;
 
-    public class Xcls_Button16 : Object
+
+            // my vars (def)
+
+        // ctor
+        public Xcls_spinner(MergeBranch _owner )
+        {
+            _this = _owner;
+            _this.spinner = this;
+            this.el = new Gtk.Spinner();
+
+            // my vars (dec)
+
+            // set gobject values
+            this.el.hexpand = true;
+            this.el.vexpand = true;
+        }
+
+        // user defined functions
+    }
+
+
+    public class Xcls_Button17 : Object
     {
         public Gtk.Button el;
         private MergeBranch  _this;
@@ -715,7 +761,7 @@ public class MergeBranch : Object
             // my vars (def)
 
         // ctor
-        public Xcls_Button16(MergeBranch _owner )
+        public Xcls_Button17(MergeBranch _owner )
         {
             _this = _owner;
             this.el = new Gtk.Button();
@@ -730,7 +776,7 @@ public class MergeBranch : Object
         // user defined functions
     }
 
-    public class Xcls_Button17 : Object
+    public class Xcls_Button18 : Object
     {
         public Gtk.Button el;
         private MergeBranch  _this;
@@ -739,7 +785,7 @@ public class MergeBranch : Object
             // my vars (def)
 
         // ctor
-        public Xcls_Button17(MergeBranch _owner )
+        public Xcls_Button18(MergeBranch _owner )
         {
             _this = _owner;
             this.el = new Gtk.Button();
@@ -748,6 +794,12 @@ public class MergeBranch : Object
 
             // set gobject values
             this.el.label = "Do Merge";
+
+            // init method
+
+            {
+               this.el.get_style_context().add_class("suggested-action");
+            }
         }
 
         // user defined functions