diff --git a/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java index 2218f06a7d..552d051843 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/CSSHelper.java @@ -26,6 +26,7 @@ public class CSSHelper extends HelperBase { public static final String PROP_DISABLE_REFRESH = "routerconsole.summaryDisableRefresh"; private static final String PROP_XFRAME = "routerconsole.disableXFrame"; public static final String PROP_FORCE_MOBILE_CONSOLE = "routerconsole.forceMobileConsole"; + public static final String PROP_EMBED_APPS = "routerconsole.embedApps"; private static final String _consoleNonce = Long.toString(RandomSource.getInstance().nextLong()); @@ -51,6 +52,14 @@ public class CSSHelper extends HelperBase { return url; } + /** + * Returns whether app embedding is enabled or disabled + * @since 0.9.32 + */ + public boolean embedApps() { + return _context.getBooleanProperty(PROP_EMBED_APPS); + } + /** * change default language for the router AND save it * @param lang xx OR xx_XX OR xxx OR xxx_XX diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHandler.java index afe897b3ba..7b319237fc 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHandler.java @@ -12,8 +12,9 @@ public class ConfigUIHandler extends FormHandler { private boolean _shouldSave; private boolean _universalTheming; private boolean _forceMobileConsole; + private boolean _embedApps; private String _config; - + @Override protected void processForm() { if (_shouldSave) { @@ -24,17 +25,19 @@ public class ConfigUIHandler extends FormHandler { addUser(); } } - + public void setShouldsave(String moo) { _shouldSave = true; } public void setUniversalTheming(String baa) { _universalTheming = true; } public void setForceMobileConsole(String baa) { _forceMobileConsole = true; } + public void setEmbedApps(String baa) { _embedApps = true; } + public void setTheme(String val) { _config = val; } - + /** note - lang change is handled in CSSHelper but we still need to save it here */ private void saveChanges() { if (_config == null || _config.length() <= 0) @@ -59,6 +62,10 @@ public class ConfigUIHandler extends FormHandler { changes.put(CSSHelper.PROP_FORCE_MOBILE_CONSOLE, "true"); else removes.add(CSSHelper.PROP_FORCE_MOBILE_CONSOLE); + if (_embedApps) + changes.put(CSSHelper.PROP_EMBED_APPS, "true"); + else + removes.add(CSSHelper.PROP_EMBED_APPS); boolean ok = _context.router().saveConfig(changes, removes); if (ok) { if (!oldTheme.equals(_config)) diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java index d117dc438f..707c7a3532 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigUIHelper.java @@ -43,6 +43,15 @@ public class ConfigUIHelper extends HelperBase { buf.append(CHECKED); buf.append("value=\"1\">") .append(_t("Force the mobile console to be used")) + .append("\n"); + boolean embedApps = _context.getBooleanProperty(CSSHelper.PROP_EMBED_APPS); + buf.append("\n"); return buf.toString(); } diff --git a/apps/routerconsole/java/src/net/i2p/router/web/HomeHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/HomeHelper.java index 95acea127c..3e017e2eed 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/HomeHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/HomeHelper.java @@ -17,7 +17,7 @@ import net.i2p.util.PortMapper; * @since 0.9 */ public class HomeHelper extends HelperBase { - + private static final char S = ','; private static final String I = "/themes/console/images/"; static final String PROP_SERVICES = "routerconsole.services"; @@ -33,11 +33,11 @@ public class HomeHelper extends HelperBase { _x("Configure UI") + S + _x("Select console theme & language & set optional console password").replace("&", "&") + S + "/configui" + S + I + "info/ui.png" + S + _x("Customize Home Page") + S + _x("I2P Home Page Configuration") + S + "/confighome" + S + I + "home_page.png" + S + _x("Customize Sidebar") + S + _x("Customize the sidebar by adding or removing or repositioning elements") + S + "/configsidebar" + S + I + "info/sidebar.png" + S + - _x("Email") + S + _x("Anonymous webmail client") + S + "/susimail/susimail" + S + I + "email.png" + S + + _x("Email") + S + _x("Anonymous webmail client") + S + "/webmail" + S + I + "email.png" + S + _x("Help") + S + _x("I2P Router Help") + S + "/help" + S + I + "support.png" + S + _x("Manage Plugins") + S + _x("Install and configure I2P plugins") + S + "/configplugins" + S + I + "plugin.png" + S + _x("Router Console") + S + _x("I2P Router Console") + S + "/console" + S + I + "info/console.png" + S + - _x("Torrents") + S + _x("Built-in anonymous BitTorrent Client") + S + "/i2psnark/" + S + I + "i2psnark.png" + S + + _x("Torrents") + S + _x("Built-in anonymous BitTorrent Client") + S + "/torrents" + S + I + "i2psnark.png" + S + _x("Web Server") + S + _x("Local web server for hosting your own content on I2P") + S + "http://127.0.0.1:7658/" + S + I + "server_32x32.png" + S + ""; diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java index 32da250f6b..2d15fdb9bd 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryBarRenderer.java @@ -208,13 +208,13 @@ class SummaryBarRenderer { "