From 4cac0d3a0952078ce8ebd3fdedbefeb7803ac080 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 28 Oct 2011 21:24:02 -0400 Subject: [PATCH] Added basic rss subscriptions to Manager --- src/com/gitblit/client/NameRenderer.java | 46 +++++++++++++++++++++++++++++++++++++--------- 1 files changed, 37 insertions(+), 9 deletions(-) diff --git a/src/com/gitblit/client/NameRenderer.java b/src/com/gitblit/client/NameRenderer.java index 5b1a173..ce04255 100644 --- a/src/com/gitblit/client/NameRenderer.java +++ b/src/com/gitblit/client/NameRenderer.java @@ -18,8 +18,11 @@ import java.awt.Color; import java.awt.Component; +import javax.swing.ImageIcon; import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; + +import com.gitblit.models.RepositoryModel; /** * Repository name cell renderer. This renderer shows the group name in a gray @@ -34,11 +37,24 @@ final String groupSpan; + private final boolean displayIcon; + + private final ImageIcon blankIcon; + + private final ImageIcon subscribedIcon; + public NameRenderer() { - this(Color.gray, new Color(0x00, 0x69, 0xD6)); + this(false); } - public NameRenderer(Color group, Color repo) { + public NameRenderer(boolean showIcon) { + this(Color.gray, new Color(0x00, 0x69, 0xD6), showIcon); + } + + private NameRenderer(Color group, Color repo, boolean showIcon) { + blankIcon = new ImageIcon(getClass().getResource("/blank.png")); + subscribedIcon = new ImageIcon(getClass().getResource("/bullet_feed.png")); + displayIcon = showIcon; groupSpan = "<span style='color:" + getHexColor(group) + "'>"; setForeground(repo); } @@ -55,14 +71,26 @@ public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); - String name = value.toString(); - int lastSlash = name.lastIndexOf('/'); - if (!isSelected && lastSlash > -1) { - String group = name.substring(0, lastSlash + 1); - String repo = name.substring(lastSlash + 1); - setText("<html><body>" + groupSpan + group + "</span>" + repo); + if (value instanceof RepositoryModel) { + RepositoryModel model = (RepositoryModel) value; + String name = value.toString(); + int lastSlash = name.lastIndexOf('/'); + if (!isSelected && lastSlash > -1) { + String group = name.substring(0, lastSlash + 1); + String repo = name.substring(lastSlash + 1); + setText("<html><body>" + groupSpan + group + "</span>" + repo); + } else { + this.setText(name); + } + if (displayIcon) { + if (model.subscribed) { + setIcon(subscribedIcon); + } else { + setIcon(blankIcon); + } + } } else { - this.setText(name); + this.setText(value.toString()); } return this; } -- Gitblit v1.9.1