From ed552ba47c02779c270ffd62841d6d1048dade70 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Sun, 22 Nov 2015 14:37:16 -0500
Subject: [PATCH] Merge branch 'develop'

---
 src/main/java/com/gitblit/wicket/panels/ProjectRepositoryPanel.java |   38 ++++++++++++++++++--------------------
 1 files changed, 18 insertions(+), 20 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/panels/ProjectRepositoryPanel.java b/src/main/java/com/gitblit/wicket/panels/ProjectRepositoryPanel.java
index 8630d20..efcb1cb 100644
--- a/src/main/java/com/gitblit/wicket/panels/ProjectRepositoryPanel.java
+++ b/src/main/java/com/gitblit/wicket/panels/ProjectRepositoryPanel.java
@@ -51,23 +51,26 @@
 		final boolean showSwatch = app().settings().getBoolean(Keys.web.repositoryListSwatches, true);
 		final boolean showSize = app().settings().getBoolean(Keys.web.showRepositorySizes, true);
 
-		// repository swatch
-		Component swatch;
-		if (entry.isBare) {
-			swatch = new Label("repositorySwatch", "&nbsp;").setEscapeModelStrings(false);
-		} else {
-			swatch = new Label("repositorySwatch", "!");
-			WicketUtils.setHtmlTooltip(swatch, localizer.getString("gb.workingCopyWarning", parent));
-		}
-		WicketUtils.setCssBackground(swatch, entry.toString());
-		add(swatch);
-		swatch.setVisible(showSwatch);
-
 		PageParameters pp = WicketUtils.newRepositoryParameter(entry.name);
 		add(new LinkPanel("repositoryName", "list", StringUtils.getRelativePath(entry.projectPath,
 				StringUtils.stripDotGit(entry.name)), SummaryPage.class, pp));
 		add(new Label("repositoryDescription", entry.description).setVisible(!StringUtils
 				.isEmpty(entry.description)));
+
+		Fragment iconFragment;
+		if (entry.isMirror) {
+			iconFragment = new Fragment("repoIcon", "mirrorIconFragment", this);
+		} else if (entry.isFork()) {
+			iconFragment = new Fragment("repoIcon", "forkIconFragment", this);
+		} else if (entry.isBare) {
+			iconFragment = new Fragment("repoIcon", "repoIconFragment", this);
+		} else {
+			iconFragment = new Fragment("repoIcon", "cloneIconFragment", this);
+		}
+		if (showSwatch) {
+			WicketUtils.setCssStyle(iconFragment, "color:" + StringUtils.getColor(entry.toString()));
+		}
+		add(iconFragment);
 
 		if (StringUtils.isEmpty(entry.originRepository)) {
 			add(new Label("originRepository").setVisible(false));
@@ -84,13 +87,7 @@
 			add(WicketUtils.newClearPixel("sparkleshareIcon").setVisible(false));
 		}
 
-		if (entry.isMirror) {
-			add(WicketUtils.newImage("mirrorIcon", "mirror_16x16.png", localizer.getString("gb.isMirror", parent)));
-		} else {
-			add(WicketUtils.newClearPixel("mirrorIcon").setVisible(false));
-		}
-
-		if (entry.isFrozen) {
+		if (!entry.isMirror && entry.isFrozen) {
 			add(WicketUtils.newImage("frozenIcon", "cold_16x16.png", localizer.getString("gb.isFrozen", parent)));
 		} else {
 			add(WicketUtils.newClearPixel("frozenIcon").setVisible(false));
@@ -161,6 +158,7 @@
 			add(new Label("repositorySize", localizer.getString("gb.empty", parent)).setEscapeModelStrings(false));
 		}
 
-		add(new ExternalLink("syndication", SyndicationServlet.asLink("", entry.name, null, 0)));
+		add(new ExternalLink("syndication", SyndicationServlet.asLink(getRequest()
+				.getRelativePathPrefixToContextRoot(), entry.name, null, 0)));
 	}
 }

--
Gitblit v1.9.1