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&egrave;re &lt;nextgens at freenetproject.org&gt;
  */
-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());
+       }
 }


Reply via email to