"build_module" : "",
"items" : [
{
- "listeners" : {
- "delete_event" : "(self, event) => {\n this.el.hide();\n return true; \n //test \n}\n ",
- "response" : "(self, response_id) => { \n \n this.el.hide();\n \n}"
- },
"default_width" : 600,
- "| void show" : "() {\n\n \n this.el.set_deletable(false);\n this.el.show_all();\n // load clones..\n// this.get('/reposStore').load();\n \n //this.get('/ok_button').el.set_sensitive(false);\n \n // block until we return.\n// var run_ret = this.el.run();\n// if (run_ret < 1 ) {\n// return \"DONE\";\n// }\n// print(\"RUN RETURN : \" + run_ret);\n// return \"DONE\";\n //print(JSON.stringify(this.get('bug').getValue()));\n // return this.get('bug').getValue();\n //this.success = c.success;\n}\n",
+ "| void show" : "(Gtk.Widget menuitem) {\n\n \n\n \n \t//console.log('show all');\n\tthis.el.set_modal(false);\n\n\n\tthis.el.set_position(Gtk.PositionType.TOP);\n//\tthis.el.popup();\n\t// window + header?\n\tthis.el.show_all();\n\tthis.el.set_size_request(800,500);\n\tthis.el.set_relative_to(menuitem);\n\t//this.view.el.grab_focus();\n}\n",
"$ deletable" : true,
"title" : "Manage Clones",
- "xtype" : "Dialog",
+ "xtype" : "Popover",
"default_height" : 500,
"$ modal" : true,
"$ xns" : "Gtk",
"border_width" : 3,
"items" : [
{
- "id" : "Clones",
"xtype" : "Box",
- "$ pack" : "get_content_area().add ",
+ "$ pack" : "add",
"$ xns" : "Gtk",
- "Gtk.Orientation orientation" : "Gtk.Orientation.HORIZONTAL",
+ "Gtk.Orientation orientation" : "Gtk.Orientation.VERTICAL",
"items" : [
{
"* pack" : "pack_start,false,false,0",
},
{
"* init" : " {\n \n this.el.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);\n}\n",
+ "bool expand" : true,
"xtype" : "ScrolledWindow",
- "* pack" : "pack_end,true,true,0",
+ "* pack" : "add",
"Gtk.ShadowType shadow_type" : "Gtk.ShadowType.IN",
"$ xns" : "Gtk",
"items" : [
"items" : [
{
"id" : "reposStore",
- "columns" : " typeof(string), // 0 repo\n typeof(string), // 1 current branch\n typeof(string), // 2 all branch\n typeof(string), // 3 updated\n typeof(bool), // 4 auto commit\n typeof(bool), // 5 auto push\n typeof(string) // 7 repopath\n typeof(string) // 8 color highlighting?",
+ "columns" : " typeof(string), // 0 repo\n typeof(string), // 1 current branch\n typeof(string), // 2 all branch\n typeof(string), // 3 updated\n typeof(bool), // 4 auto commit\n typeof(bool), // 5 auto push\n typeof(string), // 7 repopath\n typeof(string) // 8 color highlighting?\n ",
"$ pathToRepo" : "function(path) {\n\n var tr= this.repos;\n\n \n for(var i =0 ; i < tr.length; i++) {\n if (tr[i].repopath == path) {\n return tr[i];\n }\n } \n return false; \n}\n",
"xtype" : "ListStore",
"* pack" : "set_model",
"$ load" : "function()\n{\n //this.insert(citer,iter,0);\n print(\"getting list\");\n this.repos = imports.Scm.Repo.Repo.list();\n var tr= this.repos;\n this.el.clear();\n \n for(var i =0 ; i < tr.length; i++) {\n var ret = { };\n \n this.el.append(ret);\n \n //print(JSON.stringify(ret,null,4));\n tr[i].getBranches();\n tr[i].getStatus();\n var hi;\n try {\n //tr[i].debug=1;\n hi = tr[i].history('/', 1, 'branch', tr[i].currentBranch.name );\n// print(JSON.stringify(hi,null,4));\n } catch(e) { print(e);}\n \n this.el.set_value(ret.iter, 0, '' + tr[i].repopath.split('/').pop() );\n this.el.set_value(ret.iter, 1, '' + tr[i].currentBranch.name );\n this.el.set_value(ret.iter, 2, '' + tr[i].branches.map(\n function(e) { return e.name; \n }).join(', ') \n );\n this.el.set_value(ret.iter, 3, '' + (!hi ? '??' : hi[0].changed_raw)); \n this.el.set_value(ret.iter, 4, tr[i].autocommit() ); \n this.el.set_value(ret.iter, 5, tr[i].autopush() ); \n this.el.set_value(ret.iter, 6, tr[i].repopath ); \n // highlight color.\n var cb = tr[i].currentBranch;\n //print(JSON.stringify(cb,null,4));\n var col = '#ffffff';\n if (cb.lastrev != cb.remoterev) {\n col = '#ff0000';\n }\n if (tr[i].hasLocalChanges) {\n col = '#0000ff';\n }\n if ((cb.lastrev != cb.remoterev) && (tr[i].hasLocalChanges)) {\n col = '#ff00ff';\n }\n \n this.el.set_value(ret.iter, 7, col ); \n \n } \n}"
},
{
- "* init" : "\n// this.items[0].el.set_activatable(true);\n this.el.add_attribute(_this.keyrender.el , \"active\", 4 );\n\n",
+ "id" : "tv_autocommit",
+ "* init" : "\n// this.items[0].el.set_activatable(true);\n this.el.add_attribute(_this.cr_autocommit.el , \"active\", 4 );\n\n",
"* pack" : "append_column",
"title" : "Auto Commit",
"xtype" : "TreeViewColumn",
"listeners" : {
"toggled" : " (self, path) => {\n/* var ret ={} ;\n var store = this.get('/reposStore');\n store.el.get_iter_from_string(ret, path);\n \n var value = store.el.get_value(ret.iter,4).value.get_boolean();\n \n //print(JSON.stringify(value));\n store.el.set_value(ret.iter,4, !value);\n \n var path = store.el.get_value(ret.iter, 6).value.get_string();\n var repo = imports.Scm.Repo.Repo.get(path);\n repo.autocommit(!value);\n */ \n \n \n}"
},
+ "id" : "cr_autocommit",
"* pack" : "pack_start,false",
"xtype" : "CellRendererToggle",
"$ xns" : "Gtk",
]
},
{
- "* init" : "function() {\n XObject.prototype.init.call(this);\n this.el.add_attribute(this.items[0].el , 'active', 5 );\n this.items[0].el.set_activatable(true);\n}\n",
+ "id" : "tv_autopush",
+ "* init" : " \n this.el.add_attribute(_this.cr_autopush.el , \"active\", 5 );\n// this.items[0].el.set_activatable(true);\n\n",
"* pack" : "append_column",
"title" : "Auto Push",
"xtype" : "TreeViewColumn",
"items" : [
{
"listeners" : {
- "toggled" : "function (self, path) {\n var ret ={} ;\n var store = this.get('/reposStore');\n store.el.get_iter_from_string(ret, path);\n \n var value = store.el.get_value(ret.iter,5).value.get_boolean();\n \n //print(JSON.stringify(value));\n store.el.set_value(ret.iter,5, !value);\n var path = store.el.get_value(ret.iter, 6).value.get_string();\n var repo = imports.Scm.Repo.Repo.get(path);\n repo.autopush(!value);\n \n}"
+ "toggled" : " (self, path) => {\n/* var ret ={} ;\n var store = this.get('/reposStore');\n store.el.get_iter_from_string(ret, path);\n \n var value = store.el.get_value(ret.iter,5).value.get_boolean();\n \n //print(JSON.stringify(value));\n store.el.set_value(ret.iter,5, !value);\n var path = store.el.get_value(ret.iter, 6).value.get_string();\n var repo = imports.Scm.Repo.Repo.get(path);\n repo.autopush(!value);\n */\n}"
},
- "* pack" : "pack_start",
+ "id" : "cr_autopush",
+ "* pack" : "pack_start,false",
"xtype" : "CellRendererToggle",
"$ xns" : "Gtk",
"$ mode" : "Gtk.CellRendererMode.ACTIVATABLE"
]
},
{
- "* init" : "function() {\n XObject.prototype.init.call(this);\n this.el.add_attribute(this.items[0].el , 'markup', 0 );\n\n}\n",
+ "id" : "tv_repo",
+ "* init" : "\n this.el.add_attribute(_this.cr_repo.el , \"markup\", 0 );\n",
"title" : "Repo",
"* pack" : "append_column",
"xtype" : "TreeViewColumn",
"resizable" : true,
"items" : [
{
- "* pack" : "pack_start",
+ "id" : "cr_repo",
+ "* pack" : "pack_start,false",
"xtype" : "CellRendererText",
"$ xns" : "Gtk"
}
]
},
{
- "* init" : "function() {\n XObject.prototype.init.call(this);\n this.el.add_attribute(this.items[0].el , 'markup', 1 );\n this.el.add_attribute(this.items[0].el , 'cell-background', 7 );\n\n}\n",
+ "id" : "tv_current_branch",
+ "* init" : " \n this.el.add_attribute(_this.cr_current_branch.el , \"markup\", 1 );\n this.el.add_attribute(_this.cr_current_branch.el, \"cell-background\", 7 );\n \n",
"* pack" : "append_column",
"title" : "Current Branch",
"xtype" : "TreeViewColumn",
"$ xns" : "Gtk",
"items" : [
{
- "* pack" : "pack_start",
+ "id" : "cr_current_branch",
+ "* pack" : "pack_start,false",
"xtype" : "CellRendererText",
"$ xns" : "Gtk"
}
]
},
{
- "* init" : "function() {\n XObject.prototype.init.call(this);\n this.el.add_attribute(this.items[0].el , 'markup', 3 );\n\n}\n",
+ "id" : "tv_last_updated",
+ "* init" : "\n this.el.add_attribute(_this.cr_last_updated.el , \"markup\", 3 );\n",
"* pack" : "append_column",
"title" : "Last updated",
"xtype" : "TreeViewColumn",
"$ xns" : "Gtk",
"items" : [
{
- "* pack" : "pack_start",
+ "id" : "cr_last_updated",
+ "* pack" : "pack_start,false",
"xtype" : "CellRendererText",
"$ xns" : "Gtk"
}
]
},
{
- "* init" : "function() {\n XObject.prototype.init.call(this);\n this.el.add_attribute(this.items[0].el , 'markup', 2 );\n\n}\n",
+ "id" : "tv_all_branches",
+ "* init" : " this.el.add_attribute(_this.cr_all_branches.el , \"markup\", 2 );\n\n",
"title" : "All Branches",
"* pack" : "append_column",
"xtype" : "TreeViewColumn",
"resizable" : false,
"items" : [
{
- "* pack" : "pack_start",
+ "id" : "cr_all_branches",
+ "* pack" : "pack_start,false",
"xtype" : "CellRendererText",
"$ xns" : "Gtk"
}
]
}
]
- },
- {
- "* pack" : false,
- "xtype" : "TreeView",
- "$ xns" : "Gtk",
- "items" : [
- {
- "* pack" : false,
- "xtype" : "ListStore",
- "$ xns" : "Gtk"
- }
- ]
}
]
+ },
+ {
+ "label" : "Close",
+ "id" : "ok_button",
+ "* pack" : "add",
+ "xtype" : "Button",
+ "$ xns" : "Gtk"
}
]
- },
- {
- "label" : "Close",
- "id" : "ok_button",
- "* pack" : "add_action_widget,1 ",
- "xtype" : "Button",
- "$ xns" : "Gtk"
}
]
}