Clones.bjs
[gitlive] / Clone.vala
index 385a318..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;
 
@@ -33,38 +33,22 @@ public class Clone : Object
         this.el.position = Gtk.PositionType.RIGHT;
         var child_0 = new Xcls_Box2( _this );
         child_0.ref();
-        this.el.add (  child_0.el  );
+        this.el.pack_end (  child_0.el , false,false,0 );
     }
 
     // user defined functions
-    public void show (Gtk.Widget btn, Gdk.Rectangle rect, GitRepo repo) {
-        _this.repo = repo;
-        // get the active project.
-         var lm = Gtk.SourceLanguageManager.get_default();
-                    
-    //    ((Gtk.SourceBuffer)(_this.view.el.get_buffer())) .set_language(
-      //      lm.get_language("html")
-     //   );
-      
-        //print (project.fn);
-        //project.runhtml = project.runhtml || '';
-        _this.diff_view.el.get_buffer().set_text(repo.git_diff);
-        _this.status_view.el.get_buffer().set_text(repo.git_status);
-           
+    public void show (Gtk.Widget btn, GitRepo repo) {
+     
                //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?
         GLib.debug("SHOWALL - POPIP\n");
        this.el.show_all();
-       //this.el.set_size_request(800,500);
-    // this.diff_view.el.grab_focus();
-       
-        //this.el.show_all();
+    ;
     }
     public class Xcls_Box2 : Object
     {
@@ -76,32 +60,6 @@ public class Clone : Object
 
         // ctor
         public Xcls_Box2(Clone _owner )
-        {
-            _this = _owner;
-            this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
-
-            // my vars (dec)
-
-            // set gobject values
-            this.el.homogeneous = false;
-            this.el.border_width = 5;
-            var child_0 = new Xcls_Box3( _this );
-            child_0.ref();
-            this.el.pack_end (  child_0.el , false,false,0 );
-        }
-
-        // user defined functions
-    }
-    public class Xcls_Box3 : Object
-    {
-        public Gtk.Box el;
-        private Clone  _this;
-
-
-            // my vars (def)
-
-        // ctor
-        public Xcls_Box3(Clone _owner )
         {
             _this = _owner;
             this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 );
@@ -109,20 +67,19 @@ public class Clone : Object
             // my vars (dec)
 
             // set gobject values
-            this.el.homogeneous = true;
             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_Button7( _this );
+            var child_1 = new Xcls_Button6( _this );
             child_1.ref();
             this.el.add (  child_1.el  );
         }
 
         // user defined functions
     }
-    public class Xcls_projectsel : Object
+    public class Xcls_reposel : Object
     {
         public Gtk.ComboBox el;
         private Clone  _this;
@@ -132,16 +89,17 @@ 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)
             this.loading = false;
 
             // set gobject values
+            this.el.hexpand = true;
             var child_0 = new Xcls_prcellrenderer( _this );
             child_0.ref();
             this.el.pack_start (  child_0.el , true );
@@ -152,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;
@@ -250,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;
@@ -262,31 +187,36 @@ 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);          
                                              
         }
     }
 
 
-    public class Xcls_Button7 : Object
+    public class Xcls_Button6 : Object
     {
         public Gtk.Button el;
         private Clone  _this;
@@ -295,7 +225,7 @@ public class Clone : Object
             // my vars (def)
 
         // ctor
-        public Xcls_Button7(Clone _owner )
+        public Xcls_Button6(Clone _owner )
         {
             _this = _owner;
             this.el = new Gtk.Button();
@@ -316,5 +246,4 @@ public class Clone : Object
     }
 
 
-
 }