MergeBranch.bjs
authorAlan Knowles <alan@roojs.com>
Fri, 2 Nov 2018 08:38:20 +0000 (16:38 +0800)
committerAlan Knowles <alan@roojs.com>
Fri, 2 Nov 2018 08:38:20 +0000 (16:38 +0800)
MergeBranch.vala

MergeBranch.bjs
MergeBranch.vala

index 83c5f52..01c09a4 100644 (file)
   {
    "listeners" : {
     "delete_event" : "(self, event) => {\n    this.el.hide();\n    return true; \n    //test  \n}\n ",
-    "response" : " (self, response_id) =>  { \n  \n\tGLib.debug(\"got %d\", (int) response_id);\n\tif (response_id == 0) {\n\t    _this.el.hide();\t\n\t    this.running = false; \n\t \treturn;\n\t}\n\t \n\t// have they selected a ticket..\n\t// make that the current active ticket?\n\t// we really need to store locally what ticket is being worked on..\n\t// in theory we could be working on multiple project and not merging..\n\t// -- each repo would have their active ticket (only one per repo)\n\t// -- so we could just store that in there\n\t// -- initial load can check the contents of the ticket files on first scan.\n\tvar ticket_id = _this.ticketsel.selectedTicketId();\n\t\n    if (this.repo != null) {\n    \tvar bn = _this.name.el.get_text();\n    \tif (ticket_id != \"\" ) {\n\t\t\tthis.repo.setActiveTicket( RooTicket.singleton().getById(ticket_id), bn);\n\t\t} else {\n\t\t\tthis.repo.createBranchNamed(bn);\n\t\t}\n    }\n\n\tthis.running = false; \n\n\t \n\t_this.el.hide();\t\n \n\n\t \n}",
+    "response" : " (self, response_id) =>  { \n  \n\tGLib.debug(\"got %d\", (int) response_id);\n\tif (response_id == 0) {\n\t    _this.el.hide();\t\n\t    this.running = false; \n\t \treturn;\n\t}\n\t /*\n\t// have they selected a ticket..\n\t// make that the current active ticket?\n\t// we really need to store locally what ticket is being worked on..\n\t// in theory we could be working on multiple project and not merging..\n\t// -- each repo would have their active ticket (only one per repo)\n\t// -- so we could just store that in there\n\t// -- initial load can check the contents of the ticket files on first scan.\n\tvar ticket_id = _this.ticketsel.selectedTicketId();\n\t\n    if (this.repo != null) {\n    \tvar bn = _this.name.el.get_text();\n    \tif (ticket_id != \"\" ) {\n\t\t\tthis.repo.setActiveTicket( RooTicket.singleton().getById(ticket_id), bn);\n\t\t} else {\n\t\t\tthis.repo.createBranchNamed(bn);\n\t\t}\n    }\n\t*/\n\tthis.running = false; \n\n\t \n\t_this.el.hide();\t\n \n\n\t \n}",
     "show" : "(self)  => {\n \n\n  //test\n}"
    },
    "default_width" : 500,
    "$ deletable" : true,
    "title" : "Merge Branch",
    "xtype" : "Dialog",
-   "# GitRepo? repo" : "null",
-   "|   void show" : "( GitRepo repo ) \n{\n     // this.el.set_gravity(Gdk.Gravity.NORTH);\n    if (this.running) {\n    \treturn;\n\t}\n    this.repo = repo;\n    \n\tthis.el.move((Gdk.Screen.width() / 2)- 250 ,0);\n       \tGLib.debug(\"Loading tickets\"); \n\n\n    this.el.show_all();\n \t_this.dbmodel.loadTickets();\n\n}",
+   "|   void show" : "(  RooTicket ticket ) \n{\n     // this.el.set_gravity(Gdk.Gravity.NORTH);\n    if (this.running) {\n    \treturn;\n\t}\n    this.ticket = ticket;\n    \n\tthis.el.move((Gdk.Screen.width() / 2)- 250 ,0);\n       \tGLib.debug(\"Loading tickets\"); \n\n\n    this.el.show_all();\n \t_this.dbmodel.loadTickets();\n \t_this.actionmodel.loadActions();\n\n}",
    "default_height" : 200,
+   "# RooTicket? ticket" : "null",
    "$ xns" : "Gtk",
    "# bool running" : false,
    "bool modal" : true,
@@ -40,7 +40,7 @@
        "int margin" : 2,
        "items" : [
         {
-         "label" : "Select Action",
+         "label" : "Do what?",
          "$ visible" : true,
          "xalign" : 0.90000000000000002,
          "* pack" : "attach_defaults,0,1,0,1",
          "listeners" : {
           "changed" : "() => {\n\tif (this.loading) {\n\t\treturn;\n\t}\n\tvar ticket_id = this.selectedTicketId();\n\t\n\tvar name = RooTicket.singleton().usernameLocal();\n\t\n\tif (ticket_id == \"\" || ticket_id == null) {\n\t\n\t\tvar dt = new  DateTime.now_local();\n\t\t_this.name.el.set_text(\"wip_%s_%s\".printf(name,dt.format(\"%Y_%b_%d\")));\n\t\treturn;\n\t}\n\t\n\t\n\tvar ticket = RooTicket.singleton().getById(ticket_id);\n   \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}"
          },
-         "id" : "ticketsel",
-         "* init" : "this.el.add_attribute(_this.dbcellrenderer.el , \"markup\", 1 );",
+         "id" : "actionsel",
+         "* init" : "this.el.add_attribute(_this.actioncellrenderer.el , \"markup\", 1 );",
          "* pack" : "attach_defaults,1,2,0,1",
          "xtype" : "ComboBox",
          "# 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" : "dbcellrenderer",
+           "id" : "actioncellrenderer",
            "* pack" : "pack_start,true",
            "xtype" : "CellRendererText",
            "$ xns" : "Gtk"
           },
           {
-           "id" : "dbmodel",
+           "id" : "actionmodel",
            "* pack" : "set_model",
            "xtype" : "ListStore",
-           "| void loadTickets" : "  () {\n\n    RooTicket.singleton().loadTickets();\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 (data.get(i) == cur) {\n         //   _this.build_module.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"
+           "$ xns" : "Gtk",
+           "| void loadActions" : "  () {\n\n \n    \n    _this.actionsel.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 action  --\");\n    \n    _this.action.el.set_active_iter(iter);\n\n    el.append(out iter);    \n    el.set_value(iter, 0, \"CLOSE\");\n    el.set_value(iter, 1, \"Merge changes to master - and CLOSE ticket\");\n        \n        \n    el.append(out iter);    \n    el.set_value(iter, 0, \"LEAVE\");\n    el.set_value(iter, 1, \"Merge changes to master - and LEAVE ticket open\");\n\n    el.append(out iter);    \n    el.set_value(iter, 0, \"MASTER\");\n    el.set_value(iter, 1, \"Merge changes FROM master into this branch\");    \n    \n    el.append(out iter);    \n    el.set_value(iter, 0, \"EXIT\");\n    el.set_value(iter, 1, \"Switch back to MASTER branch - no merge\");    \n    \n    \n    \n    _this.actionsel.loading = false;\n     //this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING);          \n                                     \n}\n"
           }
          ]
         },
