{ "name" : "RepoStatusPopover", "parent" : "", "title" : "", "path" : "/home/alan/gitlive/gitlive/RepoStatusPopover.bjs", "permname" : "", "modOrder" : "", "build_module" : "gitlive", "items" : [ { "GitRepo repo" : "", "| void show" : " (Gtk.Widget btn, Gdk.Rectangle rect, GitRepo repo) {\n _this.repo = repo;\n // get the active project.\n var lm = Gtk.SourceLanguageManager.get_default();\n \n// ((Gtk.SourceBuffer)(_this.view.el.get_buffer())) .set_language(\n // lm.get_language(\"html\")\n // );\n \n //print (project.fn);\n //project.runhtml = project.runhtml || '';\n _this.diff_view.el.get_buffer().set_text(repo.git_diff);\n _this.status_view.el.get_buffer().set_text(repo.git_status);\n \n \t//console.log('show all');\n\tthis.el.set_modal(true);\n\tthis.el.set_relative_to(btn);\n this.el.set_pointing_to(rect);\n \n\t//this.el.set_position(Gtk.PositionType.RIGHT);\n\n\tif (repo.activeTicket == null) {\n\t\t_this.btn_merge.el.set_sensitive(false);\n\t} else {\n\t\t_this.btn_merge.el.set_sensitive(true);\n\t}\n\t_this.btn_create.el.set_sensitive(repo.is_master_branch());\n\t\n\t_this.btn_stash.el.set_sensitive(repo.has_local_changes);\n\t_this.btn_commit.el.set_sensitive(repo.has_local_changes);\n\t_this.btn_reset.el.set_sensitive(repo.has_local_changes);\n\t_this.btn_pull.el.set_sensitive(repo.ahead_or_behind == \"B\");\t\n\t\n\t// window + header?\n\t GLib.debug(\"SHOWALL - POPIP\\n\");\n\tthis.el.show_all();\n\t//this.el.set_size_request(800,500);\n//\tthis.diff_view.el.grab_focus();\n\t\n //this.el.show_all();\n}\n", "xtype" : "Popover", "Gtk.PositionType position" : "Gtk.PositionType.RIGHT", "$ xns" : "Gtk", "bool modal" : true, "uint border_width" : 0, "items" : [ { "xtype" : "Box", "* pack" : "add", "$ xns" : "Gtk", "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL", "border_width" : 5, "$ homogeneous" : false, "items" : [ { "* pack" : "pack_start,false,false,0", "xtype" : "Box", "gboolean expand" : false, "$ xns" : "Gtk", "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL", "$ homogeneous" : true, "gboolean vexpand" : false, "items" : [ { "Gtk.ToolbarStyle toolbar_style" : "Gtk.ToolbarStyle.BOTH_HORIZ", "xtype" : "Toolbar", "* pack" : "add", "$ xns" : "Gtk", "items" : [ { "listeners" : { "clicked" : "() => {\n \n \n GitMonitor.gitmonitor.stop();\n _this.repo.git({ \"stash\" , \"--all\" });\n _this.repo.loadStatus();\n GitMonitor.gitmonitor.start();\n _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff);\n _this.status_view.el.get_buffer().set_text(_this.repo.git_status);\n Clones.singleton().reposStore.load();\n \n _this.el.hide();\n \n}" }, "label" : "Stash Changes", "* ctor" : "new Gtk.ToolButton(new Gtk.Image.from_icon_name (\"gtk-undo\", Gtk.IconSize.SMALL_TOOLBAR), null);", "id" : "btn_stash", "xtype" : "ToolButton", "* pack" : "add", "$ xns" : "Gtk", "bool is_important" : true }, { "listeners" : { "clicked" : "() => {\n _this.el.hide();\n GitMonitor.gitmonitor.stop();\n _this.repo.git({ \"commit\" , \"-a\" ,\"-m\", \"Uncommited changes synced\" });\n _this.repo.push();\n _this.repo.loadStatus();\n \n _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff);\n _this.status_view.el.get_buffer().set_text(_this.repo.git_status);\n \n\n Clones.singleton().reposStore.load();\n GitMonitor.gitmonitor.start();\n \n}" }, "label" : "Commit Changes", "* ctor" : "new Gtk.ToolButton(new Gtk.Image.from_icon_name (\"gtk-save\", Gtk.IconSize.SMALL_TOOLBAR), null);", "id" : "btn_commit", "* pack" : "add", "xtype" : "ToolButton", "$ xns" : "Gtk", "bool is_important" : true }, { "listeners" : { "clicked" : "() => {\n \n \n GitMonitor.gitmonitor.stop();\n _this.repo.git({ \"reset\" , \"--hard\" });\n _this.repo.loadStatus();\n GitMonitor.gitmonitor.start();\n _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff);\n _this.status_view.el.get_buffer().set_text(_this.repo.git_status);\n Clones.singleton().reposStore.load();\n \n _this.el.hide();\n \n}" }, "label" : "Reset / clear changes", "* ctor" : "new Gtk.ToolButton(new Gtk.Image.from_icon_name (\"gtk-revert-to-saved\", Gtk.IconSize.SMALL_TOOLBAR), null);", "id" : "btn_reset", "* pack" : "add", "xtype" : "ToolButton", "$ xns" : "Gtk", "bool is_important" : true }, { "listeners" : { "clicked" : "() => {\n \n \n GitMonitor.gitmonitor.stop();\n _this.repo.git({ \"pull\" , \"--all\" });\n _this.repo.loadStatus();\n GitMonitor.gitmonitor.start();\n _this.diff_view.el.get_buffer().set_text(_this.repo.git_diff);\n _this.status_view.el.get_buffer().set_text(_this.repo.git_status);\n Clones.singleton().reposStore.load();\n \n _this.el.hide();\n \n}" }, "label" : "Pull updates", "* ctor" : "new Gtk.ToolButton(new Gtk.Image.from_icon_name (\"gtk-goto-bottom\", Gtk.IconSize.SMALL_TOOLBAR), null);", "id" : "btn_pull", "xtype" : "ToolButton", "* pack" : "add", "$ xns" : "Gtk", "bool is_important" : true } ] } ] }, { "* pack" : "add", "xtype" : "Notebook", "$ xns" : "Gtk", "bool vexpand" : true, "items" : [ { "id" : "label_status", "* pack" : false, "xtype" : "Label", "$ xns" : "Gtk", "utf8 label" : "Status" }, { "id" : "label_diff", "xtype" : "Label", "* pack" : false, "$ xns" : "Gtk", "utf8 label" : "Diff" }, { "* pack" : "append_page,_this.label_status.el", "xtype" : "Box", "gboolean homogeneous" : false, "$ xns" : "Gtk", "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL", "items" : [ { "* pack" : "pack_start,true,true,0", "xtype" : "ScrolledWindow", "$ xns" : "Gtk", "items" : [ { "id" : "status_view", "* init" : " \n var description = Pango.FontDescription.from_string(\"monospace\");\n description.set_size(9000);\n this.el.override_font(description);", "xtype" : "View", "* pack" : "add", "$ xns" : "GtkSource" } ] } ] }, { "* pack" : "append_page,_this.label_diff.el", "xtype" : "Box", "gboolean homogeneous" : false, "$ xns" : "Gtk", "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL", "items" : [ { "int height_request" : 400, "* pack" : "pack_start,true,true,0", "xtype" : "ScrolledWindow", "$ xns" : "Gtk", "items" : [ { "id" : "diff_view", "* init" : " \n var description = Pango.FontDescription.from_string(\"monospace\");\n description.set_size(9000);\n this.el.override_font(description);\n var lm = Gtk.SourceLanguageManager.get_default();\n \n ((Gtk.SourceBuffer)(this.el.get_buffer())).set_language(\n lm.get_language(\"diff\")\n );\n ", "xtype" : "View", "* pack" : "add", "$ xns" : "GtkSource" } ] } ] } ] }, { "* pack" : "pack_end,false,false,0", "xtype" : "Box", "gboolean expand" : false, "$ xns" : "Gtk", "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL", "$ homogeneous" : true, "gboolean vexpand" : false, "items" : [ { "Gtk.ToolbarStyle toolbar_style" : "Gtk.ToolbarStyle.BOTH_HORIZ", "* pack" : "add", "xtype" : "Toolbar", "$ xns" : "Gtk", "items" : [ { "listeners" : { "clicked" : "() => {\n var oldq = new Gee.ArrayList(); \n\n\tClones.singleton().el.response(-1);\n\tNewBranch.singleton().show(_this.repo, oldq);\n\n \n}" }, "label" : "Create Branch / Start ticket", "* ctor" : "new Gtk.ToolButton(new Gtk.Image.from_icon_name (\"gtk-add\", Gtk.IconSize.SMALL_TOOLBAR), null);", "id" : "btn_create", "xtype" : "ToolButton", "* pack" : "add", "$ xns" : "Gtk", "bool is_important" : true }, { "listeners" : { "clicked" : "() => {\n\n _this.el.hide();\n Clones.singleton().el.response(-1);\n if (_this.repo.activeTicket != null) {\n\t MergeBranch.singleton().show(_this.repo.activeTicket, null); \n }\n \n}" }, "label" : "Merge branch / Complete ticket", "* ctor" : "new Gtk.ToolButton(new Gtk.Image.from_icon_name (\"gtk-goto-top\", Gtk.IconSize.SMALL_TOOLBAR), null);", "id" : "btn_merge", "xtype" : "ToolButton", "* pack" : "add", "$ xns" : "Gtk", "bool is_important" : true }, { "listeners" : { "clicked" : "() => {\n \n\n\n Clones.singleton().el.response(-1);\n \n _this.el.hide();\n Ticket.singleton().show( _this.repo);\n \n}" }, "label" : "Create Ticket", "* ctor" : "new Gtk.ToolButton(new Gtk.Image.from_icon_name (\"gtk-new\", Gtk.IconSize.SMALL_TOOLBAR), null);", "* pack" : "add", "xtype" : "ToolButton", "$ xns" : "Gtk", "bool is_important" : true } ] } ] } ] } ] } ] }