From 9e5beeecd2a462337ca5a893bf1458c25df26060 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Wed, 05 Oct 2011 08:04:47 -0400 Subject: [PATCH] Refactored topbar navigation links to indicate current page. --- src/com/gitblit/wicket/pages/RootPage.java | 19 ++++++++++++++----- 1 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/com/gitblit/wicket/pages/RootPage.java b/src/com/gitblit/wicket/pages/RootPage.java index 69ac25d..f00c041 100644 --- a/src/com/gitblit/wicket/pages/RootPage.java +++ b/src/com/gitblit/wicket/pages/RootPage.java @@ -16,12 +16,13 @@ package com.gitblit.wicket.pages; import java.text.MessageFormat; +import java.util.ArrayList; +import java.util.List; import org.apache.wicket.PageParameters; import org.apache.wicket.markup.html.form.PasswordTextField; import org.apache.wicket.markup.html.form.StatelessForm; import org.apache.wicket.markup.html.form.TextField; -import org.apache.wicket.markup.html.link.BookmarkablePageLink; import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; import org.apache.wicket.protocol.http.WebResponse; @@ -32,7 +33,9 @@ import com.gitblit.models.UserModel; import com.gitblit.utils.StringUtils; import com.gitblit.wicket.GitBlitWebSession; +import com.gitblit.wicket.PageRegistration; import com.gitblit.wicket.WicketUtils; +import com.gitblit.wicket.panels.NavigationPanel; /** * Root page is a topbar, navigable page like Repositories, Users, or @@ -77,10 +80,16 @@ && GitBlit.getBoolean(Keys.web.showFederationRegistrations, false); // navigation links - add(new BookmarkablePageLink<Void>("repositories", RepositoriesPage.class)); - add(new BookmarkablePageLink<Void>("users", UsersPage.class).setVisible(showAdmin)); - add(new BookmarkablePageLink<Void>("federation", FederationPage.class).setVisible(showAdmin - || showRegistrations)); + List<PageRegistration> pages = new ArrayList<PageRegistration>(); + pages.add(new PageRegistration("gb.repositories", RepositoriesPage.class)); + if (showAdmin) { + pages.add(new PageRegistration("gb.users", UsersPage.class)); + } + if (showAdmin || showRegistrations) { + pages.add(new PageRegistration("gb.federation", FederationPage.class)); + } + NavigationPanel navPanel = new NavigationPanel("navPanel", getClass(), pages); + add(navPanel); // login form StatelessForm<Void> loginForm = new StatelessForm<Void>("loginForm") { -- Gitblit v1.9.1