@@ -90,7 +89,7 @@
         },
         {
          "listeners" : {
-          "changed" : "() => {\n\tif (this.loading) {\n\t\treturn;\n\t}\n\tvar ticket_id = this.selectedTicketId();\n\t\n\tvar name = RooTicket.singleton().usernameLocal();\n\t\n\tif (ticket_id == \"\" || ticket_id == null) {\n\t\n\t\tvar dt = new  DateTime.now_local();\n\t\t_this.name.el.set_text(\"wip_%s_%s\".printf(name,dt.format(\"%Y_%b_%d\")));\n\t\treturn;\n\t}\n\t\n\t\n\tvar ticket = RooTicket.singleton().getById(ticket_id);\n   \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\tvar ticket_id = this.selectedTicketId();\n\t\n\tvar name = RooTicket.singleton().usernameLocal();\n\t\n\tif (ticket_id == \"\" || ticket_id == null) {\n\t\n\t\tvar dt = new  DateTime.now_local();\n\t\t_this.name.el.set_text(\"wip_%s_%s\".printf(name,dt.format(\"%Y_%b_%d\")));\n\t\treturn;\n\t}\n\t \n\tvar ticket = RooTicket.singleton().getById(ticket_id);\n   \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}"
          },
          "id" : "ticketsel",
          "* init" : "this.el.add_attribute(_this.dbcellrenderer.el , \"markup\", 1 );",
            "id" : "dbmodel",
            "xtype" : "ListStore",
            "* pack" : "set_model",
-           "| void loadTickets" : "  () {\n\n    RooTicket.singleton().loadTickets();\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 (data.get(i) == cur) {\n         //   _this.build_module.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",
+           "| void loadTickets" : "  () {\n\n    RooTicket.singleton().loadTickets();\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\t\tif (_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",
            "$ columns" : "typeof(string),typeof(string)",
            "n_columns" : 2,
            "$ xns" : "Gtk"
          ]
         },
         {
-         "label" : "or use this as branch name",
+         "label" : "Use this commit message",
          "xalign" : 0.90000000000000002,
          "* pack" : "attach_defaults,0,1,2,3",
          "xtype" : "Label",
      ]
     },
     {
-     "label" : "Do not create Branch",
+     "label" : "Cancel",
      "xtype" : "Button",
      "* pack" : "add_action_widget,0",
      "Gtk.ReliefStyle relief" : "Gtk.ReliefStyle.NONE",
      "$ xns" : "Gtk"
     },
     {
-     "label" : "Create Branch",
+     "label" : "Do Merge",
      "xtype" : "Button",
      "* pack" : "add_action_widget,1",
      "$ xns" : "Gtk"
index de74a74..6afc8f6 100644 (file)
@@ -12,16 +12,16 @@ public class MergeBranch : Object
         }
         return _MergeBranch;
     }
