From: Alan Knowles Date: Wed, 19 Dec 2018 05:46:42 +0000 (+0800) Subject: Fix #5623 - reset, pull, create ticket on popover X-Git-Url: http://git.roojs.org/?p=gitlive;a=commitdiff_plain;h=eca9cfacf54c52df5976316aaca946949129dbbb Fix #5623 - reset, pull, create ticket on popover --- diff --git a/Clones.bjs b/Clones.bjs index 78d1cb23..36a60918 100644 --- a/Clones.bjs +++ b/Clones.bjs @@ -30,8 +30,8 @@ "items" : [ { "bool homogeneous" : true, - "* pack" : "pack_start,false,false,0", "xtype" : "Box", + "* pack" : "pack_start,false,false,0", "$ xns" : "Gtk", "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL", "items" : [ @@ -49,8 +49,8 @@ }, { "* init" : " {\n \n this.el.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);\n}\n", - "bool hexpand" : true, "bool expand" : true, + "bool hexpand" : true, "xtype" : "ScrolledWindow", "* pack" : "pack_end,true,true,0", "Gtk.ShadowType shadow_type" : "Gtk.ShadowType.IN", @@ -62,8 +62,8 @@ "cursor_changed" : "() => {\n // SEE SELECTION.CHANGED\n /*\n \n return;\n \n if (this.el.get_selection().count_selected_rows() < 1) {\n //nothing? - clea it?\n return;\n }\n var ret = {}; \n var model = this.get('/changedFilesStore');\n\n var s = this.el.get_selection();\n var files = [];\n s.selected_foreach(function(model,p,iter) {\n \n files.push( model.get_value(iter, 0).value.get_string());\n \n });\n this.get('/patchview').showDiff(files); \n //var value = ''+ ret.model.get_value(ret.iter, 1).value.get_string();\n //print(\"OUT?\" + value);// id..\n // load the list in the right grid..\n \n return true;\n*/\n}" }, "id" : "reposView", - "bool activate_on_single_click" : true, "* init" : " \n{\n var selection = this.el.get_selection();\n selection.set_mode( Gtk.SelectionMode.SINGLE);\n\n\n var description = new Pango.FontDescription();\n description.set_size(10000);\n this.el.override_font(description);\n \n}\n", + "bool activate_on_single_click" : true, "xtype" : "TreeView", "* pack" : "add", "int search_column" : 0, @@ -94,8 +94,8 @@ "toggled" : " (self, path) => {\n \n \tGtk.TreeIter iter;\n \t_this.reposStore.el.get_iter_from_string(out iter, path);\n \t\n \tGLib.Value val;\n \tGLib.Value rval;\n \t_this.reposStore.el.get_value(iter, 4, out val);\n \t_this.reposStore.el.get_value(iter, 6, out rval);\n \t\n \tvar repopath = (string)rval;\n \tvar bval = (bool)val;\n \t_this.reposStore.el.set_value(iter, 4, !bval);\n \tGLib.debug(\"got repopath? %s\", repopath);\n \t\n \tvar repo = GitRepo.get(repopath);\n \trepo.set_autocommit(!bval);\n \t\n \t\n \t\n \n}" }, "id" : "cr_autocommit", - "* pack" : "pack_start,false", "xtype" : "CellRendererToggle", + "* pack" : "pack_start,false", "$ xns" : "Gtk", "$ mode" : "Gtk.CellRendererMode.ACTIVATABLE" } @@ -115,8 +115,8 @@ "toggled" : " (self, path) => {\n \n \tGtk.TreeIter iter;\n \t_this.reposStore.el.get_iter_from_string(out iter, path);\n \t\n \tGLib.Value val;\n \tGLib.Value rval;\n \t_this.reposStore.el.get_value(iter, 5, out val);\n \t_this.reposStore.el.get_value(iter, 6, out rval);\n \t\n \tvar repopath = (string)rval;\n \tvar bval = (bool)val;\n \t_this.reposStore.el.set_value(iter, 5, !bval);\n \tvar repo = GitRepo.get(repopath);\n \trepo.set_autopush(!bval);\n \t\n \t\n \t\n \n}" }, "id" : "cr_autopush", - "* pack" : "pack_start,false", "xtype" : "CellRendererToggle", + "* pack" : "pack_start,false", "$ xns" : "Gtk", "$ mode" : "Gtk.CellRendererMode.ACTIVATABLE" } @@ -136,8 +136,8 @@ "toggled" : " (self, path) => {\n \n \tGtk.TreeIter iter;\n \t_this.reposStore.el.get_iter_from_string(out iter, path);\n \t\n \tGLib.Value val;\n \tGLib.Value rval;\n \t_this.reposStore.el.get_value(iter, 8, out val);\n \t_this.reposStore.el.get_value(iter, 6, out rval);\n \t\n \tvar repopath = (string)rval;\n \tvar bval = (bool)val;\n \t_this.reposStore.el.set_value(iter, 8, !bval);\n \tvar repo = GitRepo.get(repopath);\n \trepo.set_auto_branch(!bval);\n \t\n \t\n \t\n \n}" }, "id" : "cr_autobranch", - "xtype" : "CellRendererToggle", "* pack" : "pack_start,false", + "xtype" : "CellRendererToggle", "$ xns" : "Gtk", "$ mode" : "Gtk.CellRendererMode.ACTIVATABLE" } @@ -145,8 +145,8 @@ }, { "id" : "tv_repo", - "* init" : "\n this.el.add_attribute(_this.cr_repo.el , \"markup\", 0 );\n", "Gtk.SortType sort_order" : "Gtk.SortType.ASCENDING", + "* init" : "\n this.el.add_attribute(_this.cr_repo.el , \"markup\", 0 );\n", "title" : "Repo", "* pack" : "append_column", "xtype" : "TreeViewColumn", @@ -157,8 +157,8 @@ "items" : [ { "id" : "cr_repo", - "* pack" : "pack_start,false", "xtype" : "CellRendererText", + "* pack" : "pack_start,false", "$ xns" : "Gtk" } ] @@ -174,8 +174,8 @@ "items" : [ { "id" : "cr_active_ticket", - "xtype" : "CellRendererText", "* pack" : "pack_start,false", + "xtype" : "CellRendererText", "$ xns" : "Gtk" } ] @@ -191,8 +191,8 @@ "items" : [ { "id" : "cr_current_branch", - "* pack" : "pack_start,false", "xtype" : "CellRendererText", + "* pack" : "pack_start,false", "$ xns" : "Gtk" } ] @@ -208,8 +208,8 @@ "items" : [ { "id" : "cr_last_updated", - "* pack" : "pack_start,false", "xtype" : "CellRendererText", + "* pack" : "pack_start,false", "$ xns" : "Gtk" } ] @@ -226,8 +226,8 @@ "items" : [ { "id" : "cr_all_branches", - "* pack" : "pack_start,false", "xtype" : "CellRendererText", + "* pack" : "pack_start,false", "$ xns" : "Gtk" } ] diff --git a/RepoStatusPopover.bjs b/RepoStatusPopover.bjs index 8fb48991..1e7e58f3 100644 --- a/RepoStatusPopover.bjs +++ b/RepoStatusPopover.bjs @@ -9,7 +9,7 @@ "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\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", + "| 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", @@ -25,9 +25,77 @@ "$ homogeneous" : false, "items" : [ { - "* pack" : "pack_start,true,true,0", + "* 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" : { + "button_press_event" : "() => {\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 return false;\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" : { + "button_press_event" : "() => {\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 _this.el.hide();\n Clones.singleton().reposStore.load();\n \n return false;\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" : { + "button_press_event" : "() => {\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 return false;\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" : { + "button_press_event" : "() => {\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 return false;\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", @@ -102,40 +170,47 @@ "gboolean vexpand" : false, "items" : [ { - "listeners" : { - "button_press_event" : "() => {\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 return false;\n}" - }, - "label" : "Stash Changes", - "xtype" : "Button", - "* pack" : "add", - "$ xns" : "Gtk" - }, - { - "listeners" : { - "button_press_event" : "() => {\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 _this.el.hide();\n Clones.singleton().reposStore.load();\n \n return false;\n}" - }, - "label" : "Commit Changes", - "xtype" : "Button", - "* pack" : "add", - "$ xns" : "Gtk" - }, - { - "listeners" : { - "button_press_event" : "() => {\n var oldq = new Gee.ArrayList(); \n\n\tClones.singleton().el.response(-1);\n\tNewBranch.singleton().show(_this.repo, oldq);\n\n return false;\n}" - }, - "label" : "Create Branch", - "* pack" : "add", - "xtype" : "Button", - "$ xns" : "Gtk" - }, - { - "listeners" : { - "button_press_event" : "() => {\n _this.el.hide();\n return false;\n}" - }, - "label" : "Ignore for now", + "Gtk.ToolbarStyle toolbar_style" : "Gtk.ToolbarStyle.BOTH_HORIZ", "* pack" : "add", - "xtype" : "Button", - "$ xns" : "Gtk" + "xtype" : "Toolbar", + "$ xns" : "Gtk", + "items" : [ + { + "listeners" : { + "button_press_event" : "() => {\n var oldq = new Gee.ArrayList(); \n\n\tClones.singleton().el.response(-1);\n\tNewBranch.singleton().show(_this.repo, oldq);\n\n return false;\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 return ;\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" : { + "button_press_event" : "() => {\n \n\n\n Clones.singleton().el.response(-1);\n \n _this.el.hide();\n Ticket.singleton().show( _this.repo);\n \n return false;\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 + } + ] } ] } diff --git a/RepoStatusPopover.vala b/RepoStatusPopover.vala index e98c9999..9c209367 100644 --- a/RepoStatusPopover.vala +++ b/RepoStatusPopover.vala @@ -12,10 +12,16 @@ public class RepoStatusPopover : Object } 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; @@ -59,6 +65,18 @@ public class RepoStatusPopover : Object //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(); @@ -86,17 +104,246 @@ public class RepoStatusPopover : Object // set gobject values this.el.homogeneous = false; this.el.border_width = 5; - var child_0 = new Xcls_Notebook3( _this ); + var child_0 = new Xcls_Box3( _this ); child_0.ref(); - this.el.pack_start ( child_0.el , true,true,0 ); - var child_1 = new Xcls_Box12( _this ); + 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.pack_end ( child_1.el , false,false,0 ); + 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.button_press_event.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(); + return false; + }); + } + + // 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.button_press_event.connect( () => { + _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; + }); + } + + // 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.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_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.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_Notebook3 : Object + + + + public class Xcls_Notebook9 : Object { public Gtk.Notebook el; private RepoStatusPopover _this; @@ -105,7 +352,7 @@ public class RepoStatusPopover : Object // my vars (def) // ctor - public Xcls_Notebook3(RepoStatusPopover _owner ) + public Xcls_Notebook9(RepoStatusPopover _owner ) { _this = _owner; this.el = new Gtk.Notebook(); @@ -113,14 +360,15 @@ public class RepoStatusPopover : Object // 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_Box6( _this ); + 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_Box9( _this ); + var child_3 = new Xcls_Box15( _this ); child_3.ref(); this.el.append_page ( child_3.el , _this.label_diff.el ); } @@ -173,7 +421,7 @@ public class RepoStatusPopover : Object // user defined functions } - public class Xcls_Box6 : Object + public class Xcls_Box12 : Object { public Gtk.Box el; private RepoStatusPopover _this; @@ -182,7 +430,7 @@ public class RepoStatusPopover : Object // my vars (def) // ctor - public Xcls_Box6(RepoStatusPopover _owner ) + public Xcls_Box12(RepoStatusPopover _owner ) { _this = _owner; this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 ); @@ -191,14 +439,14 @@ public class RepoStatusPopover : Object // set gobject values this.el.homogeneous = false; - var child_0 = new Xcls_ScrolledWindow7( _this ); + 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_ScrolledWindow7 : Object + public class Xcls_ScrolledWindow13 : Object { public Gtk.ScrolledWindow el; private RepoStatusPopover _this; @@ -207,7 +455,7 @@ public class RepoStatusPopover : Object // my vars (def) // ctor - public Xcls_ScrolledWindow7(RepoStatusPopover _owner ) + public Xcls_ScrolledWindow13(RepoStatusPopover _owner ) { _this = _owner; this.el = new Gtk.ScrolledWindow( null, null ); @@ -251,7 +499,7 @@ public class RepoStatusPopover : Object - public class Xcls_Box9 : Object + public class Xcls_Box15 : Object { public Gtk.Box el; private RepoStatusPopover _this; @@ -260,7 +508,7 @@ public class RepoStatusPopover : Object // my vars (def) // ctor - public Xcls_Box9(RepoStatusPopover _owner ) + public Xcls_Box15(RepoStatusPopover _owner ) { _this = _owner; this.el = new Gtk.Box( Gtk.Orientation.VERTICAL, 0 ); @@ -269,14 +517,14 @@ public class RepoStatusPopover : Object // set gobject values this.el.homogeneous = false; - var child_0 = new Xcls_ScrolledWindow10( _this ); + 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_ScrolledWindow10 : Object + public class Xcls_ScrolledWindow16 : Object { public Gtk.ScrolledWindow el; private RepoStatusPopover _this; @@ -285,7 +533,7 @@ public class RepoStatusPopover : Object // my vars (def) // ctor - public Xcls_ScrolledWindow10(RepoStatusPopover _owner ) + public Xcls_ScrolledWindow16(RepoStatusPopover _owner ) { _this = _owner; this.el = new Gtk.ScrolledWindow( null, null ); @@ -331,7 +579,7 @@ public class RepoStatusPopover : Object - public class Xcls_Box12 : Object + public class Xcls_Box18 : Object { public Gtk.Box el; private RepoStatusPopover _this; @@ -340,7 +588,7 @@ public class RepoStatusPopover : Object // my vars (def) // ctor - public Xcls_Box12(RepoStatusPopover _owner ) + public Xcls_Box18(RepoStatusPopover _owner ) { _this = _owner; this.el = new Gtk.Box( Gtk.Orientation.HORIZONTAL, 0 ); @@ -351,92 +599,72 @@ public class RepoStatusPopover : Object this.el.homogeneous = true; this.el.expand = false; this.el.vexpand = false; - var child_0 = new Xcls_Button13( _this ); + var child_0 = new Xcls_Toolbar19( _this ); child_0.ref(); this.el.add ( child_0.el ); - var child_1 = new Xcls_Button14( _this ); - child_1.ref(); - this.el.add ( child_1.el ); - 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 ); } // user defined functions } - public class Xcls_Button13 : Object + public class Xcls_Toolbar19 : Object { - public Gtk.Button el; + public Gtk.Toolbar el; private RepoStatusPopover _this; // my vars (def) // ctor - public Xcls_Button13(RepoStatusPopover _owner ) + public Xcls_Toolbar19(RepoStatusPopover _owner ) { _this = _owner; - this.el = new Gtk.Button(); + this.el = new Gtk.Toolbar(); // my vars (dec) // set gobject values - this.el.label = "Stash Changes"; - - //listeners - this.el.button_press_event.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(); - return false; - }); + 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_Button14 : Object + public class Xcls_btn_create : Object { - public Gtk.Button el; + public Gtk.ToolButton el; private RepoStatusPopover _this; // my vars (def) // ctor - public Xcls_Button14(RepoStatusPopover _owner ) + public Xcls_btn_create(RepoStatusPopover _owner ) { _this = _owner; - this.el = new Gtk.Button(); + _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 = "Commit Changes"; + this.el.label = "Create Branch / Start ticket"; + this.el.is_important = true; //listeners this.el.button_press_event.connect( () => { - _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(); - + var oldq = new Gee.ArrayList(); + + Clones.singleton().el.response(-1); + NewBranch.singleton().show(_this.repo, oldq); + return false; }); } @@ -444,62 +672,73 @@ public class RepoStatusPopover : Object // user defined functions } - public class Xcls_Button15 : Object + public class Xcls_btn_merge : Object { - public Gtk.Button el; + public Gtk.ToolButton el; private RepoStatusPopover _this; // my vars (def) // ctor - public Xcls_Button15(RepoStatusPopover _owner ) + public Xcls_btn_merge(RepoStatusPopover _owner ) { _this = _owner; - this.el = new Gtk.Button(); + _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 = "Create Branch"; + this.el.label = "Merge branch / Complete ticket"; + this.el.is_important = true; //listeners - this.el.button_press_event.connect( () => { - var oldq = new Gee.ArrayList(); - - Clones.singleton().el.response(-1); - NewBranch.singleton().show(_this.repo, oldq); + this.el.clicked.connect( () => { - return false; + _this.el.hide(); + Clones.singleton().el.response(-1); + if (_this.repo.activeTicket != null) { + MergeBranch.singleton().show(_this.repo.activeTicket, null); + } + return ; }); } // user defined functions } - public class Xcls_Button16 : Object + public class Xcls_ToolButton22 : Object { - public Gtk.Button el; + public Gtk.ToolButton el; private RepoStatusPopover _this; // my vars (def) // ctor - public Xcls_Button16(RepoStatusPopover _owner ) + public Xcls_ToolButton22(RepoStatusPopover _owner ) { _this = _owner; - this.el = new Gtk.Button(); + 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 = "Ignore for now"; + this.el.label = "Create Ticket"; + this.el.is_important = true; //listeners this.el.button_press_event.connect( () => { - _this.el.hide(); - return false; + + + + Clones.singleton().el.response(-1); + + _this.el.hide(); + Ticket.singleton().show( _this.repo); + + return false; }); } @@ -508,4 +747,5 @@ public class RepoStatusPopover : Object + } diff --git a/StatusIcon.vala b/StatusIcon.vala index f429e1a9..652f5f79 100644 --- a/StatusIcon.vala +++ b/StatusIcon.vala @@ -297,7 +297,7 @@ public class StatusIconA : StatusIcon { { var image = new Gtk.Image(); - image.set_from_stock(Gtk.Stock.FULLSCREEN,Gtk.IconSize.MENU ); + image.set_from_stock(Gtk.Stock.GOTO_BOTTOM,Gtk.IconSize.MENU ); this.set_image (image); this.label= "Pull (Refresh) All"; this.always_show_image = true; @@ -413,7 +413,7 @@ public class StatusIconA : StatusIcon { GitMonitor.gitmonitor.pauseError(this.pull_all_error_message); return; } - + statusicon.set_tooltip_text("Gitlive"); GitMonitor.gitmonitor.start(); @@ -453,7 +453,7 @@ public class StatusIconA : StatusIcon { { var image = new Gtk.Image(); - image.set_from_stock(Gtk.Stock.FULLSCREEN,Gtk.IconSize.MENU ); + image.set_from_stock(Gtk.Stock.JUSTIFY_FILL,Gtk.IconSize.MENU ); this.set_image (image); this.label= "Manage Clones"; this.always_show_image = true; @@ -475,7 +475,7 @@ public class StatusIconA : StatusIcon { { var image = new Gtk.Image(); - image.set_from_stock(Gtk.Stock.FULLSCREEN,Gtk.IconSize.MENU ); + image.set_from_stock(Gtk.Stock.NEW,Gtk.IconSize.MENU ); this.set_image (image); this.label= "New Ticket"; this.always_show_image = true;