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/client/NameRenderer.java | 28 +++++++++++++++++++++++++--- 1 files changed, 25 insertions(+), 3 deletions(-) diff --git a/src/com/gitblit/client/NameRenderer.java b/src/com/gitblit/client/NameRenderer.java index f334d42..4cbb590 100644 --- a/src/com/gitblit/client/NameRenderer.java +++ b/src/com/gitblit/client/NameRenderer.java @@ -18,7 +18,9 @@ import java.awt.Color; import java.awt.Component; +import javax.swing.JList; import javax.swing.JTable; +import javax.swing.ListCellRenderer; import javax.swing.table.DefaultTableCellRenderer; /** @@ -28,14 +30,16 @@ * @author James Moger * */ -public class NameRenderer extends DefaultTableCellRenderer { +public class NameRenderer extends DefaultTableCellRenderer implements ListCellRenderer { private static final long serialVersionUID = 1L; + + private static final Color CORNFLOWER = new Color(0x00, 0x69, 0xD6); private final String groupSpan; public NameRenderer() { - this(Color.gray, new Color(0x00, 0x69, 0xD6)); + this(Color.gray, CORNFLOWER); } private NameRenderer(Color group, Color repo) { @@ -55,6 +59,25 @@ public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); + setValue(value == null ? "" : value, isSelected); + return this; + } + + @Override + public Component getListCellRendererComponent(JList list, Object value, int index, + boolean isSelected, boolean cellHasFocus) { + setValue(value == null ? "" : value, isSelected); + if (isSelected) { + setBackground(list.getSelectionBackground()); + setForeground(list.getSelectionForeground()); + } else { + setBackground(list.getBackground()); + setForeground(CORNFLOWER); + } + return this; + } + + private void setValue(Object value, boolean isSelected) { String name = value.toString(); int lastSlash = name.lastIndexOf('/'); if (!isSelected && lastSlash > -1) { @@ -64,6 +87,5 @@ } else { this.setText(name); } - return this; } } \ No newline at end of file -- Gitblit v1.9.1