From 94750e9faea7e383db64df6d2ac4290eaa267770 Mon Sep 17 00:00:00 2001 From: James Moger Date: Fri, 30 Sep 2011 17:20:15 -0400 Subject: More Bootstrap improvements. * Strip leading group name from repositories page. * Put topbars on all pages. * Properly sort repositories in all locations. * White Gitblit logo. --- docs/gitblit_logo_white.xcf | Bin 0 -> 48611 bytes resources/bootstrap.gb.css | 44 +++++++++++++++++---- resources/gitblt2_white.png | Bin 0 -> 4408 bytes resources/gitblt_25_white.png | Bin 0 -> 2150 bytes src/com/gitblit/FederationServlet.java | 1 - src/com/gitblit/models/FederationModel.java | 17 +------- src/com/gitblit/models/RepositoryModel.java | 3 +- src/com/gitblit/utils/JGitUtils.java | 2 +- src/com/gitblit/utils/StringUtils.java | 42 ++++++++++++++++++++ src/com/gitblit/wicket/WicketUtils.java | 2 +- src/com/gitblit/wicket/pages/BasePage.html | 4 +- src/com/gitblit/wicket/pages/BasePage.java | 6 +++ src/com/gitblit/wicket/pages/BlamePage.html | 4 +- .../gitblit/wicket/pages/ChangePasswordPage.html | 19 ++------- .../gitblit/wicket/pages/ChangePasswordPage.java | 12 +----- .../gitblit/wicket/pages/EditRepositoryPage.html | 8 ++-- src/com/gitblit/wicket/pages/RepositoriesPage.java | 15 +++++-- src/com/gitblit/wicket/pages/RepositoryPage.html | 4 +- src/com/gitblit/wicket/pages/RepositoryPage.java | 6 +-- src/com/gitblit/wicket/pages/RootPage.html | 4 +- src/com/gitblit/wicket/pages/StandardPage.html | 6 +-- src/com/gitblit/wicket/pages/StandardPage.java | 7 +++- .../gitblit/wicket/panels/RepositoriesPanel.html | 2 +- .../gitblit/wicket/panels/RepositoriesPanel.java | 18 +++++++-- 24 files changed, 147 insertions(+), 79 deletions(-) create mode 100644 docs/gitblit_logo_white.xcf create mode 100644 resources/gitblt2_white.png create mode 100644 resources/gitblt_25_white.png diff --git a/docs/gitblit_logo_white.xcf b/docs/gitblit_logo_white.xcf new file mode 100644 index 00000000..d0d397c2 Binary files /dev/null and b/docs/gitblit_logo_white.xcf differ diff --git a/resources/bootstrap.gb.css b/resources/bootstrap.gb.css index 2ea2b5c2..f7c2f8ee 100644 --- a/resources/bootstrap.gb.css +++ b/resources/bootstrap.gb.css @@ -1,7 +1,33 @@ -.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{ height:40px !important; background-color:#000050; @@ -85,7 +111,7 @@ pre.prettyprint ol { a.list { text-decoration: none; - color: #000000; + color: inherit; } a.list.subject { @@ -489,8 +515,8 @@ table.repositories tr.group td { 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.gitnotes td.message { } table.annotated { - width: 100%; - border: 1px solid #bbb; } table.annotated tr.even { @@ -543,7 +567,7 @@ table.annotated tr.even { } table.annotated tr.odd { - background-color: #fdfbdf; + background-color: #f5f5f5; } table.annotated td { @@ -551,6 +575,11 @@ table.annotated td { 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 @@ span .localBranch { .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 00000000..f4c5463d Binary files /dev/null and b/resources/gitblt2_white.png differ diff --git a/resources/gitblt_25_white.png b/resources/gitblt_25_white.png new file mode 100644 index 00000000..eeea0214 Binary files /dev/null and b/resources/gitblt_25_white.png differ diff --git a/src/com/gitblit/FederationServlet.java b/src/com/gitblit/FederationServlet.java index 7dc5d6a9..2726a8ac 100644 --- a/src/com/gitblit/FederationServlet.java +++ b/src/com/gitblit/FederationServlet.java @@ -33,7 +33,6 @@ import com.gitblit.Constants.FederationRequest; 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 d67ae561..61c8576b 100644 --- a/src/com/gitblit/models/FederationModel.java +++ b/src/com/gitblit/models/FederationModel.java @@ -198,22 +198,7 @@ public class FederationModel implements Serializable, Comparable -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 e85fd6a5..d70866fb 100644 --- a/src/com/gitblit/models/RepositoryModel.java +++ b/src/com/gitblit/models/RepositoryModel.java @@ -22,6 +22,7 @@ import java.util.List; 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 @@ public class RepositoryModel implements Serializable, Comparable -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 list) { + Collections.sort(list, new Comparator() { + @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 36f74a15..3ffd6cd7 100644 --- a/src/com/gitblit/wicket/WicketUtils.java +++ b/src/com/gitblit/wicket/WicketUtils.java @@ -102,7 +102,7 @@ public class WicketUtils { } 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 3fa1a4d5..a089e2a9 100644 --- a/src/com/gitblit/wicket/pages/BasePage.html +++ b/src/com/gitblit/wicket/pages/BasePage.html @@ -22,7 +22,9 @@ diff --git a/src/com/gitblit/wicket/pages/BasePage.java b/src/com/gitblit/wicket/pages/BasePage.java index 0cb91d57..d31979dd 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.RestartResponseException; 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.GitBlit; 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 @@ public abstract class BasePage extends WebPage { 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 2e20c189..ccbfcecb 100644 --- a/src/com/gitblit/wicket/pages/BlamePage.html +++ b/src/com/gitblit/wicket/pages/BlamePage.html @@ -19,12 +19,12 @@
[breadcrumbs]
- +
- + diff --git a/src/com/gitblit/wicket/pages/ChangePasswordPage.html b/src/com/gitblit/wicket/pages/ChangePasswordPage.html index 031352eb..938e0eca 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"> - - - [page title] - - - - +
-
- Gitblit
-
-
-

Commit LineDataContent
@@ -30,11 +19,11 @@
- - -
+ + + \ 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 054b3430..660a8131 100644 --- a/src/com/gitblit/wicket/pages/ChangePasswordPage.java +++ b/src/com/gitblit/wicket/pages/ChangePasswordPage.java @@ -18,17 +18,13 @@ package com.gitblit.wicket.pages; 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.models.UserModel; import com.gitblit.utils.StringUtils; import com.gitblit.wicket.GitBlitWebSession; -public class ChangePasswordPage extends WebPage { +public class ChangePasswordPage extends StandardPage { IModel password = new Model(""); IModel confirmPassword = new Model(""); @@ -54,10 +50,7 @@ public class ChangePasswordPage extends WebPage { // 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 form = new StatelessForm("passwordForm") { @@ -115,7 +108,6 @@ public class ChangePasswordPage extends WebPage { 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 f9a0f793..7f09f75c 100644 --- a/src/com/gitblit/wicket/pages/EditRepositoryPage.html +++ b/src/com/gitblit/wicket/pages/EditRepositoryPage.html @@ -12,19 +12,19 @@   - +           -
+
- +   diff --git a/src/com/gitblit/wicket/pages/RepositoriesPage.java b/src/com/gitblit/wicket/pages/RepositoriesPage.java index ce532a76..5339760e 100644 --- a/src/com/gitblit/wicket/pages/RepositoriesPage.java +++ b/src/com/gitblit/wicket/pages/RepositoriesPage.java @@ -34,11 +34,11 @@ import com.gitblit.wicket.panels.RepositoriesPanel; public class RepositoriesPage extends RootPage { public RepositoriesPage() { - super(); + super(); // Load the markdown welcome message String messageSource = GitBlit.getString(Keys.web.repositoriesMessage, "gitblit"); - String message = "
"; + String message = ""; if (messageSource.equalsIgnoreCase("gitblit")) { // Read default welcome message try { @@ -69,8 +69,15 @@ public class RepositoriesPage extends RootPage { } } 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 8a8b177e..100016f1 100644 --- a/src/com/gitblit/wicket/pages/RepositoryPage.html +++ b/src/com/gitblit/wicket/pages/RepositoryPage.html @@ -12,8 +12,8 @@
- - + +