More UI whitespace cleanups and other miscellaneous UI goodness.
This commit is contained in:
@ -226,9 +226,9 @@ class ProfileOrganizerRenderer {
|
|||||||
buf.append("</table>");
|
buf.append("</table>");
|
||||||
|
|
||||||
buf.append("<h3>Thresholds:</h3>");
|
buf.append("<h3>Thresholds:</h3>");
|
||||||
buf.append("<b>Speed:</b> ").append(num(_organizer.getSpeedThreshold())).append(" (").append(fast).append(" fast peers)<br>");
|
buf.append("<p><b>Speed:</b> ").append(num(_organizer.getSpeedThreshold())).append(" (").append(fast).append(" fast peers)<br>");
|
||||||
buf.append("<b>Capacity:</b> ").append(num(_organizer.getCapacityThreshold())).append(" (").append(reliable).append(" high capacity peers)<br>");
|
buf.append("<b>Capacity:</b> ").append(num(_organizer.getCapacityThreshold())).append(" (").append(reliable).append(" high capacity peers)<br>");
|
||||||
buf.append("<b>Integration:</b> ").append(num(_organizer.getIntegrationThreshold())).append(" (").append(integrated).append(" well integrated peers)");
|
buf.append("<b>Integration:</b> ").append(num(_organizer.getIntegrationThreshold())).append(" (").append(integrated).append(" well integrated peers)</p>");
|
||||||
buf.append("<h3>Definitions:</h3><ul>" +
|
buf.append("<h3>Definitions:</h3><ul>" +
|
||||||
"<li><b>groups</b>: as determined by the profile organizer</li>" +
|
"<li><b>groups</b>: as determined by the profile organizer</li>" +
|
||||||
"<li><b>caps</b>: capabilities in the netDb, not used to determine profiles</li>" +
|
"<li><b>caps</b>: capabilities in the netDb, not used to determine profiles</li>" +
|
||||||
|
@ -165,7 +165,7 @@ details on other applications available, as well as their licenses, please see t
|
|||||||
client applications can be found on our <a href="http://www.i2p2.i2p/download">download page</a>.
|
client applications can be found on our <a href="http://www.i2p2.i2p/download">download page</a>.
|
||||||
.</p>
|
.</p>
|
||||||
|
|
||||||
<h2>Release history</h2>
|
<h2>Release history</h2><br>
|
||||||
<jsp:useBean class="net.i2p.router.web.ContentHelper" id="contenthelper" scope="request" />
|
<jsp:useBean class="net.i2p.router.web.ContentHelper" id="contenthelper" scope="request" />
|
||||||
<% java.io.File fpath = new java.io.File(net.i2p.I2PAppContext.getGlobalContext().getBaseDir(), "history.txt"); %>
|
<% java.io.File fpath = new java.io.File(net.i2p.I2PAppContext.getGlobalContext().getBaseDir(), "history.txt"); %>
|
||||||
<jsp:setProperty name="contenthelper" property="page" value="<%=fpath.getAbsolutePath()%>" />
|
<jsp:setProperty name="contenthelper" property="page" value="<%=fpath.getAbsolutePath()%>" />
|
||||||
|
@ -9,6 +9,6 @@
|
|||||||
<div class="main" id="main">
|
<div class="main" id="main">
|
||||||
<jsp:useBean class="net.i2p.router.web.JobQueueHelper" id="jobQueueHelper" scope="request" />
|
<jsp:useBean class="net.i2p.router.web.JobQueueHelper" id="jobQueueHelper" scope="request" />
|
||||||
<jsp:setProperty name="jobQueueHelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
|
<jsp:setProperty name="jobQueueHelper" property="contextId" value="<%=(String)session.getAttribute("i2p.contextId")%>" />
|
||||||
<jsp:setProperty name="jobQueueHelper" property="writer" value="<%=out%>" />
|
<jsp:setProperty name="jobQueueHelper" property="writer" value="<%=out%>" /><hr>
|
||||||
<jsp:getProperty name="jobQueueHelper" property="jobQueueSummary" />
|
<jsp:getProperty name="jobQueueHelper" property="jobQueueSummary" />
|
||||||
</div></body></html>
|
</div></body></html>
|
||||||
|
@ -22,10 +22,10 @@
|
|||||||
} else {
|
} else {
|
||||||
// since we don't have an iframe this will reload the base page, and
|
// since we don't have an iframe this will reload the base page, and
|
||||||
// the new delay will be passed to the iframe above
|
// the new delay will be passed to the iframe above
|
||||||
out.print("<form action=\"" + request.getRequestURI() + "\" method=\"GET\">\n");
|
out.print("<div class=\"refresh\"><form action=\"" + request.getRequestURI() + "\" method=\"GET\">\n");
|
||||||
out.print("<b>Refresh (s):</b> <input size=\"3\" type=\"text\" name=\"refresh\" value=\"60\" />\n");
|
out.print("<b>Refresh (s):</b> <input size=\"3\" type=\"text\" name=\"refresh\" value=\"60\" />\n");
|
||||||
out.print("<button type=\"submit\">Enable</button>\n");
|
out.print("<button type=\"submit\">Enable</button>\n");
|
||||||
out.print("</form></div>\n");
|
out.print("</form></div></div>\n");
|
||||||
}
|
}
|
||||||
%>
|
%>
|
||||||
</div>
|
</div>
|
||||||
|
@ -53,14 +53,14 @@
|
|||||||
<%
|
<%
|
||||||
// d and shutdownSoon defined above
|
// d and shutdownSoon defined above
|
||||||
if (!shutdownSoon) {
|
if (!shutdownSoon) {
|
||||||
out.print("<hr><form action=\"summaryframe.jsp\" method=\"GET\">\n");
|
out.print("<hr><div class=\"refresh\"><form action=\"summaryframe.jsp\" method=\"GET\">\n");
|
||||||
if ("0".equals(d)) {
|
if ("0".equals(d)) {
|
||||||
out.print("<b>Refresh (s):<b> <input size=\"3\" type=\"text\" name=\"refresh\" value=\"60\" align=\"right\" />\n");
|
out.print("<b>Refresh (s):<b> <input size=\"3\" type=\"text\" name=\"refresh\" value=\"60\" />\n");
|
||||||
out.print("<button type=\"submit\">Enable</button>\n");
|
out.print("<button type=\"submit\">Enable</button></div>\n");
|
||||||
} else {
|
} else {
|
||||||
// this will load in the iframe but subsequent pages will not have the iframe
|
// this will load in the iframe but subsequent pages will not have the iframe
|
||||||
out.print("<input type=\"hidden\" name=\"refresh\" value=\"0\" />\n");
|
out.print("<input type=\"hidden\" name=\"refresh\" value=\"0\" />\n");
|
||||||
out.print("<button type=\"submit\">Disable " + d + "s Refresh</button>\n");
|
out.print("<button type=\"submit\">Disable " + d + "s Refresh</button></div>\n");
|
||||||
}
|
}
|
||||||
out.print("</form><hr>\n");
|
out.print("</form><hr>\n");
|
||||||
}
|
}
|
||||||
|
@ -218,7 +218,14 @@ div.routersummary tr {
|
|||||||
}
|
}
|
||||||
|
|
||||||
div.routersummary form {
|
div.routersummary form {
|
||||||
margin-top: 8px;
|
margin-top: -6px !important;
|
||||||
|
margin-bottom: -4px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.refresh {
|
||||||
|
margin-top: 10px !important;
|
||||||
|
margin-bottom: 10px !important;
|
||||||
|
padding: 2px 0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.routersummary p {
|
div.routersummary p {
|
||||||
@ -268,7 +275,7 @@ div.main {
|
|||||||
}
|
}
|
||||||
|
|
||||||
div.main ul {
|
div.main ul {
|
||||||
margin: 5px 0 -10px -10px;
|
margin: -10px 0 -10px -10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.main li {
|
div.main li {
|
||||||
@ -293,6 +300,7 @@ div.main textarea {
|
|||||||
|
|
||||||
div.main h2 {
|
div.main h2 {
|
||||||
margin-top: 20px;
|
margin-top: 20px;
|
||||||
|
margin-bottom: -5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.welcome {
|
div.welcome {
|
||||||
@ -301,7 +309,24 @@ div.welcome {
|
|||||||
|
|
||||||
div.main h2:first-child, div.main h3:first-child {
|
div.main h2:first-child, div.main h3:first-child {
|
||||||
margin-top: 0px;
|
margin-top: 0px;
|
||||||
margin-bottom: 10px;
|
margin-bottom: -5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.wideload h2 {
|
||||||
|
margin-bottom: 0px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.wideload h3:first-child {
|
||||||
|
margin-top: 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.wideload h3 {
|
||||||
|
margin-top: 15px !important;
|
||||||
|
margin-bottom: 0px !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.wideload p !important {
|
||||||
|
margin-top: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.news {
|
div.news {
|
||||||
@ -401,6 +426,7 @@ div.configure h2:first-child {
|
|||||||
|
|
||||||
.topshimten {
|
.topshimten {
|
||||||
margin-top: 15px;
|
margin-top: 15px;
|
||||||
|
margin-bottom: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.messages {
|
div.messages {
|
||||||
@ -615,6 +641,7 @@ p {
|
|||||||
|
|
||||||
.formaction {
|
.formaction {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
|
margin: -10px -5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.langbox {
|
.langbox {
|
||||||
@ -634,6 +661,7 @@ p {
|
|||||||
.links {
|
.links {
|
||||||
padding-bottom: -2px;
|
padding-bottom: -2px;
|
||||||
text-align: justify;
|
text-align: justify;
|
||||||
|
margin-top: 5px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
.links li {
|
.links li {
|
||||||
@ -731,7 +759,7 @@ div.graphspanel hr {
|
|||||||
margin: 10px 0;
|
margin: 10px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
div.graphspanel form {
|
div.graphspanel form:last-child {
|
||||||
text-align: left;
|
text-align: left;
|
||||||
margin: 0 20px;
|
margin: 0 20px;
|
||||||
}
|
}
|
||||||
|
@ -186,6 +186,12 @@ div.routersummary p {
|
|||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
div.refresh {
|
||||||
|
margin-top: -10px !important;
|
||||||
|
margin-bottom: -4px !important;
|
||||||
|
padding: 2px 0 0px 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
div.routersummary a:link, div.routersummary a:visited {
|
div.routersummary a:link, div.routersummary a:visited {
|
||||||
text-shadow: 0px 0px 1px rgba(192, 192, 255, 0.5);
|
text-shadow: 0px 0px 1px rgba(192, 192, 255, 0.5);
|
||||||
}
|
}
|
||||||
|
@ -178,6 +178,12 @@ div.routersummary p {
|
|||||||
padding: 0;
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
div.refresh {
|
||||||
|
margin-top: -6px !important;
|
||||||
|
margin-bottom: -8px !important;
|
||||||
|
padding: 2px 0 0px 0 !important;
|
||||||
|
}
|
||||||
|
|
||||||
div.routersummary a:link, div.routersummary a:visited {
|
div.routersummary a:link, div.routersummary a:visited {
|
||||||
text-shadow: 0px 0px 1px rgba(0, 0, 32, 0.5);
|
text-shadow: 0px 0px 1px rgba(0, 0, 32, 0.5);
|
||||||
}
|
}
|
||||||
|
@ -642,11 +642,11 @@ public class NTCPTransport extends TransportImpl {
|
|||||||
long totalRecv = 0;
|
long totalRecv = 0;
|
||||||
|
|
||||||
StringBuilder buf = new StringBuilder(512);
|
StringBuilder buf = new StringBuilder(512);
|
||||||
buf.append("<h3 id=\"ntcpcon\">NTCP connections: ").append(peers.size());
|
buf.append("<div class=\"wideload\"><h3 id=\"ntcpcon\">NTCP connections: ").append(peers.size());
|
||||||
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(".</h3>\n" +
|
buf.append(".</h3>\n" +
|
||||||
"<div class=\"wideload\"><table>\n" +
|
"<table>\n" +
|
||||||
"<tr><th><a href=\"#def.peer\">Peer</a></th>" +
|
"<tr><th><a href=\"#def.peer\">Peer</a></th>" +
|
||||||
"<th>Dir</th>" +
|
"<th>Dir</th>" +
|
||||||
"<th align=\"right\"><a href=\"#def.idle\">Idle</a></th>" +
|
"<th align=\"right\"><a href=\"#def.idle\">Idle</a></th>" +
|
||||||
@ -730,7 +730,7 @@ public class NTCPTransport extends TransportImpl {
|
|||||||
"</td></tr>\n");
|
"</td></tr>\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
buf.append("</table></div>\n");
|
buf.append("</table>\n");
|
||||||
out.write(buf.toString());
|
out.write(buf.toString());
|
||||||
buf.setLength(0);
|
buf.setLength(0);
|
||||||
}
|
}
|
||||||
|
@ -1771,7 +1771,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(".</h3>\n");
|
buf.append(".</h3>\n");
|
||||||
buf.append("<div class=\"wideload\"><table>\n");
|
buf.append("<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> ");
|
||||||
|
Reference in New Issue
Block a user