public Xcls_dbcellrenderer dbcellrenderer;
public Xcls_dbmodel dbmodel;
public Xcls_name name;
+ public Xcls_createbtn createbtn;
public Xcls_btn_not_me btn_not_me;
public Xcls_btn_closed btn_closed;
+ public Xcls_scrolled_window scrolled_window;
+ public Xcls_view view;
+ public Xcls_label_select_ticket label_select_ticket;
+ public Xcls_label_crete_ticket label_crete_ticket;
+ public Xcls_label_quick_commit label_quick_commit;
// my vars (def)
public GitRepo? repo;
// set gobject values
this.el.title = "Create a working branch ";
- this.el.default_height = 200;
+ this.el.default_height = 500;
this.el.default_width = 500;
this.el.deletable = true;
this.el.modal = true;
- var child_0 = new Xcls_VBox2( _this );
+ var child_0 = new Xcls_Box2( _this );
child_0.ref();
this.el.get_content_area().add ( child_0.el );
+ var child_1 = new Xcls_Notebook22( _this );
+ child_1.ref();
+ this.el.add ( child_1.el );
//listeners
this.el.delete_event.connect( (self, event) => {
this.el.response.connect( (self, response_id) => {
GLib.debug("got %d", (int) response_id);
- if (response_id < 1) {
- _this.el.hide();
- this.running = false;
- return;
- }
+
+
+
// have they selected a ticket..
// make that the current active ticket?
// -- 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.
+
+
+ if (response_id < 1) {
+ _this.el.hide();
+ this.running = false;
+ return;
+ }
+
var ticket_id = _this.ticketsel.selectedTicketId();
if (this.repo != null) {
}
}
-
+
this.running = false;
}
// user defined functions
- public void show ( GitRepo repo, Gee.ArrayList<GitMonitorQueue> queue )
+ public void show ( GitRepo repo, Gee.ArrayList<GitMonitorQueue> queue, string tid = "" )
{
// this.el.set_gravity(Gdk.Gravity.NORTH);
if (this.running) { // should not happen!!
this.repo = repo;
-
-
+
this.el.move((Gdk.Screen.width() / 2)- 250 ,0);
this.el.set_default_size( 500,200); // not sure why it grows..
this.el.set_keep_above(true);
- var curproj = RooTicket.singleton().getProjectByRepo(this.repo);
+ var curproj = RooProject.getProjectByRepo(this.repo);
_this.prmodel.loadProjects(curproj == null ? "" : curproj.id);
- _this.dbmodel.loadTickets(curproj == null ? "": curproj.id);
+ _this.dbmodel.loadTickets(curproj == null ? "": curproj.id, tid);
+ _this.createbtn.updateState();
+
+ _this.ticketsel.el.get_child().get_style_context().remove_class("warning");
+ if (tid != "") {
+ var name = RooTicket.singleton().usernameLocal();
+ var ticket = RooTicket.singleton().getById(tid);
+ _this.name.el.set_text("wip_%s_T%s_%s".printf(name,ticket.id, ticket.summaryToBranchName()));
+ } else {
+ _this.ticketsel.el.get_child().get_style_context().add_class("warning");
+ }
+ _this.view.loadTicket(tid);
this.el.run();
}
- public class Xcls_VBox2 : Object
+ public class Xcls_Box2 : Object
{
- public Gtk.VBox el;
+ public Gtk.Box el;
private NewBranch _this;
// my vars (def)
// ctor
- public Xcls_VBox2(NewBranch _owner )
+ public Xcls_Box2(NewBranch _owner )
{
_this = _owner;
- this.el = new Gtk.VBox( true, 0 );
+ this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 );
// my vars (dec)
var child_0 = new Xcls_Table3( _this );
child_0.ref();
this.el.pack_start ( child_0.el , false,false,0 );
+ var child_1 = new Xcls_scrolled_window( _this );
+ child_1.ref();
+ this.el.add ( child_1.el );
}
// user defined functions
var child_6 = new Xcls_name( _this );
child_6.ref();
this.el.attach_defaults ( child_6.el , 0,4,4,5 );
- var child_7 = new Xcls_Button15( _this );
+ var child_7 = new Xcls_createbtn( _this );
child_7.ref();
this.el.attach_defaults ( child_7.el , 4,5,4,5 );
var child_8 = new Xcls_Box16( _this );
// user defined functions
public void loadProjects (string id) {
- var rt = RooTicket.singleton();
- rt.loadProjects();
+
_this.projectsel.loading = true;
if (id == "") {
_this.projectsel.el.set_active_iter(iter);
}
- var projects = rt.projects;
- foreach(var project in projects) {
+
+ foreach(var project in RooProject.projects()) {
el.append(out iter);
//this.el.add_attribute(_this.dbcellrenderer.el , "markup", 1 );
this.el.set_entry_text_column(1);
+ this.el.get_child().set_sensitive(false);
//listeners
this.el.changed.connect( () => {
var name = RooTicket.singleton().usernameLocal();
+ this.el.get_child().get_style_context().remove_class("warning");
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")));
+ _this.view.loadTicket("");
+
+ this.el.get_child().get_style_context().add_class("warning");
+ _this.createbtn.updateState();
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.scrolled_window.el.show();
+
+ _this.view.loadTicket(ticket.id);
+ _this.createbtn.updateState();
//GLib.debug (//"Selection: %s, %s\n", (string) val1, (string) val2);
});
}
// user defined functions
- public void loadTickets (string project_id) {
+ public void loadTickets (string project_id , string tid = "") {
RooTicket.singleton().loadTickets(
project_id,
- _this.btn_not_me.el.active ? RooTicket.NotMe.TRUE : RooTicket.NotMe.FALSE,
- _this.btn_closed.el.active ? RooTicket.Closed.TRUE : RooTicket.Closed.FALSE
+ _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;
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));
+ el.set_value(iter, 1, "#%s %s".printf( ticket.id, ticket.summary));
- //if (data.get(i) == cur) {
- // _this.build_module.el.set_active_iter(iter);
- // }
+ if (ticket.id == tid) {
+ _this.ticketsel.el.set_active_iter(iter);
+ }
}
// set gobject values
this.el.expand = false;
this.el.label = "New Ticket";
+
+ //listeners
+ this.el.clicked.connect( () => {
+ _this.el.response(-1);
+ Ticket.singleton().show(_this.repo);
+
+ });
}
// user defined functions
// user defined functions
}
- public class Xcls_Button15 : Object
+ public class Xcls_createbtn : Object
{
public Gtk.Button el;
private NewBranch _this;
// my vars (def)
// ctor
- public Xcls_Button15(NewBranch _owner )
+ public Xcls_createbtn(NewBranch _owner )
{
_this = _owner;
+ _this.createbtn = this;
this.el = new Gtk.Button();
// my vars (dec)
}
//listeners
- this.el.activate.connect( () => {
+ this.el.clicked.connect( () => {
+
+ GLib.debug("fire response = 1");
+
+ var ticket_id = _this.ticketsel.selectedTicketId();
+
+ if (ticket_id == "") {
+ _this.ticketsel.el.get_child().get_style_context().add_class("warning");
+ return;
+ }
+
_this.el.response(1);
});
}
// user defined functions
+ public void updateState () {
+
+ var ticket_id = _this.ticketsel.selectedTicketId();
+
+ if (ticket_id == "") {
+ this.el.set_sensitive(false);
+ return;
+ }
+
+ this.el.set_sensitive(true);
+
+ }
}
public class Xcls_Box16 : Object
//listeners
this.el.activate_link.connect( (uri) => {
if (uri == "refresh") {
- var curproj = RooTicket.singleton().getProjectByRepo(_this.repo);
+ RooProject.reload();
+ var curproj = RooProject.getProjectByRepo(_this.repo);
_this.prmodel.loadProjects(curproj == null ? "": curproj.id);
_this.dbmodel.loadTickets(curproj == null ? "": curproj.id);
+ public class Xcls_scrolled_window : Object
+ {
+ public Gtk.ScrolledWindow el;
+ private NewBranch _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_scrolled_window(NewBranch _owner )
+ {
+ _this = _owner;
+ _this.scrolled_window = this;
+ this.el = new Gtk.ScrolledWindow( null, null );
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.height_request = 500;
+ this.el.vexpand = true;
+ var child_0 = new Xcls_view( _this );
+ child_0.ref();
+ this.el.add ( child_0.el );
+
+ // init method
+
+ {
+ this.el.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);
+ }
+ }
+
+ // user defined functions
+ }
+ public class Xcls_view : Object
+ {
+ public WebKit.WebView el;
+ private NewBranch _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_view(NewBranch _owner )
+ {
+ _this = _owner;
+ _this.view = this;
+ this.el = new WebKit.WebView();
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ public void loadTicket (string tid) {
+ int h,w;
+ _this.el.get_size(out w, out h);
+
+ if (tid == "") {
+ _this.scrolled_window.el.hide();
+ _this.el.resize(w, 150);
+ } else {
+ _this.scrolled_window.el.show();
+ _this.el.resize(w, 800);
+ }
+
+ var rs = RooTicket.singleton();
+ var uri = new WebKit.URIRequest("https://roojs.com/admin.php/MTrack/View/" + tid);
+ var hd = uri.get_http_headers();
+ var authCode = Base64.encode ("%s:%s".printf(rs.username, rs.password).data);
+ hd.append("Authorization", "Basic %s".printf(authCode));
+
+ this.el.load_request(uri);
+ }
+ }
+
+
+
+ public class Xcls_Notebook22 : Object
+ {
+ public Gtk.Notebook el;
+ private NewBranch _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_Notebook22(NewBranch _owner )
+ {
+ _this = _owner;
+ this.el = new Gtk.Notebook();
+
+ // my vars (dec)
+
+ // set gobject values
+ this.el.vexpand = true;
+ var child_0 = new Xcls_label_select_ticket( _this );
+ child_0.ref();
+ var child_1 = new Xcls_label_crete_ticket( _this );
+ child_1.ref();
+ var child_2 = new Xcls_label_quick_commit( _this );
+ child_2.ref();
+ }
+
+ // user defined functions
+ }
+ public class Xcls_label_select_ticket : Object
+ {
+ public Gtk.Label el;
+ private NewBranch _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_label_select_ticket(NewBranch _owner )
+ {
+ _this = _owner;
+ _this.label_select_ticket = this;
+ this.el = new Gtk.Label( "Select Existing Ticket to work on" );
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_label_crete_ticket : Object
+ {
+ public Gtk.Label el;
+ private NewBranch _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_label_crete_ticket(NewBranch _owner )
+ {
+ _this = _owner;
+ _this.label_crete_ticket = this;
+ this.el = new Gtk.Label( "Create a new Ticket" );
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ }
+
+ public class Xcls_label_quick_commit : Object
+ {
+ public Gtk.Label el;
+ private NewBranch _this;
+
+
+ // my vars (def)
+
+ // ctor
+ public Xcls_label_quick_commit(NewBranch _owner )
+ {
+ _this = _owner;
+ _this.label_quick_commit = this;
+ this.el = new Gtk.Label( "Quick Commit" );
+
+ // my vars (dec)
+
+ // set gobject values
+ }
+
+ // user defined functions
+ }
+
}