static RepoStatusPopover _RepoStatusPopover; public class RepoStatusPopover : Object { public Gtk.Popover el; private RepoStatusPopover _this; public static RepoStatusPopover singleton() { if (_RepoStatusPopover == null) { _RepoStatusPopover= new RepoStatusPopover(); } return _RepoStatusPopover; } public Xcls_btn_stash btn_stash; public Xcls_btn_commit btn_commit; public Xcls_btn_reset btn_reset; public Xcls_btn_pull btn_pull; public Xcls_label_status label_status; public Xcls_label_diff label_diff; public Xcls_status_view status_view; public Xcls_diff_view diff_view; public Xcls_btn_create btn_create; public Xcls_btn_merge btn_merge; // my vars (def) public GitRepo repo; // ctor public RepoStatusPopover() { _this = this; this.el = new Gtk.Popover( null ); // my vars (dec) // set gobject values this.el.border_width = 0; this.el.modal = true; this.el.position = Gtk.PositionType.RIGHT; var child_0 = new Xcls_Box2( _this ); child_0.ref(); this.el.add ( child_0.el ); } // 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); //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); if (repo.activeTicket == null) { _this.btn_merge.el.set_sensitive(false); } else { _this.btn_merge.el.set_sensitive(true); } _this.btn_create.el.set_sensitive(repo.is_master_branch()); _this.btn_stash.el.set_sensitive(repo.has_local_changes); _this.btn_commit.el.set_sensitive(repo.has_local_changes); _this.btn_reset.el.set_sensitive(repo.has_local_changes); _this.btn_pull.el.set_sensitive(repo.ahead_or_behind == "B"); // 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 { public Gtk.Box el; private RepoStatusPopover _this; // my vars (def) // ctor public Xcls_Box2(RepoStatusPopover _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_start ( child_0.el , false,false,0 ); var child_1 = new Xcls_Notebook9( _this ); child_1.ref(); this.el.add ( child_1.el ); var child_2 = new Xcls_Box18( _this ); child_2.ref(); this.el.pack_end ( child_2.el , false,false,0 ); } // user defined functions } public class Xcls_Box3 : Object { public Gtk.Box el; private RepoStatusPopover _this; // my vars (def) // ctor public Xcls_Box3(RepoStatusPopover _owner ) { _this = _owner; this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 ); // my vars (dec) // set gobject values this.el.homogeneous = true; this.el.expand = false; this.el.vexpand = false; var child_0 = new Xcls_Toolbar4( _this ); child_0.ref(); this.el.add ( child_0.el ); } // user defined functions } public class Xcls_Toolbar4 : Object { public Gtk.Toolbar el; private RepoStatusPopover _this; // my vars (def) // ctor public Xcls_Toolbar4(RepoStatusPopover _owner ) { _this = _owner; this.el = new Gtk.Toolbar(); // my vars (dec) // set gobject values this.el.toolbar_style = Gtk.ToolbarStyle.BOTH_HORIZ; var child_0 = new Xcls_btn_stash( _this ); child_0.ref(); this.el.add ( child_0.el ); var child_1 = new Xcls_btn_commit( _this ); child_1.ref(); this.el.add ( child_1.el ); var child_2 = new Xcls_btn_reset( _this ); child_2.ref(); this.el.add ( child_2.el ); var child_3 = new Xcls_btn_pull( _this ); child_3.ref(); this.el.add ( child_3.el ); } // user defined functions } public class Xcls_btn_stash : Object { public Gtk.ToolButton el; private RepoStatusPopover _this; // my vars (def) // ctor public Xcls_btn_stash(RepoStatusPopover _owner ) { _this = _owner; _this.btn_stash = this; this.el = new Gtk.ToolButton(new Gtk.Image.from_icon_name ("gtk-undo", Gtk.IconSize.SMALL_TOOLBAR), null);; // my vars (dec) // set gobject values this.el.label = "Stash Changes"; this.el.is_important = true; //listeners this.el.clicked.connect( () => { 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(); }); } // user defined functions } public class Xcls_btn_commit : Object { public Gtk.ToolButton el; private RepoStatusPopover _this; // my vars (def) // ctor public Xcls_btn_commit(RepoStatusPopover _owner ) { _this = _owner; _this.btn_commit = this; this.el = new Gtk.ToolButton(new Gtk.Image.from_icon_name ("gtk-save", Gtk.IconSize.SMALL_TOOLBAR), null);; // my vars (dec) // set gobject values this.el.label = "Commit Changes"; this.el.is_important = true; //listeners this.el.clicked.connect( () => { _this.el.hide(); GitMonitor.gitmonitor.stop(); _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); Clones.singleton().reposStore.load(); GitMonitor.gitmonitor.start(); }); } // user defined functions } public class Xcls_btn_reset : Object { public Gtk.ToolButton el; private RepoStatusPopover _this; // my vars (def) // ctor public Xcls_btn_reset(RepoStatusPopover _owner ) { _this = _owner; _this.btn_reset = this; this.el = new Gtk.ToolButton(new Gtk.Image.from_icon_name ("gtk-revert-to-saved", Gtk.IconSize.SMALL_TOOLBAR), null);; // my vars (dec) // set gobject values this.el.label = "Reset / clear changes"; this.el.is_important = true; //listeners this.el.clicked.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(); }); } // user defined functions } public class Xcls_btn_pull : Object { public Gtk.ToolButton el; private RepoStatusPopover _this; // my vars (def) // ctor public Xcls_btn_pull(RepoStatusPopover _owner ) { _this = _owner; _this.btn_pull = this; this.el = new Gtk.ToolButton(new Gtk.Image.from_icon_name ("gtk-goto-bottom", Gtk.IconSize.SMALL_TOOLBAR), null);; // my vars (dec) // set gobject values this.el.label = "Pull updates"; this.el.is_important = true; //listeners this.el.clicked.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(); }); } // user defined functions } public class Xcls_Notebook9 : Object { public Gtk.Notebook el; private RepoStatusPopover _this; // my vars (def) // ctor public Xcls_Notebook9(RepoStatusPopover _owner ) { _this = _owner; this.el = new Gtk.Notebook(); // my vars (dec) // set gobject values this.el.vexpand = true; var child_0 = new Xcls_label_status( _this ); child_0.ref(); var child_1 = new Xcls_label_diff( _this ); child_1.ref(); var child_2 = new Xcls_Box12( _this ); child_2.ref(); this.el.append_page ( child_2.el , _this.label_status.el ); var child_3 = new Xcls_Box15( _this ); child_3.ref(); this.el.append_page ( child_3.el , _this.label_diff.el ); } // user defined functions } public class Xcls_label_status : Object { public Gtk.Label el; private RepoStatusPopover _this; // my vars (def) // ctor public Xcls_label_status(RepoStatusPopover _owner ) { _this = _owner; _this.label_status = this; this.el = new Gtk.Label( "Status" ); // my vars (dec) // set gobject values } // user defined functions } public class Xcls_label_diff : Object { public Gtk.Label el; private RepoStatusPopover _this; // my vars (def) // ctor public Xcls_label_diff(RepoStatusPopover _owner ) { _this = _owner; _this.label_diff = this; this.el = new Gtk.Label( "Diff" ); // my vars (dec) // set gobject values } // user defined functions } public class Xcls_Box12 : Object { public Gtk.Box el; private RepoStatusPopover _this; // my vars (def) // ctor public Xcls_Box12(RepoStatusPopover _owner ) { _this = _owner; this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 ); // my vars (dec) // set gobject values this.el.homogeneous = false; var child_0 = new Xcls_ScrolledWindow13( _this ); child_0.ref(); this.el.pack_start ( child_0.el , true,true,0 ); } // user defined functions } public class Xcls_ScrolledWindow13 : Object { public Gtk.ScrolledWindow el; private RepoStatusPopover _this; // my vars (def) // ctor public Xcls_ScrolledWindow13(RepoStatusPopover _owner ) { _this = _owner; this.el = new Gtk.ScrolledWindow( null, null ); // my vars (dec) // set gobject values var child_0 = new Xcls_status_view( _this ); child_0.ref(); this.el.add ( child_0.el ); } // user defined functions } public class Xcls_status_view : Object { public Gtk.SourceView el; private RepoStatusPopover _this; // my vars (def) // ctor public Xcls_status_view(RepoStatusPopover _owner ) { _this = _owner; _this.status_view = this; this.el = new Gtk.SourceView(); // my vars (dec) // init method var description = Pango.FontDescription.from_string("monospace"); description.set_size(9000); this.el.override_font(description); } // user defined functions } public class Xcls_Box15 : Object { public Gtk.Box el; private RepoStatusPopover _this; // my vars (def) // ctor public Xcls_Box15(RepoStatusPopover _owner ) { _this = _owner; this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 ); // my vars (dec) // set gobject values this.el.homogeneous = false; var child_0 = new Xcls_ScrolledWindow16( _this ); child_0.ref(); this.el.pack_start ( child_0.el , true,true,0 ); } // user defined functions } public class Xcls_ScrolledWindow16 : Object { public Gtk.ScrolledWindow el; private RepoStatusPopover _this; // my vars (def) // ctor public Xcls_ScrolledWindow16(RepoStatusPopover _owner ) { _this = _owner; this.el = new Gtk.ScrolledWindow( null, null ); // 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 ); } // user defined functions } public class Xcls_diff_view : Object { public Gtk.SourceView el; private RepoStatusPopover _this; // my vars (def) // ctor public Xcls_diff_view(RepoStatusPopover _owner ) { _this = _owner; _this.diff_view = this; this.el = new Gtk.SourceView(); // my vars (dec) // init method var description = Pango.FontDescription.from_string("monospace"); description.set_size(9000); this.el.override_font(description); var lm = Gtk.SourceLanguageManager.get_default(); ((Gtk.SourceBuffer)(this.el.get_buffer())).set_language( lm.get_language("diff") ); } // user defined functions } public class Xcls_Box18 : Object { public Gtk.Box el; private RepoStatusPopover _this; // my vars (def) // ctor public Xcls_Box18(RepoStatusPopover _owner ) { _this = _owner; this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 ); // my vars (dec) // set gobject values this.el.homogeneous = true; this.el.expand = false; this.el.vexpand = false; var child_0 = new Xcls_Toolbar19( _this ); child_0.ref(); this.el.add ( child_0.el ); } // user defined functions } public class Xcls_Toolbar19 : Object { public Gtk.Toolbar el; private RepoStatusPopover _this; // my vars (def) // ctor public Xcls_Toolbar19(RepoStatusPopover _owner ) { _this = _owner; this.el = new Gtk.Toolbar(); // my vars (dec) // set gobject values this.el.toolbar_style = Gtk.ToolbarStyle.BOTH_HORIZ; var child_0 = new Xcls_btn_create( _this ); child_0.ref(); this.el.add ( child_0.el ); var child_1 = new Xcls_btn_merge( _this ); child_1.ref(); this.el.add ( child_1.el ); var child_2 = new Xcls_ToolButton22( _this ); child_2.ref(); this.el.add ( child_2.el ); } // user defined functions } public class Xcls_btn_create : Object { public Gtk.ToolButton el; private RepoStatusPopover _this; // my vars (def) // ctor public Xcls_btn_create(RepoStatusPopover _owner ) { _this = _owner; _this.btn_create = this; this.el = new Gtk.ToolButton(new Gtk.Image.from_icon_name ("gtk-add", Gtk.IconSize.SMALL_TOOLBAR), null);; // my vars (dec) // set gobject values this.el.label = "Create Branch / Start ticket"; this.el.is_important = true; //listeners this.el.clicked.connect( () => { var oldq = new Gee.ArrayList(); Clones.singleton().el.response(-1); NewBranch.singleton().show(_this.repo, oldq); }); } // user defined functions } public class Xcls_btn_merge : Object { public Gtk.ToolButton el; private RepoStatusPopover _this; // my vars (def) // ctor public Xcls_btn_merge(RepoStatusPopover _owner ) { _this = _owner; _this.btn_merge = this; this.el = new Gtk.ToolButton(new Gtk.Image.from_icon_name ("gtk-goto-top", Gtk.IconSize.SMALL_TOOLBAR), null);; // my vars (dec) // set gobject values this.el.label = "Merge branch / Complete ticket"; this.el.is_important = true; //listeners this.el.clicked.connect( () => { _this.el.hide(); Clones.singleton().el.response(-1); if (_this.repo.activeTicket != null) { MergeBranch.singleton().show(_this.repo.activeTicket, null); } }); } // user defined functions } public class Xcls_ToolButton22 : Object { public Gtk.ToolButton el; private RepoStatusPopover _this; // my vars (def) // ctor public Xcls_ToolButton22(RepoStatusPopover _owner ) { _this = _owner; this.el = new Gtk.ToolButton(new Gtk.Image.from_icon_name ("gtk-new", Gtk.IconSize.SMALL_TOOLBAR), null);; // my vars (dec) // set gobject values this.el.label = "Create Ticket"; this.el.is_important = true; //listeners this.el.clicked.connect( () => { Clones.singleton().el.response(-1); _this.el.hide(); Ticket.singleton().show( _this.repo); }); } // user defined functions } }