Add translation page.
[Sone.git] / src / main / java / net / pterodactylus / sone / web / WebInterface.java
index 3d67e2d..40da956 100644 (file)
@@ -36,6 +36,7 @@ import net.pterodactylus.sone.main.SonePlugin;
 import net.pterodactylus.sone.template.PostAccessor;
 import net.pterodactylus.sone.template.SoneAccessor;
 import net.pterodactylus.sone.template.SubstringFilter;
+import net.pterodactylus.sone.web.ajax.GetTranslationPage;
 import net.pterodactylus.sone.web.page.PageToadlet;
 import net.pterodactylus.sone.web.page.PageToadletFactory;
 import net.pterodactylus.sone.web.page.StaticPage;
@@ -48,10 +49,8 @@ import net.pterodactylus.util.template.Template;
 import net.pterodactylus.util.template.TemplateException;
 import net.pterodactylus.util.template.TemplateFactory;
 import net.pterodactylus.util.template.TemplateProvider;
-import freenet.clients.http.LinkEnabledCallback;
 import freenet.clients.http.SessionManager;
 import freenet.clients.http.ToadletContainer;
-import freenet.clients.http.ToadletContext;
 import freenet.l10n.BaseL10n;
 
 /**
@@ -78,7 +77,7 @@ public class WebInterface extends AbstractService {
         *            The Sone plugin
         */
        public WebInterface(SonePlugin sonePlugin) {
-               super("Sone Web Interface");
+               super("Sone Web Interface", false);
                this.sonePlugin = sonePlugin;
        }
 
@@ -159,6 +158,7 @@ public class WebInterface extends AbstractService {
                Template loginTemplate = templateFactory.createTemplate(createReader("/templates/login.html"));
                Template indexTemplate = templateFactory.createTemplate(createReader("/templates/index.html"));
                Template addSoneTemplate = templateFactory.createTemplate(createReader("/templates/addSone.html"));
+               Template loadSoneTemplate = templateFactory.createTemplate(createReader("/templates/loadSone.html"));
                Template knownSonesTemplate = templateFactory.createTemplate(createReader("/templates/knownSones.html"));
                Template createSoneTemplate = templateFactory.createTemplate(createReader("/templates/createSone.html"));
                Template createPostTemplate = templateFactory.createTemplate(createReader("/templates/createPost.html"));
@@ -180,7 +180,8 @@ public class WebInterface extends AbstractService {
                PageToadletFactory pageToadletFactory = new PageToadletFactory(sonePlugin.pluginRespirator().getHLSimpleClient(), "/Sone/");
                pageToadlets.add(pageToadletFactory.createPageToadlet(new IndexPage(indexTemplate, this), "Index"));
                pageToadlets.add(pageToadletFactory.createPageToadlet(new CreateSonePage(createSoneTemplate, this), "CreateSone"));
-               pageToadlets.add(pageToadletFactory.createPageToadlet(new AddSonePage(addSoneTemplate, this), "AddSone"));
+               pageToadlets.add(pageToadletFactory.createPageToadlet(new LoadSonePage(loadSoneTemplate, this)));
+               pageToadlets.add(pageToadletFactory.createPageToadlet(new AddSonePage(addSoneTemplate, this)));
                pageToadlets.add(pageToadletFactory.createPageToadlet(new KnownSonesPage(knownSonesTemplate, this), "KnownSones"));
                pageToadlets.add(pageToadletFactory.createPageToadlet(new EditProfilePage(editProfileTemplate, this), "EditProfile"));
                pageToadlets.add(pageToadletFactory.createPageToadlet(new BackupProfilePage(backupProfileTemplate, this)));
@@ -201,6 +202,7 @@ public class WebInterface extends AbstractService {
                pageToadlets.add(pageToadletFactory.createPageToadlet(new StaticPage("css/", "/static/css/", "text/css")));
                pageToadlets.add(pageToadletFactory.createPageToadlet(new StaticPage("javascript/", "/static/javascript/", "text/javascript")));
                pageToadlets.add(pageToadletFactory.createPageToadlet(new StaticPage("images/", "/static/images/", "image/png")));
+               pageToadlets.add(pageToadletFactory.createPageToadlet(new GetTranslationPage(this)));
 
                ToadletContainer toadletContainer = sonePlugin.pluginRespirator().getToadletContainer();
                toadletContainer.getPageMaker().addNavigationCategory("/Sone/index.html", "Navigation.Menu.Name", "Navigation.Menu.Tooltip", sonePlugin);
@@ -242,24 +244,6 @@ public class WebInterface extends AbstractService {
        }
 
        /**
-        * {@link LinkEnabledCallback} implementation that always returns
-        * {@code true} when {@link LinkEnabledCallback#isEnabled(ToadletContext)}
-        * is called.
-        *
-        * @author <a href="mailto:bombe@pterodactylus.net">David ‘Bombe’ Roden</a>
-        */
-       public class AlwaysEnabledCallback implements LinkEnabledCallback {
-
-               /**
-                * {@inheritDoc}
-                */
-               @Override
-               public boolean isEnabled(ToadletContext toadletContext) {
-                       return true;
-               }
-       }
-
-       /**
         * Template provider implementation that uses
         * {@link WebInterface#createReader(String)} to load templates for
         * inclusion.