diff options
author | Andrew Tridgell <tridge@samba.org> | 2005-08-22 01:53:06 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:34:19 -0500 |
commit | f35e72d9caed80accb337be2b120c731d683fc5f (patch) | |
tree | 4abdb357d3033372b80b1f4fd012afe78d1ade7e /swat/scripting/client | |
parent | f4aa80d88f768d4edbfca2bf0907de0e1c319ec5 (diff) | |
download | samba-f35e72d9caed80accb337be2b120c731d683fc5f.tar.gz samba-f35e72d9caed80accb337be2b120c731d683fc5f.tar.bz2 samba-f35e72d9caed80accb337be2b120c731d683fc5f.zip |
r9466: add display of values as well as keys in the registry editor
(This used to be commit 62d55a250afa3e3923a6b9da7b59177ad59d55a3)
Diffstat (limited to 'swat/scripting/client')
-rw-r--r-- | swat/scripting/client/regedit.js | 47 |
1 files changed, 42 insertions, 5 deletions
diff --git a/swat/scripting/client/regedit.js b/swat/scripting/client/regedit.js index 5769a88785..60ee95a483 100644 --- a/swat/scripting/client/regedit.js +++ b/swat/scripting/client/regedit.js @@ -5,10 +5,17 @@ released under the GNU GPL Version 2 or later */ -function __folder_list(fParent, list) + +/* + callback from the key enumeration call +*/ +function __folder_keys(fParent, list) { var i; - fParent.removeAll(); + if (fParent.working == 1) { + fParent.working = 0; + fParent.removeAll(); + } for (i=0;i<list.length;i++) { var fChild; fChild = new QxTreeFolder(list[i]); @@ -19,20 +26,50 @@ function __folder_list(fParent, list) } else { fChild.reg_path = fParent.reg_path + '\\' + list[i]; } + fChild.working = 1; fChild.add(new QxTreeFolder('Working ...')); fChild.addEventListener("click", function() { var el = this; __folder_click(el); }); - fParent.setOpen(1); } + fParent.setOpen(1); } +/* + callback from the key enumeration call +*/ +function __folder_values(fParent, list) +{ + var i; + if (list.length == 0) { + return; + } + if (fParent.working == 1) { + fParent.working = 0; + fParent.removeAll(); + } + for (i=0;i<list.length;i++) { + var fChild; + fChild = new QxTreeFile(list[i].name); + fChild.parent = fParent; + fChild.details = list[i]; + fParent.add(fChild); + } + fParent.setOpen(1); +} + +/* + called when someone clicks on a folder +*/ function __folder_click(node) { if (!node.populated) { node.populated = true; - server_call_url("/scripting/server/regedit.esp", 'enum_path', - function(list) { __folder_list(node, list); }, + server_call_url("/scripting/server/regedit.esp", 'enum_keys', + function(list) { __folder_keys(node, list); }, + node.binding, node.reg_path); + server_call_url("/scripting/server/regedit.esp", 'enum_values', + function(list) { __folder_values(node, list); }, node.binding, node.reg_path); } } |