Author: toad
Date: 2007-06-29 18:01:23 +0000 (Fri, 29 Jun 2007)
New Revision: 13824
Added:
trunk/freenet/src/freenet/clients/http/LinkEnabledCallback.java
Modified:
trunk/freenet/src/freenet/clients/http/FProxyToadlet.java
trunk/freenet/src/freenet/clients/http/OpennetConnectionsToadlet.java
trunk/freenet/src/freenet/clients/http/PageMaker.java
trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
trunk/freenet/src/freenet/clients/http/TranslationToadlet.java
Log:
Only show opennet link if opennet is enabled, only show translation link if
language is non-english
Modified: trunk/freenet/src/freenet/clients/http/FProxyToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/FProxyToadlet.java 2007-06-29
17:30:56 UTC (rev 13823)
+++ trunk/freenet/src/freenet/clients/http/FProxyToadlet.java 2007-06-29
18:01:23 UTC (rev 13824)
@@ -575,10 +575,10 @@
core.random.nextBytes(random);
FProxyToadlet fproxy = new FProxyToadlet(client, core);
core.setFProxy(fproxy);
- server.register(fproxy, "/", false,
l10n("welcomeTitle"), l10n("welcome"), false);
+ server.register(fproxy, "/", false,
l10n("welcomeTitle"), l10n("welcome"), false, null);
PproxyToadlet pproxy = new PproxyToadlet(client,
node.pluginManager, core);
- server.register(pproxy, "/plugins/", true,
l10n("pluginsTitle"), l10n("plugins"), true);
+ server.register(pproxy, "/plugins/", true,
l10n("pluginsTitle"), l10n("plugins"), true, null);
WelcomeToadlet welcometoadlet = new
WelcomeToadlet(client, node);
server.register(welcometoadlet, "/welcome/", true,
false);
@@ -587,7 +587,7 @@
server.register(pluginToadlet, "/plugin/", true, true);
ConfigToadlet configtoadlet = new ConfigToadlet(client,
config, node, core);
- server.register(configtoadlet, "/config/", true,
l10n("configTitle"), l10n("config"), true);
+ server.register(configtoadlet, "/config/", true,
l10n("configTitle"), l10n("config"), true, null);
StaticToadlet statictoadlet = new StaticToadlet(client);
server.register(statictoadlet, "/static/", true, false);
@@ -597,19 +597,19 @@
DarknetConnectionsToadlet friendsToadlet = new
DarknetConnectionsToadlet(node, core, client);
// server.register(friendsToadlet, "/darknet/", true,
l10n("friendsTitle"), l10n("friends"), true);
- server.register(friendsToadlet, "/friends/", true,
l10n("friendsTitle"), l10n("friends"), true);
+ server.register(friendsToadlet, "/friends/", true,
l10n("friendsTitle"), l10n("friends"), true, null);
OpennetConnectionsToadlet opennetToadlet = new
OpennetConnectionsToadlet(node, core, client);
- server.register(opennetToadlet, "/opennet/", true,
l10n("opennetTitle"), l10n("opennet"), true);
+ server.register(opennetToadlet, "/opennet/", true,
l10n("opennetTitle"), l10n("opennet"), true, opennetToadlet);
N2NTMToadlet n2ntmToadlet = new N2NTMToadlet(node,
core, client);
server.register(n2ntmToadlet, "/send_n2ntm/", true,
true);
QueueToadlet queueToadlet = new QueueToadlet(core,
core.getFCPServer(), client);
- server.register(queueToadlet, "/queue/", true,
l10n("queueTitle"), l10n("queue"), false);
+ server.register(queueToadlet, "/queue/", true,
l10n("queueTitle"), l10n("queue"), false, null);
StatisticsToadlet statisticsToadlet = new
StatisticsToadlet(node, core, client);
- server.register(statisticsToadlet, "/stats/", true,
l10n("statsTitle"), l10n("stats"), true);
+ server.register(statisticsToadlet, "/stats/", true,
l10n("statsTitle"), l10n("stats"), true, null);
LocalFileInsertToadlet localFileInsertToadlet = new
LocalFileInsertToadlet(core, client);
server.register(localFileInsertToadlet, "/files/",
true, false);
@@ -621,7 +621,7 @@
server.register(browsertTestToadlet, "/test/", true,
false);
TranslationToadlet translationToadlet = new
TranslationToadlet(client, core);
- server.register(translationToadlet,
TranslationToadlet.TOADLET_URL, true, l10n("translationTitle"),
l10n("translation"), true);
+ server.register(translationToadlet,
TranslationToadlet.TOADLET_URL, true, l10n("translationTitle"),
l10n("translation"), true, translationToadlet);
FirstTimeWizardToadlet firstTimeWizardToadlet = new
FirstTimeWizardToadlet(client, node);
server.register(firstTimeWizardToadlet,
FirstTimeWizardToadlet.TOADLET_URL, true, false);
Added: trunk/freenet/src/freenet/clients/http/LinkEnabledCallback.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/LinkEnabledCallback.java
(rev 0)
+++ trunk/freenet/src/freenet/clients/http/LinkEnabledCallback.java
2007-06-29 18:01:23 UTC (rev 13824)
@@ -0,0 +1,8 @@
+package freenet.clients.http;
+
+public interface LinkEnabledCallback {
+
+ /** Whether to show the link? */
+ boolean isEnabled();
+
+}
Modified: trunk/freenet/src/freenet/clients/http/OpennetConnectionsToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/OpennetConnectionsToadlet.java
2007-06-29 17:30:56 UTC (rev 13823)
+++ trunk/freenet/src/freenet/clients/http/OpennetConnectionsToadlet.java
2007-06-29 18:01:23 UTC (rev 13824)
@@ -7,7 +7,7 @@
import freenet.support.HTMLNode;
import freenet.support.SimpleFieldSet;
-public class OpennetConnectionsToadlet extends ConnectionsToadlet {
+public class OpennetConnectionsToadlet extends ConnectionsToadlet implements
LinkEnabledCallback {
protected OpennetConnectionsToadlet(Node n, NodeClientCore core,
HighLevelSimpleClient client) {
super(n, core, client);
@@ -39,4 +39,8 @@
return node.peers.getOpennetPeerNodeStatuses();
}
+ public boolean isEnabled() {
+ return node.isOpennetEnabled();
+ }
+
}
Modified: trunk/freenet/src/freenet/clients/http/PageMaker.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/PageMaker.java 2007-06-29
17:30:56 UTC (rev 13823)
+++ trunk/freenet/src/freenet/clients/http/PageMaker.java 2007-06-29
18:01:23 UTC (rev 13824)
@@ -32,6 +32,7 @@
private final Map navigationLinkTitles = new HashMap();
private final Map navigationLinks = new HashMap();
private final Map contentNodes = new HashMap();
+ private final Map /* <String, LinkEnabledCallback> */
navigationLinkCallbacks = new HashMap();
/** Cache for themes read from the JAR file. */
private List jarThemesCache = null;
@@ -56,12 +57,14 @@
}
}
- public void addNavigationLink(String path, String name, String title,
boolean fullOnly) {
+ public void addNavigationLink(String path, String name, String title,
boolean fullOnly, LinkEnabledCallback cb) {
navigationLinkTexts.add(name);
if(!fullOnly)
navigationLinkTextsNonFull.add(name);
navigationLinkTitles.put(name, title);
navigationLinks.put(name, path);
+ if(cb != null)
+ navigationLinkCallbacks.put(name, cb);
}
public void removeNavigationLink(String name) {
@@ -109,6 +112,8 @@
HTMLNode navbarUl = navbarDiv.addChild("ul", "id",
"navlist");
for (Iterator navigationLinkIterator = fullAccess ?
navigationLinkTexts.iterator() : navigationLinkTextsNonFull.iterator();
navigationLinkIterator.hasNext();) {
String navigationLink = (String)
navigationLinkIterator.next();
+ LinkEnabledCallback cb = (LinkEnabledCallback)
navigationLinkCallbacks.get(navigationLink);
+ if(cb != null && !cb.isEnabled()) continue;
String navigationTitle = (String)
navigationLinkTitles.get(navigationLink);
String navigationPath = (String)
navigationLinks.get(navigationLink);
HTMLNode listItem = navbarUl.addChild("li");
Modified: trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
2007-06-29 17:30:56 UTC (rev 13823)
+++ trunk/freenet/src/freenet/clients/http/SimpleToadletServer.java
2007-06-29 18:01:23 UTC (rev 13824)
@@ -365,16 +365,16 @@
}
public void register(Toadlet t, String urlPrefix, boolean atFront,
boolean fullOnly) {
- register(t, urlPrefix, atFront, null, null, fullOnly);
+ register(t, urlPrefix, atFront, null, null, fullOnly, null);
}
- public void register(Toadlet t, String urlPrefix, boolean atFront,
String name, String title, boolean fullOnly) {
+ public void register(Toadlet t, String urlPrefix, boolean atFront,
String name, String title, boolean fullOnly, LinkEnabledCallback cb) {
ToadletElement te = new ToadletElement(t, urlPrefix);
if(atFront) toadlets.addFirst(te);
else toadlets.addLast(te);
t.container = this;
if (name != null) {
- pageMaker.addNavigationLink(urlPrefix, name, title,
fullOnly);
+ pageMaker.addNavigationLink(urlPrefix, name, title,
fullOnly, cb);
}
}
Modified: trunk/freenet/src/freenet/clients/http/TranslationToadlet.java
===================================================================
--- trunk/freenet/src/freenet/clients/http/TranslationToadlet.java
2007-06-29 17:30:56 UTC (rev 13823)
+++ trunk/freenet/src/freenet/clients/http/TranslationToadlet.java
2007-06-29 18:01:23 UTC (rev 13824)
@@ -22,7 +22,7 @@
*
* @author Florent Daignière <nextgens at freenetproject.org>
*/
-public class TranslationToadlet extends Toadlet {
+public class TranslationToadlet extends Toadlet implements LinkEnabledCallback
{
public static final String TOADLET_URL = "/translation/";
private final NodeClientCore core;
private static final SimpleFieldSet DEFAULT_TRANSLATION =
L10n.getDefaultLanguageTranslation();
@@ -257,4 +257,8 @@
private String l10n(String key, String pattern, String value) {
return L10n.getString("TranslationToadlet."+key, new String[] {
pattern }, new String[] { value });
}
+
+ public boolean isEnabled() {
+ return
!L10n.FALLBACK_DEFAULT.equals(L10n.getSelectedLanguage());
+ }
}