From 9effe1630d97039b3e01cd9b58ed07e75be1d63c Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 25 Feb 2013 08:40:30 -0500
Subject: [PATCH] Merge pull request #75 from thefake/master

---
 src/com/gitblit/wicket/panels/LogPanel.java |   41 +++++++++++++++++++++++++----------------
 1 files changed, 25 insertions(+), 16 deletions(-)

diff --git a/src/com/gitblit/wicket/panels/LogPanel.java b/src/com/gitblit/wicket/panels/LogPanel.java
index 90b6745..0539764 100644
--- a/src/com/gitblit/wicket/panels/LogPanel.java
+++ b/src/com/gitblit/wicket/panels/LogPanel.java
@@ -39,8 +39,7 @@
 import com.gitblit.wicket.pages.CommitDiffPage;
 import com.gitblit.wicket.pages.CommitPage;
 import com.gitblit.wicket.pages.LogPage;
-import com.gitblit.wicket.pages.SearchPage;
-import com.gitblit.wicket.pages.SummaryPage;
+import com.gitblit.wicket.pages.GitSearchPage;
 import com.gitblit.wicket.pages.TreePage;
 
 public class LogPanel extends BasePanel {
@@ -50,7 +49,7 @@
 	private boolean hasMore;
 
 	public LogPanel(String wicketId, final String repositoryName, final String objectId,
-			Repository r, int limit, int pageOffset) {
+			Repository r, int limit, int pageOffset, boolean showRemoteRefs) {
 		super(wicketId);
 		boolean pageResults = limit <= 0;
 		int itemsPerPage = GitBlit.getInteger(Keys.web.itemsPerPage, 50);
@@ -58,7 +57,7 @@
 			itemsPerPage = 50;
 		}
 
-		final Map<ObjectId, List<RefModel>> allRefs = JGitUtils.getAllRefs(r);
+		final Map<ObjectId, List<RefModel>> allRefs = JGitUtils.getAllRefs(r, showRemoteRefs);
 		List<RevCommit> commits;
 		if (pageResults) {
 			// Paging result set
@@ -75,16 +74,15 @@
 		// header
 		if (pageResults) {
 			// shortlog page
-			// show repository summary page link
-			add(new LinkPanel("header", "title", repositoryName, SummaryPage.class,
-					WicketUtils.newRepositoryParameter(repositoryName)));
+			add(new Label("header", objectId));
 		} else {
 			// summary page
 			// show shortlog page link
-			add(new LinkPanel("header", "title", new StringResourceModel("gb.log", this, null),
-					LogPage.class, WicketUtils.newRepositoryParameter(repositoryName)));
+			add(new LinkPanel("header", "title", objectId, LogPage.class,
+					WicketUtils.newRepositoryParameter(repositoryName)));
 		}
 
+		final int hashLen = GitBlit.getInteger(Keys.web.shortCommitIdLength, 6);
 		ListDataProvider<RevCommit> dp = new ListDataProvider<RevCommit>(commits);
 		DataView<RevCommit> logView = new DataView<RevCommit>("commit", dp) {
 			private static final long serialVersionUID = 1L;
@@ -94,16 +92,16 @@
 				final RevCommit entry = item.getModelObject();
 				final Date date = JGitUtils.getCommitDate(entry);
 
-				item.add(WicketUtils.createDateLabel("commitDate", date, getTimeZone()));
+				item.add(WicketUtils.createDateLabel("commitDate", date, getTimeZone(), getTimeUtils()));
 
 				// author search link
 				String author = entry.getAuthorIdent().getName();
 				LinkPanel authorLink = new LinkPanel("commitAuthor", "list", author,
-						SearchPage.class, WicketUtils.newSearchParameter(repositoryName, objectId,
-								author, Constants.SearchType.AUTHOR));
+						GitSearchPage.class, WicketUtils.newSearchParameter(repositoryName,
+								objectId, author, Constants.SearchType.AUTHOR));
 				setPersonSearchTooltip(authorLink, author, Constants.SearchType.AUTHOR);
 				item.add(authorLink);
-
+				
 				// merge icon
 				if (entry.getParentCount() > 1) {
 					item.add(WicketUtils.newImage("commitIcon", "commit_merge_16x16.png"));
@@ -113,7 +111,12 @@
 
 				// short message
 				String shortMessage = entry.getShortMessage();
-				String trimmedMessage = StringUtils.trimShortLog(shortMessage);
+				String trimmedMessage = shortMessage;
+				if (allRefs.containsKey(entry.getId())) {
+					trimmedMessage = StringUtils.trimString(shortMessage, Constants.LEN_SHORTLOG_REFS);
+				} else {
+					trimmedMessage = StringUtils.trimString(shortMessage, Constants.LEN_SHORTLOG);
+				}
 				LinkPanel shortlog = new LinkPanel("commitShortMessage", "list subject",
 						trimmedMessage, CommitPage.class, WicketUtils.newObjectParameter(
 								repositoryName, entry.getName()));
@@ -124,8 +127,14 @@
 
 				item.add(new RefsPanel("commitRefs", repositoryName, entry, allRefs));
 
-				item.add(new BookmarkablePageLink<Void>("view", CommitPage.class, WicketUtils
-						.newObjectParameter(repositoryName, entry.getName())));
+				// commit hash link
+				LinkPanel commitHash = new LinkPanel("hashLink", null, entry.getName().substring(0, hashLen),
+						CommitPage.class, WicketUtils.newObjectParameter(
+								repositoryName, entry.getName()));
+				WicketUtils.setCssClass(commitHash, "shortsha1");
+				WicketUtils.setHtmlTooltip(commitHash, entry.getName());
+				item.add(commitHash);
+				
 				item.add(new BookmarkablePageLink<Void>("diff", CommitDiffPage.class, WicketUtils
 						.newObjectParameter(repositoryName, entry.getName())).setEnabled(entry
 						.getParentCount() > 0));

--
Gitblit v1.9.1