Changed MergeBranch.bjsMergeBranch.vala
authorAlan Knowles <alan@roojs.com>
Wed, 30 Jan 2019 08:23:57 +0000 (16:23 +0800)
committerAlan Knowles <alan@roojs.com>
Wed, 30 Jan 2019 08:23:57 +0000 (16:23 +0800)
MergeBranch.bjs
MergeBranch.vala

index 239a5c5..f45c0b0 100644 (file)
         },
         {
          "listeners" : {
-          "changed" : "() => {\n\tif (this.loading) {\n\t\treturn;\n\t}\n\t_this.view.loadTicket(this.selectedTicketId());\n\t \n  \t_this.name.updateText();\n\t//_this.name.el.set_text(\"wip_%s_T%s_%s\".printf(name,ticket.id, ticket.summaryToBranchName()));\n\t\n\t//GLib.debug (//\"Selection: %s, %s\\n\", (string) val1, (string) val2);\n}"
+          "changed" : "() => {\n\tif (this.loading) {\n\t\treturn;\n\t}\n\t  \n\t_this.view.loadTicket(ticket.id);\n\t _this.name.updateText();\n\t//GLib.debug (//\"Selection: %s, %s\\n\", (string) val1, (string) val2);\n}"
          },
+         "* ctor" : "new Gtk.ComboBox.with_entry()",
          "id" : "ticketsel",
-         "* init" : "this.el.add_attribute(_this.dbcellrenderer.el , \"markup\", 1 );",
-         "bool hexpand" : true,
+         "* init" : "//this.el.add_attribute(_this.dbcellrenderer.el , \"markup\", 1 );\nthis.el.set_entry_text_column(1);",
          "* pack" : "attach_defaults,1,2,2,3",
          "xtype" : "ComboBox",
-         "# bool loading" : true,
+         "# bool loading" : false,
          "$ xns" : "Gtk",
          "| string selectedTicketId" : "() {\nGtk.TreeIter iter;\n\tValue val1;\n \n \n\tthis.el.get_active_iter (out iter);\n\t_this.dbmodel.el.get_value (iter, 0, out val1);\n \n\n\treturn  (string) val1;\n\t\n\t\n\t\n\t\n}\n",
          "items" : [
            "id" : "dbmodel",
            "* pack" : "set_model",
            "xtype" : "ListStore",
-           "| void loadTickets" : "  (string project_id) {\n\n    RooTicket.singleton().loadTickets(project_id,RooTicket.Who.ME, RooTicket.Status.ACTIVE);\n    \n    _this.ticketsel.loading = true;\n\n    this.el.clear();                                    \n    Gtk.TreeIter iter;\n    var el = this.el;\n    \n    el.append(out iter);\n    el.set_value(iter, 0, \"\");\n    el.set_value(iter, 1, \"-- select a ticket --\");\n    \n    _this.ticketsel.el.set_active_iter(iter);\n    \n    if (_this.ticket != null &&  _this.ticket.id == \"-1\") {\n\t\tel.append(out iter);\n\t\tel.set_value(iter, 0, \"-1\");\n\t\tel.set_value(iter, 1, \"Temporary Branch - No ticket specified/relivant\");\n        _this.ticketsel.el.set_active_iter(iter);\t\n    }\n    \n    \n    \n    \n    var tickets = RooTicket.singleton().tickets;\n    foreach(var ticket in tickets) {\n    \n        el.append(out iter);\n\n        el.set_value(iter, 0, ticket.id);\n        el.set_value(iter, 1, \"#%s [%s] %s\".printf( ticket.id, ticket.project_id_name , ticket.summary));\n\t\tif (_this.ticket != null && _this.ticket.id == ticket.id) {\n\t\t    _this.ticketsel.el.set_active_iter(iter);\n\t    }\n        \n    }\n    \n    _this.ticketsel.loading = false;\n     //this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING);          \n                                     \n}\n",
+           "| void loadTickets" : "(string project_id , string tid = \"\") {\n\n\n    \n    // fixme .. get project id from selection..\n    \n     RooTicket.singleton().loadTickets(\n \t\t\tproject_id,\n \t\t\t_this.btn_not_me.el.active ? RooTicket.Who.ANYBODY :  RooTicket.Who.ME,\n \t\t\t _this.btn_closed.el.active ? RooTicket.Status.ALL :  RooTicket.Status.ACTIVE\n\t\t );\n        \n    _this.ticketsel.loading = true;\n\n    this.el.clear();                                    \n    Gtk.TreeIter iter;\n    var el = this.el;\n    \n    el.append(out iter);\n\n    \n    el.set_value(iter, 0, \"\");\n    el.set_value(iter, 1, \"-- select a ticket --\");\n    \n    _this.ticketsel.el.set_active_iter(iter);\n    var tickets = RooTicket.singleton().tickets;\n    foreach(var ticket in tickets) {\n    \n        el.append(out iter);\n        \n        el.set_value(iter, 0, ticket.id);\n        el.set_value(iter, 1, \"#%s [%s] %s\".printf( ticket.id, ticket.project_id_name , ticket.summary));\n        \n        if (ticket.id == tid) {\n\t\t    _this.ticketsel.el.set_active_iter(iter);\n        }\n        \n    }\n    \n    _this.ticketsel.loading = false;\n     //this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING);          \n                                     \n}\n",
            "$ columns" : "typeof(string),typeof(string)",
            "n_columns" : 2,
            "$ xns" : "Gtk"
index 61e267a..9ec2ac3 100644 (file)
@@ -651,13 +651,12 @@ public class MergeBranch : Object
         {
             _this = _owner;
             _this.ticketsel = this;
-            this.el = new Gtk.ComboBox();
+            this.el = new Gtk.ComboBox.with_entry();
 
             // my vars (dec)
-            this.loading = true;
+            this.loading = false;
 
             // set gobject values
-            this.el.hexpand = true;
             var child_0 = new Xcls_dbcellrenderer( _this );
             child_0.ref();
             this.el.pack_start (  child_0.el , true );
@@ -667,18 +666,17 @@ public class MergeBranch : Object
 
             // init method
 
-            this.el.add_attribute(_this.dbcellrenderer.el , "markup", 1 );
+            //this.el.add_attribute(_this.dbcellrenderer.el , "markup", 1 );
+            this.el.set_entry_text_column(1);
 
             //listeners
             this.el.changed.connect( () => {
                if (this.loading) {
                        return;
                }
-               _this.view.loadTicket(this.selectedTicketId());
-                
-               _this.name.updateText();
-               //_this.name.el.set_text("wip_%s_T%s_%s".printf(name,ticket.id, ticket.summaryToBranchName()));
-               
+                 
+               _this.view.loadTicket(ticket.id);
+                _this.name.updateText();
                //GLib.debug (//"Selection: %s, %s\n", (string) val1, (string) val2);
             });
         }
@@ -744,10 +742,18 @@ public class MergeBranch : Object
         }
 
         // user defined functions
-        public void loadTickets (string project_id) {
+        public void loadTickets (string project_id , string tid = "") {
+        
         
-            RooTicket.singleton().loadTickets(project_id,RooTicket.Who.ME, RooTicket.Status.ACTIVE);
             
+            // fixme .. get project id from selection..
+            
+             RooTicket.singleton().loadTickets(
+                               project_id,
+                               _this.btn_not_me.el.active ? RooTicket.Who.ANYBODY :  RooTicket.Who.ME,
+                                _this.btn_closed.el.active ? RooTicket.Status.ALL :  RooTicket.Status.ACTIVE
+                        );
+                
             _this.ticketsel.loading = true;
         
             this.el.clear();                                    
@@ -755,31 +761,23 @@ public class MergeBranch : Object
             var el = this.el;
             
             el.append(out iter);
+        
+            
             el.set_value(iter, 0, "");
             el.set_value(iter, 1, "-- select a ticket --");
             
             _this.ticketsel.el.set_active_iter(iter);
-            
-            if (_this.ticket != null &&  _this.ticket.id == "-1") {
-                       el.append(out iter);
-                       el.set_value(iter, 0, "-1");
-                       el.set_value(iter, 1, "Temporary Branch - No ticket specified/relivant");
-                _this.ticketsel.el.set_active_iter(iter);      
-            }
-            
-            
-            
-            
             var tickets = RooTicket.singleton().tickets;
             foreach(var ticket in tickets) {
             
                 el.append(out iter);
-        
+                
                 el.set_value(iter, 0, ticket.id);
                 el.set_value(iter, 1, "#%s [%s] %s".printf( ticket.id, ticket.project_id_name , ticket.summary));
-                       if (_this.ticket != null && _this.ticket.id == ticket.id) {
+                
+                if (ticket.id == tid) {
                            _this.ticketsel.el.set_active_iter(iter);
-                   }
+                }
                 
             }