From 94750e9faea7e383db64df6d2ac4290eaa267770 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 30 Sep 2011 17:20:15 -0400 Subject: [PATCH] More Bootstrap improvements. --- src/com/gitblit/utils/StringUtils.java | 42 ++++++++++ src/com/gitblit/wicket/pages/ChangePasswordPage.html | 19 +--- docs/gitblit_logo_white.xcf | 0 src/com/gitblit/FederationServlet.java | 1 src/com/gitblit/wicket/pages/RepositoriesPage.java | 15 ++- src/com/gitblit/wicket/pages/BlamePage.html | 4 src/com/gitblit/wicket/pages/StandardPage.java | 7 + src/com/gitblit/wicket/pages/StandardPage.html | 6 src/com/gitblit/wicket/panels/RepositoriesPanel.java | 18 +++- src/com/gitblit/wicket/pages/RepositoryPage.java | 6 src/com/gitblit/wicket/pages/RootPage.html | 4 src/com/gitblit/wicket/WicketUtils.java | 2 resources/gitblt2_white.png | 0 src/com/gitblit/wicket/pages/BasePage.java | 6 + src/com/gitblit/wicket/pages/ChangePasswordPage.java | 12 -- resources/gitblt_25_white.png | 0 src/com/gitblit/models/FederationModel.java | 17 ---- src/com/gitblit/models/RepositoryModel.java | 3 src/com/gitblit/wicket/pages/RepositoryPage.html | 4 src/com/gitblit/wicket/panels/RepositoriesPanel.html | 2 resources/bootstrap.gb.css | 44 +++++++++- src/com/gitblit/wicket/pages/EditRepositoryPage.html | 8 +- src/com/gitblit/wicket/pages/BasePage.html | 4 src/com/gitblit/utils/JGitUtils.java | 2 24 files changed, 147 insertions(+), 79 deletions(-) diff --git a/docs/gitblit_logo_white.xcf b/docs/gitblit_logo_white.xcf new file mode 100644 index 0000000..d0d397c --- /dev/null +++ b/docs/gitblit_logo_white.xcf Binary files differ diff --git a/resources/bootstrap.gb.css b/resources/bootstrap.gb.css index 2ea2b5c..f7c2f8e 100644 --- a/resources/bootstrap.gb.css +++ b/resources/bootstrap.gb.css @@ -1,5 +1,31 @@ -.topbar{ +body, input, select { + color: #202020; +} + +ul, ol { + margin:0 !important; +} + +hr { + margin-top: 10px; + margin-bottom: 10px; +} + +.page-header h1, .page-header h2 { + color: #0069D6; +} + +.topbar { height:40px !important; +} + +.topbar a { + color: white; + text-shadow: none; +} + +.nav a:hover { + color: #abd4ff !important; } .topbar-inner,.topbar .fill{ @@ -85,7 +111,7 @@ a.list { text-decoration: none; - color: #000000; + color: inherit; } a.list.subject { @@ -489,8 +515,8 @@ color: black; background-color: #ddd; padding-left: 5px; - border-top: 1px solid #ccc; - border-bottom: 1px solid #ccc; + border-top: 1px solid #aaa; + border-bottom: 1px solid #aaa; } table.palette { border:0; width: 0 !important; } @@ -534,8 +560,6 @@ } table.annotated { - width: 100%; - border: 1px solid #bbb; } table.annotated tr.even { @@ -543,13 +567,18 @@ } table.annotated tr.odd { - background-color: #fdfbdf; + background-color: #f5f5f5; } table.annotated td { padding: 0px; border: 0; } + +tr th a { background-position: right; padding-right: 15px; background-repeat:no-repeat; } +tr th.wicket_orderDown a {background-image: url(arrow_down.png); } +tr th.wicket_orderUp a { background-image: url(arrow_up.png); } +tr th.wicket_orderNone a { background-image: url(arrow_off.png); } tr.light { background-color: #ffffff; @@ -661,6 +690,7 @@ .feedbackPanelERROR, .feedbackPanelINFO { list-style: none; + line-height: 35px; } .feedbackPanelINFO span, .feedbackPanelERROR span { diff --git a/resources/gitblt2_white.png b/resources/gitblt2_white.png new file mode 100644 index 0000000..f4c5463 --- /dev/null +++ b/resources/gitblt2_white.png Binary files differ diff --git a/resources/gitblt_25_white.png b/resources/gitblt_25_white.png new file mode 100644 index 0000000..eeea021 --- /dev/null +++ b/resources/gitblt_25_white.png Binary files differ diff --git a/src/com/gitblit/FederationServlet.java b/src/com/gitblit/FederationServlet.java index 7dc5d6a..2726a8a 100644 --- a/src/com/gitblit/FederationServlet.java +++ b/src/com/gitblit/FederationServlet.java @@ -33,7 +33,6 @@ import com.gitblit.Constants.FederationToken; import com.gitblit.models.FederationModel; import com.gitblit.models.FederationProposal; -import com.gitblit.models.RepositoryModel; import com.gitblit.models.UserModel; import com.gitblit.utils.FederationUtils; import com.gitblit.utils.HttpUtils; diff --git a/src/com/gitblit/models/FederationModel.java b/src/com/gitblit/models/FederationModel.java index d67ae56..61c8576 100644 --- a/src/com/gitblit/models/FederationModel.java +++ b/src/com/gitblit/models/FederationModel.java @@ -198,22 +198,7 @@ @Override public int compareTo(RepositoryStatus o) { if (status.equals(o.status)) { - // sort root repositories first, alphabetically - // then sort grouped repositories, alphabetically - int s1 = name.indexOf('/'); - int s2 = o.name.indexOf('/'); - if (s1 == -1 && s2 == -1) { - // neither grouped - return name.compareTo(o.name); - } else if (s1 > -1 && s2 > -1) { - // both grouped - return name.compareTo(o.name); - } else if (s1 == -1) { - return -1; - } else if (s2 == -1) { - return 1; - } - return 0; + return StringUtils.compareRepositoryNames(name, o.name); } return status.compareTo(o.status); } diff --git a/src/com/gitblit/models/RepositoryModel.java b/src/com/gitblit/models/RepositoryModel.java index e85fd6a..d70866f 100644 --- a/src/com/gitblit/models/RepositoryModel.java +++ b/src/com/gitblit/models/RepositoryModel.java @@ -22,6 +22,7 @@ import com.gitblit.Constants.AccessRestrictionType; import com.gitblit.Constants.FederationStrategy; +import com.gitblit.utils.StringUtils; /** * RepositoryModel is a serializable model class that represents a Gitblit @@ -74,6 +75,6 @@ @Override public int compareTo(RepositoryModel o) { - return name.compareTo(o.name); + return StringUtils.compareRepositoryNames(name, o.name); } } \ No newline at end of file diff --git a/src/com/gitblit/utils/JGitUtils.java b/src/com/gitblit/utils/JGitUtils.java index bfbc624..80147d4 100644 --- a/src/com/gitblit/utils/JGitUtils.java +++ b/src/com/gitblit/utils/JGitUtils.java @@ -299,7 +299,7 @@ } list.addAll(getRepositoryList(repositoriesFolder.getAbsolutePath(), repositoriesFolder, exportAll, searchSubfolders)); - Collections.sort(list); + StringUtils.sortRepositorynames(list); return list; } diff --git a/src/com/gitblit/utils/StringUtils.java b/src/com/gitblit/utils/StringUtils.java index 77d3cbb..f4e9256 100644 --- a/src/com/gitblit/utils/StringUtils.java +++ b/src/com/gitblit/utils/StringUtils.java @@ -19,6 +19,8 @@ import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.List; import java.util.regex.PatternSyntaxException; @@ -395,4 +397,44 @@ } return false; } + + /** + * Compare two repository names for proper group sorting. + * + * @param r1 + * @param r2 + * @return + */ + public static int compareRepositoryNames(String r1, String r2) { + // sort root repositories first, alphabetically + // then sort grouped repositories, alphabetically + int s1 = r1.indexOf('/'); + int s2 = r2.indexOf('/'); + if (s1 == -1 && s2 == -1) { + // neither grouped + return r1.compareTo(r2); + } else if (s1 > -1 && s2 > -1) { + // both grouped + return r1.compareTo(r2); + } else if (s1 == -1) { + return -1; + } else if (s2 == -1) { + return 1; + } + return 0; + } + + /** + * Sort grouped repository names. + * + * @param list + */ + public static void sortRepositorynames(List<String> list) { + Collections.sort(list, new Comparator<String>() { + @Override + public int compare(String o1, String o2) { + return compareRepositoryNames(o1, o2); + } + }); + } } diff --git a/src/com/gitblit/wicket/WicketUtils.java b/src/com/gitblit/wicket/WicketUtils.java index 36f74a1..3ffd6cd 100644 --- a/src/com/gitblit/wicket/WicketUtils.java +++ b/src/com/gitblit/wicket/WicketUtils.java @@ -102,7 +102,7 @@ } public static void setAlternatingBackground(Component c, int i) { - String clazz = i % 2 == 0 ? "dark" : "light"; + String clazz = i % 2 == 0 ? "light" : "dark"; setCssClass(c, clazz); } diff --git a/src/com/gitblit/wicket/pages/BasePage.html b/src/com/gitblit/wicket/pages/BasePage.html index 3fa1a4d..a089e2a 100644 --- a/src/com/gitblit/wicket/pages/BasePage.html +++ b/src/com/gitblit/wicket/pages/BasePage.html @@ -22,7 +22,9 @@ <!-- page footer --> <div class="page_footer"> <div style="float:right"> - <span wicket:id="gbVersion"></span> + <a title="gitblit homepage" href="http://gitblit.com/"> + <span wicket:id="gbVersion"></span> + </a> </div> <div wicket:id="userPanel">[user panel]</div> </div> diff --git a/src/com/gitblit/wicket/pages/BasePage.java b/src/com/gitblit/wicket/pages/BasePage.java index 0cb91d5..d31979d 100644 --- a/src/com/gitblit/wicket/pages/BasePage.java +++ b/src/com/gitblit/wicket/pages/BasePage.java @@ -29,6 +29,7 @@ import org.apache.wicket.markup.html.WebPage; import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.link.BookmarkablePageLink; +import org.apache.wicket.markup.html.link.ExternalLink; import org.apache.wicket.markup.html.panel.FeedbackPanel; import org.apache.wicket.markup.html.panel.Fragment; import org.apache.wicket.protocol.http.WebRequest; @@ -44,6 +45,7 @@ import com.gitblit.Keys; import com.gitblit.models.UserModel; import com.gitblit.wicket.GitBlitWebSession; +import com.gitblit.wicket.WicketUtils; import com.gitblit.wicket.panels.LinkPanel; public abstract class BasePage extends WebPage { @@ -92,6 +94,10 @@ add(new Label("title", getServerName())); } + ExternalLink rootLink = new ExternalLink("rootLink", urlFor(RepositoriesPage.class, null).toString()); + WicketUtils.setHtmlTooltip(rootLink, GitBlit.getString(Keys.web.siteName, Constants.NAME)); + add(rootLink); + // Feedback panel for info, warning, and non-fatal error messages add(new FeedbackPanel("feedback")); diff --git a/src/com/gitblit/wicket/pages/BlamePage.html b/src/com/gitblit/wicket/pages/BlamePage.html index 2e20c18..ccbfcec 100644 --- a/src/com/gitblit/wicket/pages/BlamePage.html +++ b/src/com/gitblit/wicket/pages/BlamePage.html @@ -19,12 +19,12 @@ <div wicket:id="breadcrumbs">[breadcrumbs]</div> <!-- blame content --> - <table class="annotated" style="border-top: 0px; margin-bottom:5px;"> + <table class="annotated" style="margin-bottom:5px;"> <tbody> <tr> <th>Commit</th> <th>Line</th> - <th>Data</th> + <th>Content</th> </tr> <tr wicket:id="annotation"> <td><span class="sha1" wicket:id="commit"></span></td> diff --git a/src/com/gitblit/wicket/pages/ChangePasswordPage.html b/src/com/gitblit/wicket/pages/ChangePasswordPage.html index 031352e..938e0ec 100644 --- a/src/com/gitblit/wicket/pages/ChangePasswordPage.html +++ b/src/com/gitblit/wicket/pages/ChangePasswordPage.html @@ -4,20 +4,9 @@ xml:lang="en" lang="en"> - <!-- Head with Wicket-controlled resources in this package --> - <wicket:head> - <title wicket:id="title">[page title]</title> - <link rel="stylesheet" type="text/css" href="gitblit.css"/> - <link rel="shortcut icon" href="gitblt-favicon.png" type="image/png" /> - </wicket:head> - + <wicket:extend> <body onload="document.getElementById('password').focus();"> <div> - <div style="padding-top: 10px;text-align:center;"> - <img src="gitblt_25.png" alt="Gitblit"/><br/> - <div style="padding-top:30px;font-weight:bold;" wicket:id="name"></div> - </div> - <p/> <form style="text-align:center;" wicket:id="passwordForm"> <center> <table class="plain"> @@ -30,11 +19,11 @@ <td class="edit"><input type="password" wicket:id="confirmPassword" size="30" tabindex="2" /></td> </tr> </table> - <input type="submit" wicket:message="value:gb.save" wicket:id="save" tabindex="3" /> - <input type="submit" wicket:message="value:gb.cancel" wicket:id="cancel" tabindex="4" /> - <div style="padding-top:10px;" wicket:id="feedback"></div> + <input class="btn" type="submit" wicket:message="value:gb.cancel" wicket:id="cancel" tabindex="3" /> + <input class="btn primary" type="submit" wicket:message="value:gb.save" wicket:id="save" tabindex="4" /> </center> </form> </div> </body> + </wicket:extend> </html> \ No newline at end of file diff --git a/src/com/gitblit/wicket/pages/ChangePasswordPage.java b/src/com/gitblit/wicket/pages/ChangePasswordPage.java index 054b343..660a813 100644 --- a/src/com/gitblit/wicket/pages/ChangePasswordPage.java +++ b/src/com/gitblit/wicket/pages/ChangePasswordPage.java @@ -18,17 +18,13 @@ import java.text.MessageFormat; import org.apache.wicket.RestartResponseException; -import org.apache.wicket.markup.html.WebPage; -import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.form.Button; import org.apache.wicket.markup.html.form.PasswordTextField; import org.apache.wicket.markup.html.form.StatelessForm; -import org.apache.wicket.markup.html.panel.FeedbackPanel; import org.apache.wicket.model.IModel; import org.apache.wicket.model.Model; import org.apache.wicket.protocol.http.WebResponse; -import com.gitblit.Constants; import com.gitblit.GitBlit; import com.gitblit.GitBlitException; import com.gitblit.Keys; @@ -36,7 +32,7 @@ import com.gitblit.utils.StringUtils; import com.gitblit.wicket.GitBlitWebSession; -public class ChangePasswordPage extends WebPage { +public class ChangePasswordPage extends StandardPage { IModel<String> password = new Model<String>(""); IModel<String> confirmPassword = new Model<String>(""); @@ -54,10 +50,7 @@ // no authentication enabled throw new RestartResponseException(getApplication().getHomePage()); } - - add(new Label("title", GitBlit.getString(Keys.web.siteName, Constants.NAME))); - add(new Label("name", getString("gb.changePassword") + ": " - + GitBlitWebSession.get().getUser().username)); + setupPage(getString("gb.changePassword"), GitBlitWebSession.get().getUser().username); StatelessForm<Void> form = new StatelessForm<Void>("passwordForm") { @@ -115,7 +108,6 @@ confirmPassword); confirmPasswordField.setResetPassword(false); form.add(confirmPasswordField); - form.add(new FeedbackPanel("feedback")); form.add(new Button("save")); Button cancel = new Button("cancel") { diff --git a/src/com/gitblit/wicket/pages/EditRepositoryPage.html b/src/com/gitblit/wicket/pages/EditRepositoryPage.html index f9a0f79..7f09f75 100644 --- a/src/com/gitblit/wicket/pages/EditRepositoryPage.html +++ b/src/com/gitblit/wicket/pages/EditRepositoryPage.html @@ -12,19 +12,19 @@ <tbody> <tr><th><wicket:message key="gb.name"></wicket:message></th><td class="edit"><input class="span6" type="text" wicket:id="name" id="name" size="40" tabindex="1" /> <i><wicket:message key="gb.nameDescription"></wicket:message></i></td></tr> <tr><th><wicket:message key="gb.description"></wicket:message></th><td class="edit"><input class="span6" type="text" wicket:id="description" size="40" tabindex="2" /></td></tr> - <tr><th><wicket:message key="gb.origin"></wicket:message></th><td class="edit"><input class="span6" type="text" wicket:id="origin" size="80" tabindex="3" /></td></tr> + <tr><th><wicket:message key="gb.origin"></wicket:message></th><td class="edit"><input class="span7" type="text" wicket:id="origin" size="80" tabindex="3" /></td></tr> <tr><th><wicket:message key="gb.owner"></wicket:message></th><td class="edit"><select wicket:id="owner" tabindex="4" /> <i><wicket:message key="gb.ownerDescription"></wicket:message></i></td></tr> <tr><th><wicket:message key="gb.enableTickets"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="useTickets" tabindex="5" /> <i><wicket:message key="gb.useTicketsDescription"></wicket:message></i></td></tr> <tr><th><wicket:message key="gb.enableDocs"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="useDocs" tabindex="6" /> <i><wicket:message key="gb.useDocsDescription"></wicket:message></i></td></tr> <tr><th><wicket:message key="gb.showRemoteBranches"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="showRemoteBranches" tabindex="7" /> <i><wicket:message key="gb.showRemoteBranchesDescription"></wicket:message></i></td></tr> <tr><th><wicket:message key="gb.showReadme"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="showReadme" tabindex="8" /> <i><wicket:message key="gb.showReadmeDescription"></wicket:message></i></td></tr> <tr><th><wicket:message key="gb.isFrozen"></wicket:message></th><td class="edit"><input type="checkbox" wicket:id="isFrozen" tabindex="9" /> <i><wicket:message key="gb.isFrozenDescription"></wicket:message></i></td></tr> - <tr><td style="padding-top:10px;" colspan="2"><hr></hr></td></tr> + <tr><td colspan="2"><hr></hr></td></tr> <tr><th><wicket:message key="gb.accessRestriction"></wicket:message></th><td class="edit"><select class="span6" wicket:id="accessRestriction" tabindex="10" /></td></tr> <tr><th style="vertical-align: top;"><wicket:message key="gb.permittedUsers"></wicket:message></th><td style="padding:2px;"><span wicket:id="users"></span></td></tr> - <tr><td style="padding-top:10px;" colspan="2"><hr></hr></td></tr> + <tr><td colspan="2"><hr></hr></td></tr> <tr><th><wicket:message key="gb.federationStrategy"></wicket:message></th><td class="edit"><select class="span6" wicket:id="federationStrategy" tabindex="11" /></td></tr> - <tr><th style="vertical-align: top;"><wicket:message key="gb.federationSets"></wicket:message></th><td style="padding:2px;"><span wicket:id="federationSets"></span></td></tr> + <tr><th style="vertical-align: top;"><wicket:message key="gb.federationSets"></wicket:message></th><td style="padding:2px;"><span wicket:id="federationSets"></span></td></tr> <tr><th></th><td class="editButton"><input class="btn" type="submit" value="Cancel" wicket:message="value:gb.cancel" wicket:id="cancel" tabindex="12" /> <input class="btn primary" type="submit" value="Save" wicket:message="value:gb.save" wicket:id="save" tabindex="13" /> </td></tr> </tbody> </table> diff --git a/src/com/gitblit/wicket/pages/RepositoriesPage.java b/src/com/gitblit/wicket/pages/RepositoriesPage.java index ce532a7..5339760 100644 --- a/src/com/gitblit/wicket/pages/RepositoriesPage.java +++ b/src/com/gitblit/wicket/pages/RepositoriesPage.java @@ -34,11 +34,11 @@ public class RepositoriesPage extends RootPage { public RepositoriesPage() { - super(); + super(); // Load the markdown welcome message String messageSource = GitBlit.getString(Keys.web.repositoriesMessage, "gitblit"); - String message = "<br/>"; + String message = ""; if (messageSource.equalsIgnoreCase("gitblit")) { // Read default welcome message try { @@ -69,8 +69,15 @@ } } Component repositoriesMessage = new Label("repositoriesMessage", message) - .setEscapeModelStrings(false); + .setEscapeModelStrings(false).setVisible(message.length() > 0); add(repositoriesMessage); - add(new RepositoriesPanel("repositoriesPanel", showAdmin, null, getAccessRestrictions())); + RepositoriesPanel repositories = new RepositoriesPanel("repositoriesPanel", showAdmin, + null, getAccessRestrictions()); + // push the panel down if we are hiding the admin controls and the + // welcome message + if (!showAdmin && !repositoriesMessage.isVisible()) { + WicketUtils.setCssStyle(repositories, "padding-top:5px;"); + } + add(repositories); } } diff --git a/src/com/gitblit/wicket/pages/RepositoryPage.html b/src/com/gitblit/wicket/pages/RepositoryPage.html index 8a8b177..100016f 100644 --- a/src/com/gitblit/wicket/pages/RepositoryPage.html +++ b/src/com/gitblit/wicket/pages/RepositoryPage.html @@ -12,8 +12,8 @@ <div class="topbar"> <div class="fill"> <div class="container"> - <a class="brand" title="gitblit homepage" href="http://gitblit.com/"> - <img src="gitblt_25.png" width="79" height="25" alt="gitblit" class="logo"/> + <a class="brand" wicket:id="rootLink"> + <img src="gitblt_25_white.png" width="79" height="25" alt="gitblit" class="logo"/> </a> <ul class="nav"> <li><a wicket:id="repositories"><wicket:message key="gb.repositories"></wicket:message></a></li> diff --git a/src/com/gitblit/wicket/pages/RepositoryPage.java b/src/com/gitblit/wicket/pages/RepositoryPage.java index af29f59..777401a 100644 --- a/src/com/gitblit/wicket/pages/RepositoryPage.java +++ b/src/com/gitblit/wicket/pages/RepositoryPage.java @@ -137,7 +137,7 @@ PageRegistration pageReg = registeredPages.get(extra); item.add(new LinkPanel("extraLink", null, getString(pageReg.translationKey), pageReg.pageClass, WicketUtils.newRepositoryParameter(repositoryName)) - .setEnabled(!extra.equals(pageWicketId))); + /*.setEnabled(!extra.equals(pageWicketId))*/); } }; add(extrasView); @@ -182,8 +182,8 @@ if (!StringUtils.isEmpty(wicketId)) { Component c = get(wicketId); if (c != null) { - //c.setEnabled(false); - WicketUtils.setCssClass(c, "active"); +// c.setEnabled(false); +// WicketUtils.setCssClass(c, "selected"); } } } diff --git a/src/com/gitblit/wicket/pages/RootPage.html b/src/com/gitblit/wicket/pages/RootPage.html index 59a0fe1..0fa6cfc 100644 --- a/src/com/gitblit/wicket/pages/RootPage.html +++ b/src/com/gitblit/wicket/pages/RootPage.html @@ -8,8 +8,8 @@ <div class="topbar"> <div class="fill"> <div class="container"> - <a class="brand" title="gitblit homepage" href="http://gitblit.com/"> - <img src="gitblt_25.png" width="79" height="25" alt="gitblit" class="logo"/> + <a class="brand" wicket:id="rootLink"> + <img src="gitblt_25_white.png" width="79" height="25" alt="gitblit" class="logo"/> </a> <ul class="nav"> diff --git a/src/com/gitblit/wicket/pages/StandardPage.html b/src/com/gitblit/wicket/pages/StandardPage.html index cb6dcd5..14ec15c 100644 --- a/src/com/gitblit/wicket/pages/StandardPage.html +++ b/src/com/gitblit/wicket/pages/StandardPage.html @@ -10,9 +10,9 @@ <div class="topbar"> <div class="fill"> <div class="container"> - <a class="brand" title="gitblit homepage" href="http://gitblit.com/"> - <img src="gitblt_25.png" width="79" height="25" alt="gitblit" class="logo"/> - </a> + <a class="brand" wicket:id="rootLink"> + <img src="gitblt_25_white.png" width="79" height="25" alt="gitblit" class="logo"/> + </a> </div> </div> </div> diff --git a/src/com/gitblit/wicket/pages/StandardPage.java b/src/com/gitblit/wicket/pages/StandardPage.java index ff16b63..4598931 100644 --- a/src/com/gitblit/wicket/pages/StandardPage.java +++ b/src/com/gitblit/wicket/pages/StandardPage.java @@ -18,6 +18,8 @@ import org.apache.wicket.PageParameters; import org.apache.wicket.markup.html.basic.Label; +import com.gitblit.utils.StringUtils; + public abstract class StandardPage extends BasePage { public StandardPage() { @@ -34,7 +36,10 @@ protected void setupPage(String pageName, String subName) { add(new Label("pageName", pageName)); - add(new Label("pageSubName", "/ " + subName)); + if (!StringUtils.isEmpty(subName)) { + subName = "/ " + subName; + } + add(new Label("pageSubName", subName)); super.setupPage("", pageName); } } diff --git a/src/com/gitblit/wicket/panels/RepositoriesPanel.html b/src/com/gitblit/wicket/panels/RepositoriesPanel.html index 11484e2..41741e8 100644 --- a/src/com/gitblit/wicket/panels/RepositoriesPanel.html +++ b/src/com/gitblit/wicket/panels/RepositoriesPanel.html @@ -71,7 +71,7 @@ </wicket:fragment> <wicket:fragment wicket:id="repositoryRow"> - <td class="left"><div class="list" wicket:id="repositoryName">[repository name]</div></td> + <td class="left" style="padding-left:10px;" ><div class="list" wicket:id="repositoryName">[repository name]</div></td> <td><div class="list" wicket:id="repositoryDescription">[repository description]</div></td> <td class="author"><span wicket:id="repositoryOwner">[repository owner]</span></td> <td style="text-align: right;padding-right:10px;"><img class="inlineIcon" wicket:id="ticketsIcon" /><img class="inlineIcon" wicket:id="docsIcon" /><img class="inlineIcon" wicket:id="frozenIcon" /><img class="inlineIcon" wicket:id="federatedIcon" /><img class="inlineIcon" wicket:id="accessRestrictionIcon" /></td> diff --git a/src/com/gitblit/wicket/panels/RepositoriesPanel.java b/src/com/gitblit/wicket/panels/RepositoriesPanel.java index 63b512c..e514976 100644 --- a/src/com/gitblit/wicket/panels/RepositoriesPanel.java +++ b/src/com/gitblit/wicket/panels/RepositoriesPanel.java @@ -125,12 +125,13 @@ } else { dp = new SortableRepositoriesProvider(models); } - + final String baseUrl = WicketUtils.getGitblitURL(getRequest()); DataView<RepositoryModel> dataView = new DataView<RepositoryModel>("row", dp) { private static final long serialVersionUID = 1L; int counter; + String currGroupName; @Override protected void onBeforeRender() { @@ -141,23 +142,32 @@ public void populateItem(final Item<RepositoryModel> item) { final RepositoryModel entry = item.getModelObject(); if (entry instanceof GroupRepositoryModel) { + currGroupName = entry.name; Fragment row = new Fragment("rowContent", "groupRepositoryRow", this); item.add(row); row.add(new Label("groupName", entry.toString())); WicketUtils.setCssClass(item, "group"); + // reset counter so that first row is light background + counter = 0; return; } Fragment row = new Fragment("rowContent", "repositoryRow", this); item.add(row); + + // try to strip group name for less cluttered list + String repoName = entry.name; + if (!StringUtils.isEmpty(currGroupName) && (repoName.indexOf('/') > -1)) { + repoName = repoName.substring(currGroupName.length() + 1); + } + if (entry.hasCommits && linksActive) { PageParameters pp = WicketUtils.newRepositoryParameter(entry.name); - row.add(new LinkPanel("repositoryName", "list", entry.name, SummaryPage.class, - pp)); + row.add(new LinkPanel("repositoryName", "list", repoName, SummaryPage.class, pp)); row.add(new LinkPanel("repositoryDescription", "list", entry.description, SummaryPage.class, pp)); } else { // new/empty repository OR proposed repository - row.add(new Label("repositoryName", entry.name)); + row.add(new Label("repositoryName", repoName)); row.add(new Label("repositoryDescription", entry.description)); } -- Gitblit v1.9.1