Author: j16sdiz
Date: 2008-08-14 07:41:36 +0000 (Thu, 14 Aug 2008)
New Revision: 21834
Modified:
trunk/freenet/src/freenet/clients/http/ConfigToadlet.java
Log:
disable readonly option on ConfigToadlet
Modified: trunk/freenet/src/freenet/clients/http/ConfigToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/ConfigToadlet.java 2008-08-14
07:41:14 UTC (rev 21833)
+++ trunk/freenet/src/freenet/clients/http/ConfigToadlet.java 2008-08-14
07:41:36 UTC (rev 21834)
@@ -10,6 +10,7 @@
import freenet.client.HighLevelSimpleClient;
import freenet.config.BooleanOption;
import freenet.config.Config;
+import freenet.config.ConfigCallback;
import freenet.config.EnumerableOptionCallback;
import freenet.config.InvalidConfigValueException;
import freenet.config.Option;
@@ -198,12 +199,23 @@
continue;
}
- if(o[j].getCallback() instanceof
EnumerableOptionCallback)
-
configItemValueNode.addChild(addComboBox((EnumerableOptionCallback)o[j].getCallback(),
sc[i], configName));
- else if(o[j].getCallback() instanceof
BooleanCallback)
-
configItemValueNode.addChild(addBooleanComboBox(((BooleanOption)o[j]).getValue(),
sc[i], configName));
+ ConfigCallback callback =
o[j].getCallback();
+ if(callback instanceof
EnumerableOptionCallback)
+
configItemValueNode.addChild(addComboBox((EnumerableOptionCallback) callback,
sc[i],
+ configName,
callback.isReadOnly()));
+ else if(callback instanceof
BooleanCallback)
+
configItemValueNode.addChild(addBooleanComboBox(((BooleanOption)
o[j]).getValue(), sc[i],
+ configName,
callback.isReadOnly()));
+ else if (callback.isReadOnly())
+
configItemValueNode.addChild("input", //
+ new String[] { "type",
"class", "disabled", "alt", "name", "value" }, //
+ new String[] { "text",
"config", "disabled", o[j].getShortDesc(),
+
sc[i].getPrefix() + '.' + configName, o[j].getValueString() });
else
-
configItemValueNode.addChild("input", new String[] { "type", "class", "alt",
"name", "value" }, new String[] { "text", "config", o[j].getShortDesc(),
sc[i].getPrefix() + '.' + configName, o[j].getValueString() });
+
configItemValueNode.addChild("input",//
+ new String[] { "type",
"class", "alt", "name", "value" }, //
+ new String[] { "text",
"config", o[j].getShortDesc(),
+
sc[i].getPrefix() + '.' + configName, o[j].getValueString() });
configItemNode.addChild("span",
"class", "configlongdesc").addChild(L10n.getHTMLNode(o[j].getLongDesc()));
}
@@ -226,8 +238,15 @@
return "GET, POST";
}
- private HTMLNode addComboBox(EnumerableOptionCallback o, SubConfig sc,
String name) {
- HTMLNode result = new HTMLNode("select", "name", sc.getPrefix()
+ '.' + name);
+ private HTMLNode addComboBox(EnumerableOptionCallback o, SubConfig sc,
String name, boolean disabled) {
+ HTMLNode result;
+ if (disabled)
+ result = new HTMLNode("select", //
+ new String[] { "name", "disabled" }, //
+ new String[] { sc.getPrefix() + '.' + name,
"disabled" });
+ else
+ result = new HTMLNode("select", "name", sc.getPrefix()
+ '.' + name);
+
String[] possibleValues = o.getPossibleValues();
for(int i=0; i<possibleValues.length; i++) {
if(possibleValues[i].equals(o.get()))
@@ -239,17 +258,23 @@
return result;
}
- private HTMLNode addBooleanComboBox(boolean value, SubConfig sc, String
name) {
- HTMLNode result = new HTMLNode("select", "name", sc.getPrefix()
+ '.' + name);
-
- if(value) {
- result.addChild("option", new String[] { "value",
"selected" }, new String[] {
- "true", "selected" }, l10n("true"));
+ private HTMLNode addBooleanComboBox(boolean value, SubConfig sc, String
name, boolean disabled) {
+ HTMLNode result;
+ if (disabled)
+ result = new HTMLNode("select", //
+ new String[] { "name", "disabled" }, //
+ new String[] { sc.getPrefix() + '.' + name,
"disabled" });
+ else
+ result = new HTMLNode("select", "name", sc.getPrefix()
+ '.' + name);
+
+ if (value) {
+ result.addChild("option", new String[] { "value",
"selected" }, new String[] { "true", "selected" },
+ l10n("true"));
result.addChild("option", "value", "false",
l10n("false"));
} else {
result.addChild("option", "value", "true",
l10n("true"));
- result.addChild("option", new String[] { "value",
"selected" }, new String[] {
- "false", "selected" }, l10n("false"));
+ result.addChild("option", new String[] { "value",
"selected" }, new String[] { "false", "selected" },
+ l10n("false"));
}
return result;