summaryrefslogtreecommitdiff
path: root/swat/scripting/client
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-08-22 01:53:06 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:34:19 -0500
commitf35e72d9caed80accb337be2b120c731d683fc5f (patch)
tree4abdb357d3033372b80b1f4fd012afe78d1ade7e /swat/scripting/client
parentf4aa80d88f768d4edbfca2bf0907de0e1c319ec5 (diff)
downloadsamba-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.js47
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);
}
}