From b7f591781f4bd2e3c94596a2b1f2cf73cdc0d7cd Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Thu, 13 Oct 2011 17:01:51 -0400
Subject: [PATCH] Localized RPC client using server's resource file.

---
 src/com/gitblit/client/IndicatorsRenderer.java |   49 ++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 36 insertions(+), 13 deletions(-)

diff --git a/src/com/gitblit/client/TypeRenderer.java b/src/com/gitblit/client/IndicatorsRenderer.java
similarity index 69%
rename from src/com/gitblit/client/TypeRenderer.java
rename to src/com/gitblit/client/IndicatorsRenderer.java
index 8f92dcf..8c13122 100644
--- a/src/com/gitblit/client/TypeRenderer.java
+++ b/src/com/gitblit/client/IndicatorsRenderer.java
@@ -34,7 +34,7 @@
  * @author James Moger
  * 
  */
-public class TypeRenderer extends JPanel implements TableCellRenderer, Serializable {
+public class IndicatorsRenderer extends JPanel implements TableCellRenderer, Serializable {
 
 	private static final long serialVersionUID = 1L;
 
@@ -54,7 +54,7 @@
 
 	private final ImageIcon federatedIcon;
 
-	public TypeRenderer() {
+	public IndicatorsRenderer() {
 		super(new GridLayout(1, 0, 1, 0));
 		blankIcon = new ImageIcon(getClass().getResource("/blank.png"));
 		pushIcon = new ImageIcon(getClass().getResource("/lock_go_16x16.png"));
@@ -75,44 +75,67 @@
 			setBackground(table.getBackground());
 		removeAll();
 		if (value instanceof RepositoryModel) {
+			StringBuilder tooltip = new StringBuilder();
 			RepositoryModel model = (RepositoryModel) value;
 			if (model.useTickets) {
-				add(new JLabel(tixIcon));
+				JLabel icon = new JLabel(tixIcon);
+				tooltip.append(Translation.get("gb.tickets")).append("<br/>");
+				add(icon);
 			} else {
 				add(new JLabel(blankIcon));
 			}
 			if (model.useDocs) {
-				add(new JLabel(doxIcon));
+				JLabel icon = new JLabel(doxIcon);
+				tooltip.append(Translation.get("gb.docs")).append("<br/>");
+				add(icon);
 			} else {
 				add(new JLabel(blankIcon));
 			}
 			if (model.isFrozen) {
-				add(new JLabel(frozenIcon));
+				JLabel icon = new JLabel(frozenIcon);
+				tooltip.append(Translation.get("gb.isFrozen")).append("<br/>");
+				add(icon);
 			} else {
 				add(new JLabel(blankIcon));
 			}
 			if (model.isFederated) {
-				add(new JLabel(federatedIcon));
+				JLabel icon = new JLabel(federatedIcon);
+				tooltip.append(Translation.get("gb.isFederated")).append("<br/>");
+				add(icon);
 			} else {
 				add(new JLabel(blankIcon));
 			}
 
 			switch (model.accessRestriction) {
-			case NONE:
+			case NONE: {
 				add(new JLabel(blankIcon));
 				break;
-			case PUSH:
-				add(new JLabel(pushIcon));
+			}
+			case PUSH: {
+				JLabel icon = new JLabel(pushIcon);
+				tooltip.append(Translation.get("gb.pushRestricted")).append("<br/>");
+				add(icon);
 				break;
-			case CLONE:
-				add(new JLabel(pullIcon));
+			}
+			case CLONE: {
+				JLabel icon = new JLabel(pullIcon);
+				tooltip.append(Translation.get("gb.pullRestricted")).append("<br/>");
+				add(icon);
 				break;
-			case VIEW:
-				add(new JLabel(viewIcon));
+			}
+			case VIEW: {
+				JLabel icon = new JLabel(viewIcon);
+				tooltip.append(Translation.get("gb.viewRestricted")).append("<br/>");
+				add(icon);
 				break;
+			}
 			default:
 				add(new JLabel(blankIcon));
 			}
+			if (tooltip.length() > 0) {
+				tooltip.insert(0, "<html><body>");
+				setToolTipText(tooltip.toString().trim());
+			}
 		}
 		return this;
 	}

--
Gitblit v1.9.1