Fix for IE overflow issue; classic theme enhanced; more UI enhancements.
This commit is contained in:
@ -47,7 +47,7 @@ public class ConfigTunnelsHandler extends FormHandler {
|
|||||||
boolean saveRequired = false;
|
boolean saveRequired = false;
|
||||||
|
|
||||||
if (_log.shouldLog(Log.DEBUG))
|
if (_log.shouldLog(Log.DEBUG))
|
||||||
_log.debug("Saving changes, with props = " + _settings);
|
_log.debug("Saving changes, with props = " + _settings + ".");
|
||||||
|
|
||||||
int updated = 0;
|
int updated = 0;
|
||||||
int index = 0;
|
int index = 0;
|
||||||
@ -67,7 +67,7 @@ public class ConfigTunnelsHandler extends FormHandler {
|
|||||||
try {
|
try {
|
||||||
client.fromBase64(poolName);
|
client.fromBase64(poolName);
|
||||||
} catch (DataFormatException dfe) {
|
} catch (DataFormatException dfe) {
|
||||||
addFormError("Internal error (pool name could not resolve - " + poolName + ")");
|
addFormError("Internal error (pool name could not resolve - " + poolName + ").");
|
||||||
index++;
|
index++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -76,7 +76,7 @@ public class ConfigTunnelsHandler extends FormHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if ( (in == null) || (out == null) ) {
|
if ( (in == null) || (out == null) ) {
|
||||||
addFormError("Internal error (pool settings cound not be found for " + poolName + ")");
|
addFormError("Internal error (pool settings cound not be found for " + poolName + ").");
|
||||||
index++;
|
index++;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@ -131,14 +131,14 @@ public class ConfigTunnelsHandler extends FormHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (updated > 0)
|
if (updated > 0)
|
||||||
addFormNotice("Updated settings for " + updated + " pools");
|
addFormNotice("Updated settings for " + updated + " pools.");
|
||||||
|
|
||||||
if (saveRequired) {
|
if (saveRequired) {
|
||||||
boolean saved = _context.router().saveConfig();
|
boolean saved = _context.router().saveConfig();
|
||||||
if (saved)
|
if (saved)
|
||||||
addFormNotice("Exploratory tunnel configuration saved successfully");
|
addFormNotice("Exploratory tunnel configuration saved successfully.");
|
||||||
else
|
else
|
||||||
addFormNotice("Error saving the configuration (applied but not saved) - please see the error logs");
|
addFormNotice("Error saving the configuration (applied but not saved) - please see the error logs.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
private static final int getInt(Object val) {
|
private static final int getInt(Object val) {
|
||||||
|
@ -24,8 +24,8 @@ public class ConfigUIHandler extends FormHandler {
|
|||||||
else
|
else
|
||||||
_context.router().setConfigSetting(CSSHelper.PROP_THEME_NAME, _config);
|
_context.router().setConfigSetting(CSSHelper.PROP_THEME_NAME, _config);
|
||||||
if (_context.router().saveConfig())
|
if (_context.router().saveConfig())
|
||||||
addFormNotice("Theme change successfully saved (<a href=\"configui.jsp\">refresh page to view</a>)");
|
addFormNotice("Theme change successfully saved (<a href=\"configui.jsp\">refresh page</a> to view).");
|
||||||
else
|
else
|
||||||
addFormNotice("Error saving the configuration (applied but not saved) - please see the error logs");
|
addFormNotice("Error saving the configuration (applied but not saved) - please see the error logs.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,7 +3,7 @@ package net.i2p.router.web;
|
|||||||
public class ConfigUIHelper extends HelperBase {
|
public class ConfigUIHelper extends HelperBase {
|
||||||
public ConfigUIHelper() {}
|
public ConfigUIHelper() {}
|
||||||
|
|
||||||
private static final String themes[] = {"Classic", "Dark", "Light"};
|
private static final String themes[] = {"classic", "dark", "light"};
|
||||||
|
|
||||||
public String getSettings() {
|
public String getSettings() {
|
||||||
StringBuilder buf = new StringBuilder(512);
|
StringBuilder buf = new StringBuilder(512);
|
||||||
|
@ -30,6 +30,7 @@
|
|||||||
<b>I2P will work best if you configure your rates to match the speed of your internet connection.</b>
|
<b>I2P will work best if you configure your rates to match the speed of your internet connection.</b>
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
|
<div class="wideload">
|
||||||
<table>
|
<table>
|
||||||
<tr><td><input style="text-align: right; width: 5em;" name="inboundrate" type="text" size="5" maxlength="5" value="<jsp:getProperty name="nethelper" property="inboundRate" />" /> KBps
|
<tr><td><input style="text-align: right; width: 5em;" name="inboundrate" type="text" size="5" maxlength="5" value="<jsp:getProperty name="nethelper" property="inboundRate" />" /> KBps
|
||||||
In <td>(<jsp:getProperty name="nethelper" property="inboundRateBits" />)<br />
|
In <td>(<jsp:getProperty name="nethelper" property="inboundRateBits" />)<br />
|
||||||
@ -49,7 +50,7 @@
|
|||||||
-->
|
-->
|
||||||
<tr><td><jsp:getProperty name="nethelper" property="sharePercentageBox" />
|
<tr><td><jsp:getProperty name="nethelper" property="sharePercentageBox" />
|
||||||
Share <td>(<jsp:getProperty name="nethelper" property="shareRateBits" />)<br />
|
Share <td>(<jsp:getProperty name="nethelper" property="shareRateBits" />)<br />
|
||||||
</table>
|
</table></div>
|
||||||
</p><p>
|
</p><p>
|
||||||
<% int share = nethelper.getShareBandwidth();
|
<% int share = nethelper.getShareBandwidth();
|
||||||
if (share < 12) {
|
if (share < 12) {
|
||||||
|
@ -16,12 +16,13 @@
|
|||||||
<div class="main" id="main">
|
<div class="main" id="main">
|
||||||
|
|
||||||
<%@include file="confignav.jsp" %>
|
<%@include file="confignav.jsp" %>
|
||||||
|
|
||||||
<jsp:useBean class="net.i2p.router.web.ConfigAdvancedHandler" id="formhandler" scope="request" />
|
<jsp:useBean class="net.i2p.router.web.ConfigAdvancedHandler" id="formhandler" scope="request" />
|
||||||
<jsp:setProperty name="formhandler" property="*" />
|
<jsp:setProperty name="formhandler" property="*" />
|
||||||
<jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
|
<jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
|
||||||
<jsp:getProperty name="formhandler" property="allMessages" />
|
<jsp:getProperty name="formhandler" property="allMessages" />
|
||||||
<div class="configure">
|
<div class="configure">
|
||||||
|
<div class="wideload">
|
||||||
<form action="configadvanced.jsp" method="POST">
|
<form action="configadvanced.jsp" method="POST">
|
||||||
<% String prev = System.getProperty("net.i2p.router.web.ConfigAdvancedHandler.nonce");
|
<% String prev = System.getProperty("net.i2p.router.web.ConfigAdvancedHandler.nonce");
|
||||||
if (prev != null) System.setProperty("net.i2p.router.web.ConfigAdvancedHandler.noncePrev", prev);
|
if (prev != null) System.setProperty("net.i2p.router.web.ConfigAdvancedHandler.noncePrev", prev);
|
||||||
@ -38,5 +39,6 @@
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -35,13 +35,13 @@ button span.hide{
|
|||||||
<h3>Client Configuration</h3>
|
<h3>Client Configuration</h3>
|
||||||
<p>
|
<p>
|
||||||
The Java clients listed below are started by the router and run in the same JVM.
|
The Java clients listed below are started by the router and run in the same JVM.
|
||||||
</p><p>
|
</p><p> <div class="wideload">
|
||||||
<jsp:getProperty name="clientshelper" property="form1" />
|
<jsp:getProperty name="clientshelper" property="form1" />
|
||||||
</p><p>
|
</p><p>
|
||||||
<i>All changes require restart to take effect. To change other client options, edit the clients.config file.</i>
|
<i>All changes require restart to take effect. To change other client options, edit the clients.config file.</i>
|
||||||
</p> <hr /><div class="formaction">
|
</p> <hr /><div class="formaction">
|
||||||
<input type="submit" name="action" value="Save Client Configuration" />
|
<input type="submit" name="action" value="Save Client Configuration" />
|
||||||
</div>
|
</div></div>
|
||||||
<h3>WebApp Configuration</h3>
|
<h3>WebApp Configuration</h3>
|
||||||
<p>
|
<p>
|
||||||
The Java web applications listed below are started by the webConsole client and run in the same JVM as the router.
|
The Java web applications listed below are started by the webConsole client and run in the same JVM as the router.
|
||||||
@ -53,7 +53,7 @@ button span.hide{
|
|||||||
A web app may also be disabled by removing the .war file from the webapps directory;
|
A web app may also be disabled by removing the .war file from the webapps directory;
|
||||||
however the .war file and web app will reappear when you update your router to a newer version,
|
however the .war file and web app will reappear when you update your router to a newer version,
|
||||||
so disabling the web app here is the preferred method.
|
so disabling the web app here is the preferred method.
|
||||||
</p><p>
|
</p><p><div class="wideload">
|
||||||
<jsp:getProperty name="clientshelper" property="form2" />
|
<jsp:getProperty name="clientshelper" property="form2" />
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
@ -65,5 +65,6 @@ button span.hide{
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -11,7 +11,7 @@
|
|||||||
<h1>I2P Keyring Configuration</h1>
|
<h1>I2P Keyring Configuration</h1>
|
||||||
<div class="main" id="main">
|
<div class="main" id="main">
|
||||||
<%@include file="confignav.jsp" %>
|
<%@include file="confignav.jsp" %>
|
||||||
|
|
||||||
<jsp:useBean class="net.i2p.router.web.ConfigKeyringHandler" id="formhandler" scope="request" />
|
<jsp:useBean class="net.i2p.router.web.ConfigKeyringHandler" id="formhandler" scope="request" />
|
||||||
<jsp:setProperty name="formhandler" property="*" />
|
<jsp:setProperty name="formhandler" property="*" />
|
||||||
<jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
|
<jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
|
||||||
@ -26,8 +26,9 @@
|
|||||||
<h3>Keyring</h3>
|
<h3>Keyring</h3>
|
||||||
The router keyring is used to decrypt encrypted leaseSets.
|
The router keyring is used to decrypt encrypted leaseSets.
|
||||||
The keyring may contain keys for local or remote encrypted destinations.
|
The keyring may contain keys for local or remote encrypted destinations.
|
||||||
<p><jsp:getProperty name="keyringhelper" property="summary" />
|
<div class="wideload"><p>
|
||||||
</p>
|
<jsp:getProperty name="keyringhelper" property="summary" />
|
||||||
|
</p></div>
|
||||||
|
|
||||||
<hr />
|
<hr />
|
||||||
|
|
||||||
@ -40,6 +41,7 @@
|
|||||||
Enter keys for encrypted remote destinations here.
|
Enter keys for encrypted remote destinations here.
|
||||||
Keys for local destinations must be entered on the <a href="i2ptunnel/index.jsp">I2PTunnel page</a>.
|
Keys for local destinations must be entered on the <a href="i2ptunnel/index.jsp">I2PTunnel page</a>.
|
||||||
<p>
|
<p>
|
||||||
|
<div class="wideload">
|
||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="mediumtags" align="right">Dest. name, hash, or full key:</td>
|
<td class="mediumtags" align="right">Dest. name, hash, or full key:</td>
|
||||||
@ -54,7 +56,7 @@
|
|||||||
</table>
|
</table>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
@ -13,7 +13,7 @@
|
|||||||
<h1>I2P Logging Configuration</h1>
|
<h1>I2P Logging Configuration</h1>
|
||||||
<div class="main" id="main">
|
<div class="main" id="main">
|
||||||
<%@include file="confignav.jsp" %>
|
<%@include file="confignav.jsp" %>
|
||||||
|
|
||||||
<jsp:useBean class="net.i2p.router.web.ConfigLoggingHandler" id="formhandler" scope="request" />
|
<jsp:useBean class="net.i2p.router.web.ConfigLoggingHandler" id="formhandler" scope="request" />
|
||||||
<jsp:setProperty name="formhandler" property="*" />
|
<jsp:setProperty name="formhandler" property="*" />
|
||||||
<jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
|
<jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
|
||||||
@ -26,6 +26,7 @@
|
|||||||
<input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigLoggingHandler.nonce")%>" />
|
<input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigLoggingHandler.nonce")%>" />
|
||||||
<input type="hidden" name="action" value="blah" />
|
<input type="hidden" name="action" value="blah" />
|
||||||
<h3>Configure I2P Logging Options</h3>
|
<h3>Configure I2P Logging Options</h3>
|
||||||
|
<div class="wideload">
|
||||||
<table border="0" cellspacing="5">
|
<table border="0" cellspacing="5">
|
||||||
<tr>
|
<tr>
|
||||||
<td class="mediumtags" align="right"><b>Logging filename:</b>
|
<td class="mediumtags" align="right"><b>Logging filename:</b>
|
||||||
@ -64,5 +65,6 @@
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -69,15 +69,15 @@
|
|||||||
<input type="submit" name="action" value="Adjust peer bonuses" /></div>
|
<input type="submit" name="action" value="Adjust peer bonuses" /></div>
|
||||||
</p>
|
</p>
|
||||||
</form>
|
</form>
|
||||||
|
|
||||||
<a name="shitlist"> </a>
|
<a name="shitlist"> </a>
|
||||||
<jsp:useBean class="net.i2p.router.web.ProfilesHelper" id="profilesHelper" scope="request" />
|
<jsp:useBean class="net.i2p.router.web.ProfilesHelper" id="profilesHelper" scope="request" />
|
||||||
<jsp:setProperty name="profilesHelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
|
<jsp:setProperty name="profilesHelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
|
||||||
<jsp:getProperty name="profilesHelper" property="shitlistSummary" />
|
<jsp:getProperty name="profilesHelper" property="shitlistSummary" />
|
||||||
<hr />
|
<hr />
|
||||||
|
<div class="wideload">
|
||||||
<jsp:getProperty name="peerhelper" property="blocklistSummary" />
|
<jsp:getProperty name="peerhelper" property="blocklistSummary" />
|
||||||
|
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
@ -56,7 +56,7 @@ function toggleAll(category)
|
|||||||
<h1>I2P Stats Configuration</h1>
|
<h1>I2P Stats Configuration</h1>
|
||||||
<div class="main" id="main">
|
<div class="main" id="main">
|
||||||
<%@include file="confignav.jsp" %>
|
<%@include file="confignav.jsp" %>
|
||||||
|
|
||||||
<jsp:useBean class="net.i2p.router.web.ConfigStatsHandler" id="formhandler" scope="request" />
|
<jsp:useBean class="net.i2p.router.web.ConfigStatsHandler" id="formhandler" scope="request" />
|
||||||
<jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
|
<jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
|
||||||
<jsp:setProperty name="formhandler" property="*" />
|
<jsp:setProperty name="formhandler" property="*" />
|
||||||
@ -78,6 +78,7 @@ function toggleAll(category)
|
|||||||
(change requires restart to take effect)<br />
|
(change requires restart to take effect)<br />
|
||||||
Stat file: <input type="text" name="filename" value="<%=statshelper.getFilename()%>" /><br />
|
Stat file: <input type="text" name="filename" value="<%=statshelper.getFilename()%>" /><br />
|
||||||
Filter: (<a href="javascript: void(null);" onclick="toggleAll('*')">toggle all</a>)<hr />
|
Filter: (<a href="javascript: void(null);" onclick="toggleAll('*')">toggle all</a>)<hr />
|
||||||
|
<div class="wideload">
|
||||||
<table>
|
<table>
|
||||||
<% while (statshelper.hasMoreStats()) {
|
<% while (statshelper.hasMoreStats()) {
|
||||||
while (statshelper.groupRequired()) { %>
|
while (statshelper.groupRequired()) { %>
|
||||||
@ -105,5 +106,6 @@ function toggleAll(category)
|
|||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -14,7 +14,6 @@
|
|||||||
<h1>I2P Tunnel Configuration</h1>
|
<h1>I2P Tunnel Configuration</h1>
|
||||||
<div class="main" id="main">
|
<div class="main" id="main">
|
||||||
<%@include file="confignav.jsp" %>
|
<%@include file="confignav.jsp" %>
|
||||||
|
|
||||||
<jsp:useBean class="net.i2p.router.web.ConfigTunnelsHandler" id="formhandler" scope="request" />
|
<jsp:useBean class="net.i2p.router.web.ConfigTunnelsHandler" id="formhandler" scope="request" />
|
||||||
<jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
|
<jsp:setProperty name="formhandler" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
|
||||||
<jsp:setProperty name="formhandler" property="shouldsave" value="<%=request.getParameter("shouldsave")%>" />
|
<jsp:setProperty name="formhandler" property="shouldsave" value="<%=request.getParameter("shouldsave")%>" />
|
||||||
@ -31,7 +30,7 @@
|
|||||||
High CPU and/or high outbound bandwidth usage may result.
|
High CPU and/or high outbound bandwidth usage may result.
|
||||||
Change these settings with care, and adjust them if you have problems.
|
Change these settings with care, and adjust them if you have problems.
|
||||||
</i></p>
|
</i></p>
|
||||||
|
<div class="wideload">
|
||||||
<form action="configtunnels.jsp" method="POST">
|
<form action="configtunnels.jsp" method="POST">
|
||||||
<% String prev = System.getProperty("net.i2p.router.web.ConfigTunnelsHandler.nonce");
|
<% String prev = System.getProperty("net.i2p.router.web.ConfigTunnelsHandler.nonce");
|
||||||
if (prev != null) System.setProperty("net.i2p.router.web.ConfigTunnelsHandler.noncePrev", prev);
|
if (prev != null) System.setProperty("net.i2p.router.web.ConfigTunnelsHandler.noncePrev", prev);
|
||||||
@ -46,5 +45,6 @@
|
|||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
System.setProperty("net.i2p.router.web.ConfigUpdateHandler.nonce", new java.util.Random().nextLong()+""); %>
|
System.setProperty("net.i2p.router.web.ConfigUpdateHandler.nonce", new java.util.Random().nextLong()+""); %>
|
||||||
<input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigUpdateHandler.nonce")%>" />
|
<input type="hidden" name="nonce" value="<%=System.getProperty("net.i2p.router.web.ConfigUpdateHandler.nonce")%>" />
|
||||||
<h3>Check for I2P and news updates</h3>
|
<h3>Check for I2P and news updates</h3>
|
||||||
<table border="0" cellspacing="5">
|
<div class="wideload"><table border="0" cellspacing="5">
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="2"></tr>
|
<td colspan="2"></tr>
|
||||||
<tr>
|
<tr>
|
||||||
@ -70,6 +70,7 @@
|
|||||||
<input type="reset" value="Cancel" />
|
<input type="reset" value="Cancel" />
|
||||||
</div>
|
</div>
|
||||||
</table>
|
</table>
|
||||||
|
</div>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -18,3 +18,4 @@
|
|||||||
<jsp:useBean class="net.i2p.router.web.CSSHelper" id="cssHelper" scope="request" />
|
<jsp:useBean class="net.i2p.router.web.CSSHelper" id="cssHelper" scope="request" />
|
||||||
<jsp:setProperty name="cssHelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
|
<jsp:setProperty name="cssHelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
|
||||||
<link href="<%=cssHelper.getTheme(request.getHeader("User-Agent"))%>console.css" rel="stylesheet" type="text/css" />
|
<link href="<%=cssHelper.getTheme(request.getHeader("User-Agent"))%>console.css" rel="stylesheet" type="text/css" />
|
||||||
|
<!--[if IE]><link href="/themes/console/classic/ieshim.css" rel="stylesheet" type="text/css" /><![endif]-->
|
@ -1,8 +1,12 @@
|
|||||||
|
2009-08-02
|
||||||
|
* Better support for Internet Explorer/classic theme.
|
||||||
|
* Incremental improvements to classic theme.
|
||||||
|
* More UI tweaks and fiddles.
|
||||||
|
|
||||||
2009-07-31 dr|z3d
|
2009-07-31 dr|z3d
|
||||||
* Resolve anomalous buttons and text fields in console ui.
|
* Resolve anomalous buttons and text fields in console ui.
|
||||||
* Enhance presentation of data in /peers.jsp.
|
* Enhance presentation of data in /peers.jsp.
|
||||||
* Fix themes issue with horizontal width of radio/checkbox icons.
|
* Fix themes issue with horizontal width of radio/checkbox icons.
|
||||||
(Radioboxes currently non-functional in Opera).
|
|
||||||
* Other cosmetic UI enhancements.
|
* Other cosmetic UI enhancements.
|
||||||
|
|
||||||
* 2009-07-31 0.7.6 released
|
* 2009-07-31 0.7.6 released
|
||||||
|
@ -1,10 +1,13 @@
|
|||||||
body {
|
body {
|
||||||
margin: 1em 0em;
|
margin: 15px 0;
|
||||||
padding: 0em;
|
padding: 0;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
background: #FFF;
|
background: #FFF;
|
||||||
color: #000;
|
color: #000;
|
||||||
font: 10pt/120% Verdana, Tahoma, Helvetica, sans-serif;
|
/*
|
||||||
|
font: 10pt/140% Verdana, Tahoma, Helvetica, sans-serif;
|
||||||
|
*/
|
||||||
|
font: 10pt/140% "Lucida Sans Unicode", "Bitstream Vera Sans", Verdana, Tahoma, Helvetica, sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
.hide {
|
.hide {
|
||||||
@ -16,8 +19,9 @@ img {
|
|||||||
}
|
}
|
||||||
|
|
||||||
pre {
|
pre {
|
||||||
|
overflow: auto;
|
||||||
|
font-size: 8pt !important;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
overflow-x: scroll;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
div.logo {
|
div.logo {
|
||||||
@ -37,25 +41,25 @@ div.toolbar {
|
|||||||
}
|
}
|
||||||
|
|
||||||
div.routersummaryouter {
|
div.routersummaryouter {
|
||||||
float: left;
|
float: left;
|
||||||
width: 200px;
|
width: 200px;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
clear: left;/* fixes a bug in Opera */
|
clear: left; /* fixes a bug in Opera */
|
||||||
overflow: auto;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
div.routersummary {
|
div.routersummary {
|
||||||
background: #fafaff;
|
background: #fafaff;
|
||||||
width: 175px;
|
width: 180px;
|
||||||
color: inherit;
|
color: inherit;
|
||||||
margin: 0em;
|
margin: 0;
|
||||||
padding: 5px;
|
padding: 5px 0 0 10px;
|
||||||
text-align: left;
|
text-align: left !important;
|
||||||
border: medium solid #efefff;
|
border: 5px solid #efefff;
|
||||||
font-size: 9pt;
|
font-size: 9pt;
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
|
font: 9pt/125%;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.routersummary hr {
|
div.routersummary hr {
|
||||||
@ -63,11 +67,16 @@ div.routersummary hr {
|
|||||||
background: #ccf;
|
background: #ccf;
|
||||||
height: 2px;
|
height: 2px;
|
||||||
border: 0px solid #ccf;
|
border: 0px solid #ccf;
|
||||||
margin: 10px 0;
|
margin: 4px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
div.routersummary p {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
div.warning {
|
div.warning {
|
||||||
margin: 0em 1em 1em 224px;
|
margin: 0 10px 10px 205px;
|
||||||
padding: .5em 1em;
|
padding: 5px 10px;
|
||||||
background: #ffefef;
|
background: #ffefef;
|
||||||
border: medium solid #ffafaf;
|
border: medium solid #ffafaf;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
@ -75,40 +84,63 @@ div.warning {
|
|||||||
}
|
}
|
||||||
|
|
||||||
div.main {
|
div.main {
|
||||||
margin: 0em 1em 1em 224px;
|
margin: 0 20px 10px 205px;
|
||||||
padding: .5em 1em;
|
padding: 5px 15px 15px 15px;
|
||||||
background: #ffffef;
|
background: #ffffef;
|
||||||
border: medium solid #ffffd0;
|
border: 5px solid #ffffd0;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
color: inherit;
|
color: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
div.main textarea {
|
div.main textarea {
|
||||||
width: 100% !important;
|
/* width: 100% !important; breaks IE */
|
||||||
|
width: 600px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.news {
|
div.news {
|
||||||
margin: 0em 1em 1em 224px;
|
margin: 0 20px 0 205px;
|
||||||
padding: .5em 1em;
|
padding: -10px 15px 5px 15px;
|
||||||
background: #ffffc0;
|
background: #ffffc0;
|
||||||
border: medium solid #ffffa0;
|
border: 5px solid #ffffa0;
|
||||||
text-align: justify;
|
text-align: justify;
|
||||||
color: inherit;
|
color: inherit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
div.news li {
|
||||||
|
text-align: justify;
|
||||||
|
list-style: none;
|
||||||
|
margin: -10px 20px -20px -20px;
|
||||||
|
padding: 8px 0;
|
||||||
|
border: 1px solid #330;
|
||||||
|
border-left: 5px solid #330;
|
||||||
|
padding: 3px 5px 3px 5px;
|
||||||
|
background: #fe7;
|
||||||
|
font-size: 12pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.news a:link {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
div.confignav {
|
div.confignav {
|
||||||
padding: 1em;
|
padding: 12px 0 15px 0;
|
||||||
background: #efefff;
|
background: #cfc;
|
||||||
|
margin: -10px -20px 0 -10px;
|
||||||
|
border: 5px solid #9f9;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.configure {
|
div.configure {
|
||||||
padding: 1em;
|
margin: 0 -20px 0 -10px;
|
||||||
|
padding: 10px 20px 5px 20px;
|
||||||
background: #ffffc0;
|
background: #ffffc0;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.messages {
|
div.messages {
|
||||||
padding: 1em;
|
padding: 10px;
|
||||||
background: #fafaff;
|
background: #fafaff;
|
||||||
|
border: 5px solid #fdd;
|
||||||
|
margin: 0px -20px 0px -10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.messages span.error {
|
div.messages span.error {
|
||||||
@ -122,21 +154,37 @@ div.messages span.notice {
|
|||||||
h1 {
|
h1 {
|
||||||
font-size: 18pt;
|
font-size: 18pt;
|
||||||
text-align: center;
|
text-align: center;
|
||||||
|
border: 5px solid #efefff;
|
||||||
|
border-bottom: 5px solid #efefff;
|
||||||
|
padding: 10px;
|
||||||
|
margin: 0 20px 0 205px;
|
||||||
|
line-height: 93%;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 0.3em;
|
||||||
|
background: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
h2 {
|
h2 {
|
||||||
font-size: 12pt;
|
font-size: 14pt;
|
||||||
|
padding: 10px;
|
||||||
|
border-bottom: 2px solid #001;
|
||||||
|
border-top: 2px solid #001;
|
||||||
|
letter-spacing: 0.04em;
|
||||||
}
|
}
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
font-size: 10pt;
|
font-size: 12pt;
|
||||||
|
padding: 10px;
|
||||||
|
border-bottom: 2px solid #001;
|
||||||
|
border-top: 2px solid #001;
|
||||||
|
letter-spacing: 0.04em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.proxyfooter{
|
.proxyfooter{
|
||||||
font-size: 7pt;
|
font-size: 7pt;
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
table {
|
table {
|
||||||
/* border-collapse: collapse; */
|
/* border-collapse: collapse; */
|
||||||
border: 5px solid #dfd;
|
border: 5px solid #dfd;
|
||||||
@ -144,12 +192,13 @@ table {
|
|||||||
cell-padding: 1px;
|
cell-padding: 1px;
|
||||||
font-size: 7pt;
|
font-size: 7pt;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
th {
|
th {
|
||||||
background-color: #ccf;
|
background-color: #ccf;
|
||||||
padding: 5px 2px;
|
padding: 5px 2px;
|
||||||
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
tt {
|
tt {
|
||||||
@ -169,11 +218,11 @@ tr:nth-child(odd) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
hr {
|
hr {
|
||||||
color: #ff9;
|
color: #dd9;
|
||||||
background: #ff9;
|
background: #dd9;
|
||||||
height: 2px;
|
height: 2px;
|
||||||
border: 0px solid #ff9;
|
border: 0px solid #dd5;
|
||||||
margin: 10px 0;
|
margin: 5px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.statusnotes {
|
.statusnotes {
|
||||||
@ -183,4 +232,88 @@ hr {
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
margin: -3px 0 0 0;
|
margin: -3px 0 0 0;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
margin: 3px 5px 3px 0;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
select {
|
||||||
|
margin: 3px 5px 3px 0;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
submit {
|
||||||
|
padding 0 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
padding: 5px 20px 0px 20px;
|
||||||
|
text-align: justify;
|
||||||
|
}
|
||||||
|
|
||||||
|
.formaction {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.langbox {
|
||||||
|
margin: 30px 0 0px 5px;
|
||||||
|
color: #001;
|
||||||
|
font-size: 7pt;
|
||||||
|
width: 180px;
|
||||||
|
text-align: center;
|
||||||
|
float: right;
|
||||||
|
valign: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.langbox img {
|
||||||
|
padding: 0 2px; /* Ignored by IE8 */
|
||||||
|
}
|
||||||
|
|
||||||
|
a:link{
|
||||||
|
color: #006;
|
||||||
|
text-decoration: none;
|
||||||
|
font-weight: bold;
|
||||||
|
word-wrap: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:visited{
|
||||||
|
color: #448;
|
||||||
|
text-decoration: none;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:hover{
|
||||||
|
color: #f60;
|
||||||
|
text-decoration: underline;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
a:active{
|
||||||
|
color: #f93;
|
||||||
|
text-decoration: underline;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
pre {
|
||||||
|
font-size: 9pt;
|
||||||
|
margin: 0px 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
tt {
|
||||||
|
font-size: 9pt;
|
||||||
|
font-weight: bold;
|
||||||
|
color: darkgreen;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tablefooter {
|
||||||
|
border: 1px solid #f00;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tablefooter tr, .tablefooter td {
|
||||||
|
background: #aaf;
|
||||||
|
font-size: 8pt;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 150%;
|
||||||
|
}
|
6
installer/resources/themes/console/classic/ieshim.css
Normal file
6
installer/resources/themes/console/classic/ieshim.css
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
/* Welcome to the wonderful world of kludgey IE fixes */
|
||||||
|
|
||||||
|
.wideload {
|
||||||
|
overflow: auto;
|
||||||
|
width: 100%;
|
||||||
|
}
|
@ -19,7 +19,7 @@ img {
|
|||||||
|
|
||||||
pre {
|
pre {
|
||||||
width: 98%;
|
width: 98%;
|
||||||
overflow-x: scroll;
|
overflow: auto;
|
||||||
text-align: left;
|
text-align: left;
|
||||||
font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
|
font: 8pt "Lucida Console", "DejaVu Sans Mono", Courier, mono;
|
||||||
color: #333;
|
color: #333;
|
||||||
@ -130,7 +130,6 @@ div.main {
|
|||||||
text-align: left;
|
text-align: left;
|
||||||
color: #001;
|
color: #001;
|
||||||
width: auto;
|
width: auto;
|
||||||
/* overflow-x: scroll; */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
div.main hr, hr {
|
div.main hr, hr {
|
||||||
@ -652,7 +651,7 @@ form {}
|
|||||||
-khtml-border-radius: 4px;
|
-khtml-border-radius: 4px;
|
||||||
text-align: justify;
|
text-align: justify;
|
||||||
-moz-box-shadow: inset 0px 0px 1px 0px #002;
|
-moz-box-shadow: inset 0px 0px 1px 0px #002;
|
||||||
overflow-x: scroll;
|
overflow: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.joblog:li {
|
div.joblog:li {
|
||||||
|
@ -607,7 +607,7 @@ public class JobQueue {
|
|||||||
out.flush();
|
out.flush();
|
||||||
|
|
||||||
StringBuilder buf = new StringBuilder(32*1024);
|
StringBuilder buf = new StringBuilder(32*1024);
|
||||||
buf.append("<b><div class=\"joblog\"><h3>I2P JobQueue</h3># runners: ").append(numRunners).append(" [states=");
|
buf.append("<b><div class=\"joblog\"><h3>I2P JobQueue</h3><div class=\"wideload\"># runners: ").append(numRunners).append(" [states=");
|
||||||
if (states != null)
|
if (states != null)
|
||||||
for (int i = 0; i < states.length; i++)
|
for (int i = 0; i < states.length; i++)
|
||||||
buf.append(states[i]).append(" ");
|
buf.append(states[i]).append(" ");
|
||||||
@ -734,6 +734,6 @@ public class JobQueue {
|
|||||||
buf.append("<td><i>").append(minPendingTime).append("</i></td>");
|
buf.append("<td><i>").append(minPendingTime).append("</i></td>");
|
||||||
buf.append("</tr>\n");
|
buf.append("</tr>\n");
|
||||||
|
|
||||||
buf.append("</table>\n");
|
buf.append("</table></div>\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ public class RouterVersion {
|
|||||||
/** deprecated */
|
/** deprecated */
|
||||||
public final static String ID = "Monotone";
|
public final static String ID = "Monotone";
|
||||||
public final static String VERSION = CoreVersion.VERSION;
|
public final static String VERSION = CoreVersion.VERSION;
|
||||||
public final static long BUILD = 04;
|
public final static long BUILD = 05;
|
||||||
/** for example "-test" */
|
/** for example "-test" */
|
||||||
public final static String EXTRA = "";
|
public final static String EXTRA = "";
|
||||||
public final static String FULL_VERSION = VERSION + "-" + BUILD + EXTRA;
|
public final static String FULL_VERSION = VERSION + "-" + BUILD + EXTRA;
|
||||||
|
@ -643,7 +643,7 @@ public class NTCPTransport extends TransportImpl {
|
|||||||
buf.append(". Limit: ").append(getMaxConnections());
|
buf.append(". Limit: ").append(getMaxConnections());
|
||||||
buf.append(". Timeout: ").append(DataHelper.formatDuration(_pumper.getIdleTimeout()));
|
buf.append(". Timeout: ").append(DataHelper.formatDuration(_pumper.getIdleTimeout()));
|
||||||
buf.append(".</b></h3>\n");
|
buf.append(".</b></h3>\n");
|
||||||
buf.append("<table>\n");
|
buf.append("<div class=\"wideload\"><table>\n");
|
||||||
buf.append("<tr><th><a href=\"#def.peer\">Peer</a></th>");
|
buf.append("<tr><th><a href=\"#def.peer\">Peer</a></th>");
|
||||||
buf.append("<th>Dir</th>");
|
buf.append("<th>Dir</th>");
|
||||||
buf.append("<th align=\"right\"><a href=\"#def.idle\">Idle</a></th>");
|
buf.append("<th align=\"right\"><a href=\"#def.idle\">Idle</a></th>");
|
||||||
@ -727,7 +727,7 @@ public class NTCPTransport extends TransportImpl {
|
|||||||
buf.append("</td></tr>\n");
|
buf.append("</td></tr>\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
buf.append("</table></p>\n");
|
buf.append("</table></div></p>\n");
|
||||||
out.write(buf.toString());
|
out.write(buf.toString());
|
||||||
buf.setLength(0);
|
buf.setLength(0);
|
||||||
}
|
}
|
||||||
|
@ -1767,7 +1767,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
|
|||||||
buf.append(". Limit: ").append(getMaxConnections());
|
buf.append(". Limit: ").append(getMaxConnections());
|
||||||
buf.append(". Timeout: ").append(DataHelper.formatDuration(_expireTimeout));
|
buf.append(". Timeout: ").append(DataHelper.formatDuration(_expireTimeout));
|
||||||
buf.append(".</b></h3>\n");
|
buf.append(".</b></h3>\n");
|
||||||
buf.append("<table>\n");
|
buf.append("<div class=\"wideload\"><table>\n");
|
||||||
buf.append("<tr><th class=\"smallhead\" nowrap><a href=\"#def.peer\">Peer</a>");
|
buf.append("<tr><th class=\"smallhead\" nowrap><a href=\"#def.peer\">Peer</a>");
|
||||||
if (sortFlags != FLAG_ALPHA)
|
if (sortFlags != FLAG_ALPHA)
|
||||||
buf.append(" <a href=\"").append(urlBase).append("?sort=0\">V</a> ");
|
buf.append(" <a href=\"").append(urlBase).append("?sort=0\">V</a> ");
|
||||||
@ -1998,7 +1998,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority
|
|||||||
buf.append(sendTotal).append("</td></b> <td align=\"center\"><b>").append(recvTotal).append("</b></td>\n");
|
buf.append(sendTotal).append("</td></b> <td align=\"center\"><b>").append(recvTotal).append("</b></td>\n");
|
||||||
buf.append(" <td align=\"center\"><b>").append(resentTotal);
|
buf.append(" <td align=\"center\"><b>").append(resentTotal);
|
||||||
buf.append("</b></td> <td align=\"center\"><b>").append(dupRecvTotal).append("</b></td>\n");
|
buf.append("</b></td> <td align=\"center\"><b>").append(dupRecvTotal).append("</b></td>\n");
|
||||||
buf.append(" </tr></table></p><p>\n");
|
buf.append(" </tr></table></div></p><p>\n");
|
||||||
long bytesTransmitted = _context.bandwidthLimiter().getTotalAllocatedOutboundBytes();
|
long bytesTransmitted = _context.bandwidthLimiter().getTotalAllocatedOutboundBytes();
|
||||||
// NPE here early
|
// NPE here early
|
||||||
double averagePacketSize = _context.statManager().getRate("udp.sendPacketSize").getLifetimeAverageValue();
|
double averagePacketSize = _context.statManager().getRate("udp.sendPacketSize").getLifetimeAverageValue();
|
||||||
|
@ -405,7 +405,7 @@ public class TunnelPoolManager implements TunnelManagerFacade {
|
|||||||
|
|
||||||
|
|
||||||
public void renderStatusHTML(Writer out) throws IOException {
|
public void renderStatusHTML(Writer out) throws IOException {
|
||||||
out.write("<h2><a name=\"exploratory\" ></a>Exploratory tunnels (<a href=\"/configtunnels.jsp#exploratory\">config</a>):</h2>\n");
|
out.write("<div class=\"wideload\"><h2><a name=\"exploratory\" ></a>Exploratory tunnels (<a href=\"/configtunnels.jsp#exploratory\">config</a>):</h2>\n");
|
||||||
renderPool(out, _inboundExploratory, _outboundExploratory);
|
renderPool(out, _inboundExploratory, _outboundExploratory);
|
||||||
|
|
||||||
List destinations = null;
|
List destinations = null;
|
||||||
@ -623,7 +623,7 @@ public class TunnelPoolManager implements TunnelManagerFacade {
|
|||||||
}
|
}
|
||||||
out.write("<tr class=\"tablefooter\"> <td align=\"center\"><b>Tunnels</b> <td align=\"center\"><b>" + tunnelCount);
|
out.write("<tr class=\"tablefooter\"> <td align=\"center\"><b>Tunnels</b> <td align=\"center\"><b>" + tunnelCount);
|
||||||
out.write("</b> <td> </td> <td align=\"center\"><b>" + partCount);
|
out.write("</b> <td> </td> <td align=\"center\"><b>" + partCount);
|
||||||
out.write("</b> <td> </td></tr></table>\n");
|
out.write("</b> <td> </td></tr></table></div>\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
/** @return total number of non-fallback expl. + client tunnels */
|
/** @return total number of non-fallback expl. + client tunnels */
|
||||||
|
Reference in New Issue
Block a user