From cb285cbfddfc0b633d6b8cdb4dc0d2bd2b8b51ef Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 05 Jan 2012 17:34:05 -0500 Subject: [PATCH] Fixed bug in receive hook for repositories in subfolders --- 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 f9c9f36..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, true); - } else if (name.startsWith(R_REMOTES)) { - bg = Color.decode("#CAC2F5"); - name = name.substring(R_REMOTES.length()); - border = new LineBorder(Color.decode("#6C6CBF"), 1, true); + 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