From 7d35e227475bb4a6ba185788cc663e38822c15f8 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 11 Apr 2011 17:42:58 -0400
Subject: [PATCH] Ref links.
---
src/com/gitblit/wicket/pages/LogPage.java | 2
gitblit.properties | 2
src/com/gitblit/wicket/WicketUtils.java | 16 ++++++++
src/com/gitblit/wicket/pages/TicGitTicketPage.java | 2
src/com/gitblit/wicket/RepositoryPage.java | 6 +-
src/com/gitblit/wicket/pages/TreePage.java | 2
src/com/gitblit/wicket/pages/DiffPage.java | 3 +
src/com/gitblit/wicket/panels/RefsPanel.java | 25 +++++++-----
src/com/gitblit/wicket/panels/LogPanel.java | 4 +-
src/com/gitblit/wicket/pages/BlobPage.java | 2
src/com/gitblit/wicket/panels/RefsPanel.html | 2
src/com/gitblit/wicket/resources/gitblit.css | 21 ++++------
12 files changed, 52 insertions(+), 35 deletions(-)
diff --git a/gitblit.properties b/gitblit.properties
index 8ea1cc6..839b914 100644
--- a/gitblit.properties
+++ b/gitblit.properties
@@ -79,7 +79,7 @@
# The number of commits to show on each page of a Log
# Value must exceed 0 else default of 50 is used
-logPageCommitsCount = 50
+logPageCommitCount = 50
# Registered extensions for google-code-prettify
prettyPrintExtensions = c cpp cs css htm html java js php pl prefs properties py rb sh sql xml vb
diff --git a/src/com/gitblit/wicket/RepositoryPage.java b/src/com/gitblit/wicket/RepositoryPage.java
index 4e84938..0561771 100644
--- a/src/com/gitblit/wicket/RepositoryPage.java
+++ b/src/com/gitblit/wicket/RepositoryPage.java
@@ -32,8 +32,8 @@
error("Repository not specified!");
redirectToInterceptPage(new RepositoriesPage());
}
- repositoryName = params.getString("r", "");
- objectId = params.getString("h", "HEAD");
+ repositoryName = WicketUtils.getRepositoryName(params);
+ objectId = WicketUtils.getObject(params);
Repository r = getRepository();
@@ -64,7 +64,7 @@
}
protected void addRefs(Repository r, RevCommit c) {
- add(new RefsPanel("refsPanel", r, c));
+ add(new RefsPanel("refsPanel", repositoryName, c, JGitUtils.getAllRefs(r)));
}
protected void addFullText(String wicketId, String text, boolean substituteRegex) {
diff --git a/src/com/gitblit/wicket/WicketUtils.java b/src/com/gitblit/wicket/WicketUtils.java
index bc1f441..126c37d 100644
--- a/src/com/gitblit/wicket/WicketUtils.java
+++ b/src/com/gitblit/wicket/WicketUtils.java
@@ -103,6 +103,22 @@
return new PageParameters("r=" + repositoryName + ",h=" + objectId + ",page=" + pageNumber);
}
+ public static String getRepositoryName(PageParameters params) {
+ return params.getString("r", "");
+ }
+
+ public static String getObject(PageParameters params) {
+ return params.getString("h", "");
+ }
+
+ public static String getPath(PageParameters params) {
+ return params.getString("f", null);
+ }
+
+ public static int getPage(PageParameters params) {
+ return params.getInt("page", 1); // index from 1
+ }
+
public static Label createDateLabel(String wicketId, Date date, TimeZone timeZone) {
DateFormat df = new SimpleDateFormat(StoredSettings.getString("datestampShortFormat", "MM/dd/yy"));
if (timeZone != null) {
diff --git a/src/com/gitblit/wicket/pages/BlobPage.java b/src/com/gitblit/wicket/pages/BlobPage.java
index 7842936..7d7259a 100644
--- a/src/com/gitblit/wicket/pages/BlobPage.java
+++ b/src/com/gitblit/wicket/pages/BlobPage.java
@@ -22,7 +22,7 @@
public BlobPage(PageParameters params) {
super(params);
- final String blobPath = params.getString("f", null);
+ final String blobPath = WicketUtils.getPath(params);
Repository r = getRepository();
RevCommit commit = JGitUtils.getCommit(r, objectId);
diff --git a/src/com/gitblit/wicket/pages/DiffPage.java b/src/com/gitblit/wicket/pages/DiffPage.java
index 1e6065b..1912c42 100644
--- a/src/com/gitblit/wicket/pages/DiffPage.java
+++ b/src/com/gitblit/wicket/pages/DiffPage.java
@@ -8,6 +8,7 @@
import com.gitblit.utils.JGitUtils;
import com.gitblit.wicket.LinkPanel;
import com.gitblit.wicket.RepositoryPage;
+import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.panels.PathBreadcrumbsPanel;
public class DiffPage extends RepositoryPage {
@@ -15,7 +16,7 @@
public DiffPage(PageParameters params) {
super(params);
- final String blobPath = params.getString("f", null);
+ final String blobPath = WicketUtils.getPath(params);
Repository r = getRepository();
RevCommit commit = JGitUtils.getCommit(r, objectId);
diff --git a/src/com/gitblit/wicket/pages/LogPage.java b/src/com/gitblit/wicket/pages/LogPage.java
index f9449ad..cd75df9 100644
--- a/src/com/gitblit/wicket/pages/LogPage.java
+++ b/src/com/gitblit/wicket/pages/LogPage.java
@@ -12,7 +12,7 @@
public LogPage(PageParameters params) {
super(params);
- int pageNumber = params.getInt("page", 1); // index from 1
+ int pageNumber = WicketUtils.getPage(params);
int prevPage = Math.max(0, pageNumber - 1);
int nextPage = pageNumber + 1;
diff --git a/src/com/gitblit/wicket/pages/TicGitTicketPage.java b/src/com/gitblit/wicket/pages/TicGitTicketPage.java
index 5d3ceb4..5cdc4a7 100644
--- a/src/com/gitblit/wicket/pages/TicGitTicketPage.java
+++ b/src/com/gitblit/wicket/pages/TicGitTicketPage.java
@@ -19,7 +19,7 @@
public TicGitTicketPage(PageParameters params) {
super(params);
- final String ticketFolder = params.getString("f", "");
+ final String ticketFolder = WicketUtils.getPath(params);
Repository r = getRepository();
TicGitTicket t = JGitUtils.getTicGitTicket(r, ticketFolder);
diff --git a/src/com/gitblit/wicket/pages/TreePage.java b/src/com/gitblit/wicket/pages/TreePage.java
index e24033e..90e0a65 100644
--- a/src/com/gitblit/wicket/pages/TreePage.java
+++ b/src/com/gitblit/wicket/pages/TreePage.java
@@ -26,7 +26,7 @@
public TreePage(PageParameters params) {
super(params);
- final String basePath = params.getString("f", null);
+ final String basePath = WicketUtils.getPath(params);
Repository r = getRepository();
RevCommit commit = JGitUtils.getCommit(r, objectId);
diff --git a/src/com/gitblit/wicket/panels/LogPanel.java b/src/com/gitblit/wicket/panels/LogPanel.java
index 17b01db..e496ed0 100644
--- a/src/com/gitblit/wicket/panels/LogPanel.java
+++ b/src/com/gitblit/wicket/panels/LogPanel.java
@@ -33,7 +33,7 @@
public LogPanel(String wicketId, final String repositoryName, String objectId, Repository r, int limit, int pageOffset) {
super(wicketId);
boolean pageResults = limit <= 0;
- int itemsPerPage = StoredSettings.getInteger("logPageCommitsCount", 50);
+ int itemsPerPage = StoredSettings.getInteger("logPageCommitCount", 50);
if (itemsPerPage <= 1) {
itemsPerPage = 50;
}
@@ -81,7 +81,7 @@
}
item.add(shortlog);
- item.add(new RefsPanel("commitRefs", entry, allRefs));
+ item.add(new RefsPanel("commitRefs", repositoryName, entry, allRefs));
item.add(new BookmarkablePageLink<Void>("view", CommitPage.class, WicketUtils.newObjectParameter(repositoryName, entry.getName())));
item.add(new BookmarkablePageLink<Void>("diff", DiffPage.class, WicketUtils.newObjectParameter(repositoryName, entry.getName())));
diff --git a/src/com/gitblit/wicket/panels/RefsPanel.html b/src/com/gitblit/wicket/panels/RefsPanel.html
index 4012ab1..5d30193 100644
--- a/src/com/gitblit/wicket/panels/RefsPanel.html
+++ b/src/com/gitblit/wicket/panels/RefsPanel.html
@@ -5,7 +5,7 @@
lang="en">
<wicket:panel>
- <span class="refs" wicket:id="ref">
+ <span wicket:id="ref">
<span wicket:id="refName">ref</span>
</span>
</wicket:panel>
diff --git a/src/com/gitblit/wicket/panels/RefsPanel.java b/src/com/gitblit/wicket/panels/RefsPanel.java
index 5dec57f..bfdf50c 100644
--- a/src/com/gitblit/wicket/panels/RefsPanel.java
+++ b/src/com/gitblit/wicket/panels/RefsPanel.java
@@ -13,28 +13,27 @@
import org.apache.wicket.markup.repeater.data.ListDataProvider;
import org.eclipse.jgit.lib.Constants;
import org.eclipse.jgit.lib.ObjectId;
-import org.eclipse.jgit.lib.Repository;
import org.eclipse.jgit.revwalk.RevCommit;
-import com.gitblit.utils.JGitUtils;
+import com.gitblit.wicket.LinkPanel;
import com.gitblit.wicket.WicketUtils;
+import com.gitblit.wicket.pages.LogPage;
+import com.gitblit.wicket.pages.TagPage;
public class RefsPanel extends Panel {
private static final long serialVersionUID = 1L;
- public RefsPanel(String id, Repository r, RevCommit c) {
- this(id, c, JGitUtils.getAllRefs(r));
- }
-
- public RefsPanel(String id, RevCommit c, Map<ObjectId, List<String>> refs) {
+ public RefsPanel(String id, final String repositoryName, RevCommit c, Map<ObjectId, List<String>> refs) {
super(id);
List<String> refNames = refs.get(c.getId());
if (refNames == null) {
refNames = new ArrayList<String>();
}
Collections.sort(refNames);
+ refNames.remove(Constants.HEAD);
+
ListDataProvider<String> refsDp = new ListDataProvider<String>(refNames);
DataView<String> refsView = new DataView<String>("ref", refsDp) {
private static final long serialVersionUID = 1L;
@@ -43,19 +42,23 @@
Component c = null;
if (entry.startsWith(Constants.R_HEADS)) {
// local head
- c = new Label("refName", entry.substring(Constants.R_HEADS.length()));
+ c = new LinkPanel("refName", null, entry.substring(Constants.R_HEADS.length()), LogPage.class, WicketUtils.newObjectParameter(repositoryName, entry));
+// c = new Label("refName", entry.substring(Constants.R_HEADS.length()));
WicketUtils.setCssClass(c, "head");
} else if (entry.startsWith(Constants.R_REMOTES)) {
// remote head
- c = new Label("refName", entry.substring(Constants.R_REMOTES.length()));
+ c = new LinkPanel("refName", null, entry.substring(Constants.R_REMOTES.length()), LogPage.class, WicketUtils.newObjectParameter(repositoryName, entry));
+// c = new Label("refName", entry.substring(Constants.R_REMOTES.length()));
WicketUtils.setCssClass(c, "ref");
} else if (entry.startsWith(Constants.R_TAGS)) {
// tag
- c = new Label("refName", entry.substring(Constants.R_TAGS.length()));
+// c = new BookmarkablePageLink<Void>("refName", TagPage.class, WicketUtils.newObjectParameter(repositoryName, entry));
+ c = new LinkPanel("refName", null, entry.substring(Constants.R_TAGS.length()), TagPage.class, WicketUtils.newObjectParameter(repositoryName, entry));
+ //c = new Label("refName", entry.substring(Constants.R_TAGS.length()));
WicketUtils.setCssClass(c, "tag");
} else {
// other
- c = new Label("refName", entry);
+ c = new Label("refName", entry);
}
WicketUtils.setHtmlTitle(c, entry);
item.add(c);
diff --git a/src/com/gitblit/wicket/resources/gitblit.css b/src/com/gitblit/wicket/resources/gitblit.css
index 6c75432..4587f78 100644
--- a/src/com/gitblit/wicket/resources/gitblit.css
+++ b/src/com/gitblit/wicket/resources/gitblit.css
@@ -409,41 +409,38 @@
text-align: right;
}
-span.refs span {
+span .tag, span .head, span .ref {
padding: 0px 4px;
font-family: sans-serif;
- font-size: 70%;
font-weight: normal;
border: 1px solid;
- background-color: #ffaaff;
- border-color: #ffccff #ff00ee #ff00ee #ffccff;
color: black;
}
-span.refs span a {
+span .tag a, span .head a, span .ref a {
text-decoration: none;
color: inherit;
}
-span.refs span a:hover {
- text-decoration: underline;
+span .tag a:hover, span .head a:hover, span .ref a:hover {
+ color: inherit;
}
-span.refs span.indirect {
- font-style: italic;
+span .tag a span, span .head a span, span .ref a span {
+ font-size: 9px;
}
-span.refs span.ref {
+span .ref {
background-color: #aaaaff;
border-color: #ccccff #0033cc #0033cc #ccccff;
}
-span.refs span.tag {
+span .tag {
background-color: #ffffaa;
border-color: #ffffcc #ffee00 #ffee00 #ffffcc;
}
-span.refs span.head {
+span .head {
background-color: #aaffaa;
border-color: #ccffcc #00cc33 #00cc33 #ccffcc;
}
\ No newline at end of file
--
Gitblit v1.9.1