X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=RepoStatusPopover.vala;h=5f0b2577b7579071feb307042f6fa198f7cb065d;hb=267f1afc73bb376451b5ec8f0014f878f472d740;hp=0e363fb427d919c9e585718e3f494e9b3068cf73;hpb=1f7e6b712f9ee99d621a3a67f1c0795c6106bde6;p=gitlive diff --git a/RepoStatusPopover.vala b/RepoStatusPopover.vala index 0e363fb4..5f0b2577 100644 --- a/RepoStatusPopover.vala +++ b/RepoStatusPopover.vala @@ -62,7 +62,7 @@ public class RepoStatusPopover : Object // window + header? GLib.debug("SHOWALL - POPIP\n"); this.el.show_all(); - this.el.set_size_request(800,500); + //this.el.set_size_request(800,500); // this.diff_view.el.grab_focus(); //this.el.show_all(); @@ -293,6 +293,7 @@ public class RepoStatusPopover : Object // my vars (dec) // set gobject values + this.el.height_request = 400; var child_0 = new Xcls_diff_view( _this ); child_0.ref(); this.el.add ( child_0.el ); @@ -359,6 +360,18 @@ public class RepoStatusPopover : Object var child_2 = new Xcls_Button15( _this ); child_2.ref(); this.el.add ( child_2.el ); + var child_3 = new Xcls_Button16( _this ); + child_3.ref(); + this.el.add ( child_3.el ); + var child_4 = new Xcls_Button17( _this ); + child_4.ref(); + this.el.add ( child_4.el ); + var child_5 = new Xcls_Button18( _this ); + child_5.ref(); + this.el.add ( child_5.el ); + var child_6 = new Xcls_Button19( _this ); + child_6.ref(); + this.el.add ( child_6.el ); } // user defined functions @@ -384,8 +397,18 @@ public class RepoStatusPopover : Object //listeners this.el.button_press_event.connect( () => { - _this.el.hide(); - return false; + + + GitMonitor.gitmonitor.stop(); + _this.repo.git({ "stash" , "--all" }); + _this.repo.loadStatus(); + GitMonitor.gitmonitor.start(); + _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff); + _this.status_view.el.get_buffer().set_text(_this.repo.git_status); + Clones.singleton().reposStore.load(); + + _this.el.hide(); + return false; }); } @@ -413,8 +436,17 @@ public class RepoStatusPopover : Object //listeners this.el.button_press_event.connect( () => { - _this.el.hide(); - return false; + _this.repo.git({ "commit" , "-a" ,"-m", "Uncommited changes synced" }); + _this.repo.push(); + _this.repo.loadStatus(); + + _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff); + _this.status_view.el.get_buffer().set_text(_this.repo.git_status); + + _this.el.hide(); + Clones.singleton().reposStore.load(); + + return false; }); } @@ -438,12 +470,164 @@ public class RepoStatusPopover : Object // my vars (dec) // set gobject values - this.el.label = "Ignore for now"; + this.el.label = "Create Branch / Start ticket"; + + //listeners + this.el.button_press_event.connect( () => { + var oldq = new Gee.ArrayList(); + + Clones.singleton().el.response(-1); + NewBranch.singleton().show(_this.repo, oldq); + + return false; + }); + } + + // user defined functions + } + + public class Xcls_Button16 : Object + { + public Gtk.Button el; + private RepoStatusPopover _this; + + + // my vars (def) + + // ctor + public Xcls_Button16(RepoStatusPopover _owner ) + { + _this = _owner; + this.el = new Gtk.Button(); + + // my vars (dec) + + // set gobject values + this.el.label = "Reset to remote"; + + //listeners + this.el.button_press_event.connect( () => { + + + GitMonitor.gitmonitor.stop(); + _this.repo.git({ "reset" , "--hard" }); + _this.repo.loadStatus(); + GitMonitor.gitmonitor.start(); + _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff); + _this.status_view.el.get_buffer().set_text(_this.repo.git_status); + Clones.singleton().reposStore.load(); + + _this.el.hide(); + return false; + }); + } + + // user defined functions + } + + public class Xcls_Button17 : Object + { + public Gtk.Button el; + private RepoStatusPopover _this; + + + // my vars (def) + + // ctor + public Xcls_Button17(RepoStatusPopover _owner ) + { + _this = _owner; + this.el = new Gtk.Button(); + + // my vars (dec) + + // set gobject values + this.el.label = "Pull updates"; + + //listeners + this.el.button_press_event.connect( () => { + + + GitMonitor.gitmonitor.stop(); + _this.repo.git({ "pull" , "--all" }); + _this.repo.loadStatus(); + GitMonitor.gitmonitor.start(); + _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff); + _this.status_view.el.get_buffer().set_text(_this.repo.git_status); + Clones.singleton().reposStore.load(); + + _this.el.hide(); + return false; + }); + } + + // user defined functions + } + + public class Xcls_Button18 : Object + { + public Gtk.Button el; + private RepoStatusPopover _this; + + + // my vars (def) + + // ctor + public Xcls_Button18(RepoStatusPopover _owner ) + { + _this = _owner; + this.el = new Gtk.Button(); + + // my vars (dec) + + // set gobject values + this.el.label = "Merge branch/ ticket"; + + //listeners + this.el.button_press_event.connect( () => { + + _this.el.hide(); + Clones.singleton().el.response(-1); + if (this.repo.activeTicket) { + MergeBranch.singleton().show(this.repo.activeTicket, null); + } + return false; + }); + } + + // user defined functions + } + + public class Xcls_Button19 : Object + { + public Gtk.Button el; + private RepoStatusPopover _this; + + + // my vars (def) + + // ctor + public Xcls_Button19(RepoStatusPopover _owner ) + { + _this = _owner; + this.el = new Gtk.Button(); + + // my vars (dec) + + // set gobject values + this.el.label = "Create Ticket"; //listeners this.el.button_press_event.connect( () => { - _this.el.hide(); - return false; + + + + Clones.singleton().el.hide(); + + _this.el.hide(); + Ticket.singleton().show( _this.repo); + + return false; }); }