diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java index 0f4d6636c8..e74912a326 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/EditBean.java @@ -378,4 +378,42 @@ public class EditBean extends IndexBean { if (controller == null) return null; return controller.getClientOptionProps(); } + + private static final String PROP_ADVANCED = "routerconsole.advanced"; + private static final int DFLT_QUANTITY = 2; + private static final int MAX_CLIENT_QUANTITY = 3; + private static final int MAX_SERVER_QUANTITY = 6; + private static final int MAX_ADVANCED_QUANTITY = 16; + + /** + * @since 0.9.7 + */ + public String getQuantityOptions(int tunnel) { + int tunnelQuantity = getTunnelQuantity(tunnel, DFLT_QUANTITY); + boolean advanced = _context.getBooleanProperty(PROP_ADVANCED); + int maxQuantity = advanced ? MAX_ADVANCED_QUANTITY : + (isClient(tunnel) ? MAX_CLIENT_QUANTITY : MAX_SERVER_QUANTITY); + if (tunnelQuantity > maxQuantity) + maxQuantity = tunnelQuantity; + StringBuilder buf = new StringBuilder(256); + for (int i = 1; i <= maxQuantity; i++) { + buf.append("\n"); + } + return buf.toString(); + } } diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java index 692f3585c7..5d8ec7dccd 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/IndexBean.java @@ -1293,4 +1293,11 @@ public class IndexBean { protected String _(String key) { return Messages._(key, _context); } + + /** translate (ngettext) + * @since 0.9.7 + */ + protected String ngettext(String s, String p, int n) { + return Messages.ngettext(s, p, n, _context); + } } diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/Messages.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/Messages.java index 071123a2ec..d4a2fb4bdc 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/Messages.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/web/Messages.java @@ -39,4 +39,11 @@ public class Messages { public String _(String s, Object o) { return Translate.getString(s, o, _context, BUNDLE_NAME); } + + /** translate (ngettext) + * @since 0.9.7 + */ + public static String ngettext(String s, String p, int n, I2PAppContext ctx) { + return Translate.getString(n, s, p, ctx, BUNDLE_NAME); + } } diff --git a/apps/i2ptunnel/jsp/editClient.jsp b/apps/i2ptunnel/jsp/editClient.jsp index 0e2184fea5..b76b4cbb73 100644 --- a/apps/i2ptunnel/jsp/editClient.jsp +++ b/apps/i2ptunnel/jsp/editClient.jsp @@ -247,14 +247,8 @@ input.default { width: 1px; height: 1px; visibility: hidden; } <%=intl._("Count")%>(C): + <%=editBean.getQuantityOptions(curTunnel)%> +