NewBranch.bjs
[gitlive] / NewBranch.vala
index e65ba33..f4df8dc 100644 (file)
@@ -12,12 +12,13 @@ public class NewBranch : Object
         }
         return _NewBranch;
     }
-    public Xcls_build_module build_module;
+    public Xcls_ticketsel ticketsel;
     public Xcls_dbcellrenderer dbcellrenderer;
     public Xcls_dbmodel dbmodel;
     public Xcls_name name;
 
         // my vars (def)
+    public GitRepo? repo;
 
     // ctor
     public NewBranch()
@@ -26,6 +27,7 @@ public class NewBranch : Object
         this.el = new Gtk.Dialog();
 
         // my vars (dec)
+        this.repo = null;
 
         // set gobject values
         this.el.title = "Create a working branch ";
@@ -63,6 +65,16 @@ public class NewBranch : Object
                // -- each repo would have their active ticket (only one per repo)
                // -- so we could just store that in there
                // -- initial load can check the contents of the ticket files on first scan.
+               var ticket_id = _this.ticketsel.selectedTicketId();
+               
+            if (this.repo != null) {
+               var bn = _this.name.get_text();
+               if (ticket_id != "" ) {
+                               this.repo.setActiveTicket( RooTicket.singleton.getById(ticket_id), bn);
+                       } else {
+                               this.repo.createBranchNamed(bn);
+                       }
+            }
         
                
         
@@ -141,7 +153,7 @@ public class NewBranch : Object
             var child_0 = new Xcls_Label4( _this );
             child_0.ref();
             this.el.attach_defaults (  child_0.el , 0,1,0,1 );
-            var child_1 = new Xcls_build_module( _this );
+            var child_1 = new Xcls_ticketsel( _this );
             child_1.ref();
             this.el.attach_defaults (  child_1.el , 1,2,0,1 );
             var child_2 = new Xcls_Label8( _this );
@@ -179,7 +191,7 @@ public class NewBranch : Object
         // user defined functions
     }
 
-    public class Xcls_build_module : Object
+    public class Xcls_ticketsel : Object
     {
         public Gtk.ComboBox el;
         private NewBranch  _this;
@@ -188,10 +200,10 @@ public class NewBranch : Object
             // my vars (def)
 
         // ctor
-        public Xcls_build_module(NewBranch _owner )
+        public Xcls_ticketsel(NewBranch _owner )
         {
             _this = _owner;
-            _this.build_module = this;
+            _this.ticketsel = this;
             this.el = new Gtk.ComboBox();
 
             // my vars (dec)
@@ -210,15 +222,8 @@ public class NewBranch : Object
 
             //listeners
             this.el.changed.connect( () => {
-               Gtk.TreeIter iter;
-               Value val1;
-               Value val2;
-             
-               this.el.get_active_iter (out iter);
-               _this.dbmodel.el.get_value (iter, 0, out val1);
-               _this.dbmodel.el.get_value (iter, 1, out val2);
             
-               var ticket_id = (string) val1;
+               var ticket_id = this.selectedTicketId();
                
                var name = RooTicket.singleton().usernameLocal();
                
@@ -238,6 +243,21 @@ public class NewBranch : Object
         }
 
         // user defined functions
+        public string selectedTicketId () {
+        Gtk.TreeIter iter;
+               Value val1;
+         
+         
+               this.el.get_active_iter (out iter);
+               _this.dbmodel.el.get_value (iter, 0, out val1);
+         
+        
+               return  (string) val1;
+               
+               
+               
+               
+        }
     }
     public class Xcls_dbcellrenderer : Object
     {