fix empty log
[gitlive] / RepoStatusPopover.bjs
1 {
2  "name" : "RepoStatusPopover",
3  "parent" : "",
4  "title" : "",
5  "path" : "/home/alan/gitlive/gitlive/RepoStatusPopover.bjs",
6  "permname" : "",
7  "modOrder" : "",
8  "build_module" : "gitlive",
9  "items" : [
10   {
11    "GitRepo repo" : "",
12    "| 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",
13    "xtype" : "Popover",
14    "Gtk.PositionType position" : "Gtk.PositionType.RIGHT",
15    "$ xns" : "Gtk",
16    "bool modal" : true,
17    "uint border_width" : 0,
18    "items" : [
19     {
20      "xtype" : "Box",
21      "* pack" : "add",
22      "$ xns" : "Gtk",
23      "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
24      "border_width" : 5,
25      "$ homogeneous" : false,
26      "items" : [
27       {
28        "* pack" : "pack_start,false,false,0",
29        "xtype" : "Box",
30        "gboolean expand" : false,
31        "$ xns" : "Gtk",
32        "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL",
33        "$ homogeneous" : true,
34        "gboolean vexpand" : false,
35        "items" : [
36         {
37          "Gtk.ToolbarStyle toolbar_style" : "Gtk.ToolbarStyle.BOTH_HORIZ",
38          "* pack" : "add",
39          "xtype" : "Toolbar",
40          "$ xns" : "Gtk",
41          "items" : [
42           {
43            "listeners" : {
44             "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}"
45            },
46            "label" : "Stash Changes",
47            "* ctor" : "new Gtk.ToolButton(new Gtk.Image.from_icon_name (\"gtk-undo\", Gtk.IconSize.SMALL_TOOLBAR), null);",
48            "id" : "btn_stash",
49            "xtype" : "ToolButton",
50            "* pack" : "add",
51            "$ xns" : "Gtk",
52            "bool is_important" : true
53           },
54           {
55            "listeners" : {
56             "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}"
57            },
58            "label" : "Commit Changes",
59            "* ctor" : "new Gtk.ToolButton(new Gtk.Image.from_icon_name (\"gtk-save\", Gtk.IconSize.SMALL_TOOLBAR), null);",
60            "id" : "btn_commit",
61            "* pack" : "add",
62            "xtype" : "ToolButton",
63            "$ xns" : "Gtk",
64            "bool is_important" : true
65           },
66           {
67            "listeners" : {
68             "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}"
69            },
70            "label" : "Reset / clear changes",
71            "* ctor" : "new Gtk.ToolButton(new Gtk.Image.from_icon_name (\"gtk-revert-to-saved\", Gtk.IconSize.SMALL_TOOLBAR), null);",
72            "id" : "btn_reset",
73            "* pack" : "add",
74            "xtype" : "ToolButton",
75            "$ xns" : "Gtk",
76            "bool is_important" : true
77           },
78           {
79            "listeners" : {
80             "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}"
81            },
82            "label" : "Pull updates",
83            "* ctor" : "new Gtk.ToolButton(new Gtk.Image.from_icon_name (\"gtk-goto-bottom\", Gtk.IconSize.SMALL_TOOLBAR), null);",
84            "id" : "btn_pull",
85            "xtype" : "ToolButton",
86            "* pack" : "add",
87            "$ xns" : "Gtk",
88            "bool is_important" : true
89           }
90          ]
91         }
92        ]
93       },
94       {
95        "* pack" : "add",
96        "xtype" : "Notebook",
97        "$ xns" : "Gtk",
98        "bool vexpand" : true,
99        "items" : [
100         {
101          "id" : "label_status",
102          "xtype" : "Label",
103          "* pack" : false,
104          "$ xns" : "Gtk",
105          "utf8 label" : "Status"
106         },
107         {
108          "id" : "label_diff",
109          "* pack" : false,
110          "xtype" : "Label",
111          "$ xns" : "Gtk",
112          "utf8 label" : "Diff"
113         },
114         {
115          "* pack" : "append_page,_this.label_status.el",
116          "xtype" : "Box",
117          "gboolean homogeneous" : false,
118          "$ xns" : "Gtk",
119          "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
120          "items" : [
121           {
122            "* pack" : "pack_start,true,true,0",
123            "xtype" : "ScrolledWindow",
124            "$ xns" : "Gtk",
125            "items" : [
126             {
127              "id" : "status_view",
128              "* init" : " \n    var description =   Pango.FontDescription.from_string(\"monospace\");\n    description.set_size(9000);\n    this.el.override_font(description);",
129              "xtype" : "View",
130              "* pack" : "add",
131              "$ xns" : "GtkSource"
132             }
133            ]
134           }
135          ]
136         },
137         {
138          "* pack" : "append_page,_this.label_diff.el",
139          "xtype" : "Box",
140          "gboolean homogeneous" : false,
141          "$ xns" : "Gtk",
142          "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
143          "items" : [
144           {
145            "int height_request" : 400,
146            "xtype" : "ScrolledWindow",
147            "* pack" : "pack_start,true,true,0",
148            "$ xns" : "Gtk",
149            "items" : [
150             {
151              "id" : "diff_view",
152              "* 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  ",
153              "xtype" : "View",
154              "* pack" : "add",
155              "$ xns" : "GtkSource"
156             }
157            ]
158           }
159          ]
160         }
161        ]
162       },
163       {
164        "* pack" : "pack_end,false,false,0",
165        "xtype" : "Box",
166        "gboolean expand" : false,
167        "$ xns" : "Gtk",
168        "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL",
169        "$ homogeneous" : true,
170        "gboolean vexpand" : false,
171        "items" : [
172         {
173          "Gtk.ToolbarStyle toolbar_style" : "Gtk.ToolbarStyle.BOTH_HORIZ",
174          "xtype" : "Toolbar",
175          "* pack" : "add",
176          "$ xns" : "Gtk",
177          "items" : [
178           {
179            "listeners" : {
180             "clicked" : "() => {\n   var oldq = new Gee.ArrayList<GitMonitorQueue>();  \n\n\tClones.singleton().el.response(-1);\n\tNewBranch.singleton().show(_this.repo, oldq);\n\n    \n}"
181            },
182            "label" : "Create Branch / Start ticket",
183            "* ctor" : "new Gtk.ToolButton(new Gtk.Image.from_icon_name (\"gtk-add\", Gtk.IconSize.SMALL_TOOLBAR), null);",
184            "id" : "btn_create",
185            "xtype" : "ToolButton",
186            "* pack" : "add",
187            "$ xns" : "Gtk",
188            "bool is_important" : true
189           },
190           {
191            "listeners" : {
192             "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}"
193            },
194            "label" : "Merge branch /  Complete ticket",
195            "* ctor" : "new Gtk.ToolButton(new Gtk.Image.from_icon_name (\"gtk-goto-top\", Gtk.IconSize.SMALL_TOOLBAR), null);",
196            "id" : "btn_merge",
197            "xtype" : "ToolButton",
198            "* pack" : "add",
199            "$ xns" : "Gtk",
200            "bool is_important" : true
201           },
202           {
203            "listeners" : {
204             "clicked" : "() => {\n  \n\n\n      Clones.singleton().el.response(-1);\n  \n   _this.el.hide();\n   Ticket.singleton().show( _this.repo);\n    \n}"
205            },
206            "label" : "Create Ticket",
207            "* ctor" : "new Gtk.ToolButton(new Gtk.Image.from_icon_name (\"gtk-new\", Gtk.IconSize.SMALL_TOOLBAR), null);",
208            "* pack" : "add",
209            "xtype" : "ToolButton",
210            "$ xns" : "Gtk",
211            "bool is_important" : true
212           }
213          ]
214         }
215        ]
216       }
217      ]
218     }
219    ]
220   }
221  ]
222 }