From f3ff376a5eb945f15329b66bbb7d69ed3ca2ce3f Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 03 Aug 2012 20:39:50 -0400
Subject: [PATCH] Confirmed fix for GO settings manipulation (issue 85)
---
src/com/gitblit/client/BranchRenderer.java | 76 +++++++++++++++++++-------------------
1 files changed, 38 insertions(+), 38 deletions(-)
diff --git a/src/com/gitblit/client/BranchRenderer.java b/src/com/gitblit/client/BranchRenderer.java
index b8f55f0..9a303c3 100644
--- a/src/com/gitblit/client/BranchRenderer.java
+++ b/src/com/gitblit/client/BranchRenderer.java
@@ -17,24 +17,20 @@
import java.awt.Color;
import java.awt.Component;
-import java.awt.FlowLayout;
-import java.io.Serializable;
-import javax.swing.JLabel;
-import javax.swing.JPanel;
+import javax.swing.JList;
import javax.swing.JTable;
-import javax.swing.border.Border;
-import javax.swing.border.LineBorder;
-import javax.swing.table.TableCellRenderer;
+import javax.swing.ListCellRenderer;
+import javax.swing.table.DefaultTableCellRenderer;
/**
- * Branch renderer displays refs/heads and refs/remotes in a style like the
- * site.
+ * Branch renderer displays refs/heads and refs/remotes in a color similar to
+ * the site.
*
* @author James Moger
*
*/
-public class BranchRenderer extends JPanel implements TableCellRenderer, Serializable {
+public class BranchRenderer extends DefaultTableCellRenderer implements ListCellRenderer {
private static final long serialVersionUID = 1L;
@@ -42,37 +38,41 @@
private static final String R_REMOTES = "refs/remotes/";
- private JLabel branchLabel;
-
- public BranchRenderer() {
- super(new FlowLayout(FlowLayout.CENTER, 0, 1));
- branchLabel = new JLabel();
- branchLabel.setOpaque(true);
- add(branchLabel);
- }
-
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected,
boolean hasFocus, int row, int column) {
- if (isSelected)
- setBackground(table.getSelectionBackground());
- else
- setBackground(table.getBackground());
-
- String name = value.toString();
- Color bg = getBackground();
- Border border = null;
- if (name.startsWith(R_HEADS)) {
- bg = Color.decode("#CCFFCC");
- name = name.substring(R_HEADS.length());
- border = new LineBorder(Color.decode("#00CC33"), 1);
- } else if (name.startsWith(R_REMOTES)) {
- bg = Color.decode("#CAC2F5");
- name = name.substring(R_REMOTES.length());
- border = new LineBorder(Color.decode("#6C6CBF"), 1);
+ super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column);
+ setText(value == null ? "" : value.toString());
+ if (isSelected) {
+ setForeground(table.getSelectionForeground());
}
- branchLabel.setText(" " + name + " ");
- branchLabel.setBackground(bg);
- branchLabel.setBorder(border);
return this;
}
+
+ @Override
+ public Component getListCellRendererComponent(JList list, Object value, int index,
+ boolean isSelected, boolean cellHasFocus) {
+ setText(value == null ? "" : value.toString());
+ if (isSelected) {
+ setBackground(list.getSelectionBackground());
+ setForeground(list.getSelectionForeground());
+ } else {
+ setBackground(list.getBackground());
+ }
+ return this;
+ }
+
+ @Override
+ public void setText(String text) {
+ String name = text;
+ Color fg = getForeground();
+ if (name.startsWith(R_HEADS)) {
+ name = name.substring(R_HEADS.length());
+ fg = new Color(0, 0x80, 0);
+ } else if (name.startsWith(R_REMOTES)) {
+ name = name.substring(R_REMOTES.length());
+ fg = Color.decode("#6C6CBF");
+ }
+ setForeground(fg);
+ super.setText(name);
+ }
}
\ No newline at end of file
--
Gitblit v1.9.1