-    public Xcls_ticketsel ticketsel;
-    public Xcls_dbcellrenderer dbcellrenderer;
-    public Xcls_dbmodel dbmodel;
+    public Xcls_actionsel actionsel;
+    public Xcls_actioncellrenderer actioncellrenderer;
+    public Xcls_actionmodel actionmodel;
     public Xcls_ticketsel ticketsel;
     public Xcls_dbcellrenderer dbcellrenderer;
     public Xcls_dbmodel dbmodel;
     public Xcls_name name;
 
         // my vars (def)
-    public GitRepo? repo;
+    public RooTicket? ticket;
     public bool running;
 
     // ctor
@@ -31,7 +31,7 @@ public class MergeBranch : Object
         this.el = new Gtk.Dialog();
 
         // my vars (dec)
-        this.repo = null;
+        this.ticket = null;
         this.running = false;
 
         // set gobject values
@@ -64,7 +64,7 @@ public class MergeBranch : Object
                    this.running = false; 
                        return;
                }
-                
+                /*
                // have they selected a ticket..
                // make that the current active ticket?
                // we really need to store locally what ticket is being worked on..
@@ -82,7 +82,7 @@ public class MergeBranch : Object
                                this.repo.createBranchNamed(bn);
                        }
             }
-        
+               */
                this.running = false; 
         
                 
@@ -99,13 +99,13 @@ public class MergeBranch : Object
     }
 
     // user defined functions
-    public   void show ( GitRepo repo ) 
+    public   void show (  RooTicket ticket ) 
     {
          // this.el.set_gravity(Gdk.Gravity.NORTH);
         if (this.running) {
                return;
        }
-        this.repo = repo;
+        this.ticket = ticket;
         
        this.el.move((Gdk.Screen.width() / 2)- 250 ,0);
                GLib.debug("Loading tickets"); 
@@ -113,6 +113,7 @@ public class MergeBranch : Object
     
         this.el.show_all();
        _this.dbmodel.loadTickets();
+       _this.actionmodel.loadActions();
     
     }
     public class Xcls_VBox2 : Object
@@ -161,7 +162,7 @@ public class MergeBranch : 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_ticketsel( _this );
+            var child_1 = new Xcls_actionsel( _this );
             child_1.ref();
             this.el.attach_defaults (  child_1.el , 1,2,0,1 );
             var child_2 = new Xcls_Label8( _this );
@@ -192,7 +193,7 @@ public class MergeBranch : Object
         public Xcls_Label4(MergeBranch _owner )
         {
             _this = _owner;
-            this.el = new Gtk.Label( "Select Action" );
+            this.el = new Gtk.Label( "Do what?" );
 
             // my vars (dec)
 
@@ -205,7 +206,7 @@ public class MergeBranch : Object
         // user defined functions
     }
 
