From 27ae9095639bb228a1b7ff86a3ebe4264abf05be Mon Sep 17 00:00:00 2001
From: mschaefers <mschaefers@scoop-gmbh.de>
Date: Thu, 29 Nov 2012 12:33:09 -0500
Subject: [PATCH] feature: when using LdapUserService one can configure Gitblit to fetch all users from ldap that can possibly login. This allows to see newly generated LDAP users instantly in Gitblit. By now an LDAP user had to log in once to appear in GitBlit.
---
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