Clones.bjs
[gitlive] / Clone.vala
index 904dcd4..7a3a53c 100644 (file)
@@ -12,7 +12,7 @@ public class Clone : Object
         }
         return _Clone;
     }
-    public Xcls_projectsel projectsel;
+    public Xcls_reposel reposel;
     public Xcls_prcellrenderer prcellrenderer;
     public Xcls_prmodel prmodel;
 
@@ -69,7 +69,7 @@ public class Clone : Object
             // set gobject values
             this.el.expand = false;
             this.el.vexpand = false;
-            var child_0 = new Xcls_projectsel( _this );
+            var child_0 = new Xcls_reposel( _this );
             child_0.ref();
             this.el.attach_defaults (  child_0.el , 0,1,1,2 );
             var child_1 = new Xcls_Button6( _this );
@@ -79,7 +79,7 @@ public class Clone : Object
 
         // user defined functions
     }
-    public class Xcls_projectsel : Object
+    public class Xcls_reposel : Object
     {
         public Gtk.ComboBox el;
         private Clone  _this;
@@ -89,10 +89,10 @@ public class Clone : Object
         public bool loading;
 
         // ctor
-        public Xcls_projectsel(Clone _owner )
+        public Xcls_reposel(Clone _owner )
         {
             _this = _owner;
-            _this.projectsel = this;
+            _this.reposel = this;
             this.el = new Gtk.ComboBox.with_entry();
 
             // my vars (dec)
@@ -110,48 +110,16 @@ public class Clone : Object
             // init method
 
             this.el.set_entry_text_column(1);
-
-            //listeners
-            this.el.changed.connect( () => {
-               if (this.loading) {
-                       return;
-               }
-               var project_id = this.selectedProjectId();
-               _this.dbmodel.loadTickets(project_id);
-               
-               
-               /*if (this.loading) {
-                       return;
-               }
-               var ticket_id = this.selectedTicketId();
-               
-               var name = RooTicket.singleton().usernameLocal();
-               
-               if (ticket_id == "" || ticket_id == null) {
-               
-                       var dt = new  DateTime.now_local();
-                       _this.name.el.set_text("wip_%s_%s".printf(name,dt.format("%Y_%b_%d")));
-                       return;
-               }
-               
-               
-               var ticket = RooTicket.singleton().getById(ticket_id);
-               
-               _this.name.el.set_text("wip_%s_T%s_%s".printf(name,ticket.id, ticket.summaryToBranchName()));
-               
-               //GLib.debug (//"Selection: %s, %s\n", (string) val1, (string) val2);
-               */
-            });
         }
 
         // user defined functions
-        public string selectedProjectId () {
+        public string selectedRepo () {
                Gtk.TreeIter iter;
                Value val1;
          
          
                this.el.get_active_iter (out iter);
-               _this.prmodel.el.get_value (iter, 0, out val1);
+               _this.repomodel.el.get_value (iter, 0, out val1);
          
         
                return  (string) val1;
@@ -208,9 +176,8 @@ public class Clone : Object
         public void loadProjects (string id) {
         
             var rt = RooTicket.singleton();
-            rt.loadProjects();
-            
-            _this.projectsel.loading = true;
+            var gr = GitRepo.singleton();
+            _this.reposel.loading = true;
         
             this.el.clear();                                    
             Gtk.TreeIter iter;
@@ -220,24 +187,29 @@ public class Clone : Object
         
             
             el.set_value(iter, 0, "");
-            el.set_value(iter, 1, "-- select a project --");
-            if (id == "") {
-                   _this.projectsel.el.set_active_iter(iter);
-            }
-            var projects = rt.projects;
-            foreach(var project in projects) {
+            el.set_value(iter, 1, "-- select a repo --");
+         
+               _this.reposel.el.set_active_iter(iter);
             
+            var projects = rt.projects;
+            foreach(var newrepo in rt.repos) {
+               var has_repo = false;
+               foreach(var repo in gr.cache.values) {
+                       if (newrepo.name == repo.shortname) {
+                               has_repo = true;
+               }
+               if (has_repo) {
+                       continue;
+                       }
                 el.append(out iter);
                 
-                el.set_value(iter, 0, project.id);
-                el.set_value(iter, 1,  project.name );
-                if (id == project.id) {
-                          _this.projectsel.el.set_active_iter(iter);
-                   }   
+                el.set_value(iter, 0, repo.name);
+                el.set_value(iter, 1,  "%s : %s".printf(repo.shortname, repo.description) );
+               
                 
             }
             
-            _this.projectsel.loading = false;
+            _this.reposel.loading = false;
              //this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING);          
                                              
         }