-    public class Xcls_ticketsel : Object
+    public class Xcls_actionsel : Object
     {
         public Gtk.ComboBox el;
         private MergeBranch  _this;
@@ -215,26 +216,26 @@ public class MergeBranch : Object
         public bool loading;
 
         // ctor
-        public Xcls_ticketsel(MergeBranch _owner )
+        public Xcls_actionsel(MergeBranch _owner )
         {
             _this = _owner;
-            _this.ticketsel = this;
+            _this.actionsel = this;
             this.el = new Gtk.ComboBox();
 
             // my vars (dec)
             this.loading = false;
 
             // set gobject values
-            var child_0 = new Xcls_dbcellrenderer( _this );
+            var child_0 = new Xcls_actioncellrenderer( _this );
             child_0.ref();
             this.el.pack_start (  child_0.el , true );
-            var child_1 = new Xcls_dbmodel( _this );
+            var child_1 = new Xcls_actionmodel( _this );
             child_1.ref();
             this.el.set_model (  child_1.el  );
 
             // init method
 
-            this.el.add_attribute(_this.dbcellrenderer.el , "markup", 1 );
+            this.el.add_attribute(_this.actioncellrenderer.el , "markup", 1 );
 
             //listeners
             this.el.changed.connect( () => {
@@ -262,23 +263,8 @@ public class MergeBranch : 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
+    public class Xcls_actioncellrenderer : Object
     {
         public Gtk.CellRendererText el;
         private MergeBranch  _this;
@@ -287,10 +273,10 @@ public class MergeBranch : Object
             // my vars (def)
 
         // ctor
-        public Xcls_dbcellrenderer(MergeBranch _owner )
+        public Xcls_actioncellrenderer(MergeBranch _owner )
         {
             _this = _owner;
-            _this.dbcellrenderer = this;
+            _this.actioncellrenderer = this;
             this.el = new Gtk.CellRendererText();
 
             // my vars (dec)
@@ -301,7 +287,7 @@ public class MergeBranch : Object
         // user defined functions
     }
 
-    public class Xcls_dbmodel : Object
+    public class Xcls_actionmodel : Object
     {
         public Gtk.ListStore el;
         private MergeBranch  _this;
@@ -310,10 +296,10 @@ public class MergeBranch : Object
             // my vars (def)
 
         // ctor
-        public Xcls_dbmodel(MergeBranch _owner )
+        public Xcls_actionmodel(MergeBranch _owner )
         {
             _this = _owner;
-            _this.dbmodel = this;
+            _this.actionmodel = this;
             this.el = new Gtk.ListStore( 2, typeof(string),typeof(string) );
 
             // my vars (dec)
@@ -322,11 +308,11 @@ public class MergeBranch : Object
         }
 
         // user defined functions
-        public void loadTickets () {
+        public void loadActions () {
         
-            RooTicket.singleton().loadTickets();
+         
             
-            _this.ticketsel.loading = true;
+            _this.actionsel.loading = true;
         
             this.el.clear();                                    
             Gtk.TreeIter iter;
@@ -336,24 +322,30 @@ public class MergeBranch : Object
         
             
             el.set_value(iter, 0, "");
-            el.set_value(iter, 1, "-- select a ticket --");
+            el.set_value(iter, 1, "-- select action  --");
             
-            _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));
+            _this.action.el.set_active_iter(iter);
+        
+            el.append(out iter);    
+            el.set_value(iter, 0, "CLOSE");
+            el.set_value(iter, 1, "Merge changes to master - and CLOSE ticket");
                 
-                //if (data.get(i) == cur) {
-                 //   _this.build_module.el.set_active_iter(iter);
-               // }
                 
-            }
+            el.append(out iter);    
+            el.set_value(iter, 0, "LEAVE");
+            el.set_value(iter, 1, "Merge changes to master - and LEAVE ticket open");
+        
+            el.append(out iter);    
+            el.set_value(iter, 0, "MASTER");
+            el.set_value(iter, 1, "Merge changes FROM master into this branch");    
             
-            _this.ticketsel.loading = false;
+            el.append(out iter);    
+            el.set_value(iter, 0, "EXIT");
+            el.set_value(iter, 1, "Switch back to MASTER branch - no merge");    
+            
+            
+            
+            _this.actionsel.loading = false;
              //this.el.set_sort_column_id(0, Gtk.SortType.ASCENDING);          
                                              
         }
@@ -431,11 +423,10 @@ public class MergeBranch : Object
                        _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()));
+               //_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);
             });
@@ -523,13 +514,12 @@ public class MergeBranch : Object
             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 (data.get(i) == cur) {
-                 //   _this.build_module.el.set_active_iter(iter);
-               // }
+                       if (_this.ticket.id == ticket.id) {
+                           _this.ticketsel.el.set_active_iter(iter);
+                   }
                 
             }
             
@@ -552,7 +542,7 @@ public class MergeBranch : Object
         public Xcls_Label12(MergeBranch _owner )
         {
             _this = _owner;
-            this.el = new Gtk.Label( "or use this as branch name" );
+            this.el = new Gtk.Label( "Use this commit message" );
 
             // my vars (dec)
 
@@ -608,7 +598,7 @@ public class MergeBranch : Object
 
             // set gobject values
             this.el.relief = Gtk.ReliefStyle.NONE;
-            this.el.label = "Do not create Branch";
+            this.el.label = "Cancel";
         }
 
         // user defined functions
@@ -631,7 +621,7 @@ public class MergeBranch : Object
             // my vars (dec)
 
             // set gobject values
-            this.el.label = "Create Branch";
+            this.el.label = "Do Merge";
         }
 
         // user defined functions