From 44f2dad1f1d3a9ee2b22f213e806d5ef415769b0 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 17 Oct 2011 22:22:40 -0400
Subject: [PATCH] Polish GitblitPanel. Exclude the manager from GO and WAR builds.

---
 src/com/gitblit/client/HeaderPanel.java  |   57 ++++++++++++++++++++++++++++
 src/com/gitblit/client/GitblitPanel.java |   36 ++++++++++-------
 build.xml                                |    2 +
 3 files changed, 80 insertions(+), 15 deletions(-)

diff --git a/build.xml b/build.xml
index 720bf90..5ed87d5 100644
--- a/build.xml
+++ b/build.xml
@@ -162,6 +162,7 @@
 		<jar jarfile="${project.deploy.dir}/${project.jar}">
 			<fileset dir="${project.build.dir}">
 				<include name="**/*" />
+				<exclude name="com/gitblit/client/**" />
 			</fileset>
 			<fileset dir="${project.resources.dir}">
 				<exclude name="thumbs.db" />
@@ -365,6 +366,7 @@
 				<exclude name="WEB-INF/web.xml" />
 				<exclude name="com/gitblit/tests/" />
 				<exclude name="com/gitblit/build/**" />
+				<exclude name="com/gitblit/client/**" />
 				<exclude name="com/gitblit/GitBlitServer*.class" />
 				<exclude name="com/gitblit/Launcher*.class" />
 				<exclude name="com/gitblit/MakeCertificate*.class" />				
diff --git a/src/com/gitblit/client/GitblitPanel.java b/src/com/gitblit/client/GitblitPanel.java
index 3e2cb7a..5525e41 100644
--- a/src/com/gitblit/client/GitblitPanel.java
+++ b/src/com/gitblit/client/GitblitPanel.java
@@ -19,6 +19,7 @@
 import java.awt.Color;
 import java.awt.Component;
 import java.awt.Desktop;
+import java.awt.FlowLayout;
 import java.awt.Insets;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
@@ -215,15 +216,22 @@
 		repositoryTablePanel.add(repositoryFilterPanel, BorderLayout.NORTH);
 		repositoryTablePanel.add(new JScrollPane(repositoriesTable), BorderLayout.CENTER);
 
-		JPanel repositoryControls = new JPanel();
+		JPanel repositoryControls = new JPanel(new FlowLayout(FlowLayout.CENTER, 5, 0));
 		repositoryControls.add(refreshRepositories);
 		repositoryControls.add(browseRepository);
 		repositoryControls.add(createRepository);
 		repositoryControls.add(editRepository);
 		repositoryControls.add(delRepository);
 
-		JPanel repositoriesPanel = new JPanel(new BorderLayout(margin, margin));
-		repositoriesPanel.add(newHeaderLabel(Translation.get("gb.repositories")),
+		JPanel repositoriesPanel = new JPanel(new BorderLayout(margin, margin)) {
+
+			private static final long serialVersionUID = 1L;
+
+			public Insets getInsets() {
+				return insets;
+			}
+		};
+		repositoriesPanel.add(new HeaderPanel(Translation.get("gb.repositories")),
 				BorderLayout.NORTH);
 		repositoriesPanel.add(repositoryTablePanel, BorderLayout.CENTER);
 		repositoriesPanel.add(repositoryControls, BorderLayout.SOUTH);
@@ -300,14 +308,21 @@
 		userTablePanel.add(userFilterPanel, BorderLayout.NORTH);
 		userTablePanel.add(new JScrollPane(usersTable), BorderLayout.CENTER);
 
-		JPanel userControls = new JPanel();
+		JPanel userControls = new JPanel(new FlowLayout(FlowLayout.CENTER, 5, 0));
 		userControls.add(refreshUsers);
 		userControls.add(createUser);
 		userControls.add(editUser);
 		userControls.add(delUser);
 
-		JPanel usersPanel = new JPanel(new BorderLayout(margin, margin));
-		usersPanel.add(newHeaderLabel(Translation.get("gb.users")), BorderLayout.NORTH);
+		JPanel usersPanel = new JPanel(new BorderLayout(margin, margin)) {
+
+			private static final long serialVersionUID = 1L;
+
+			public Insets getInsets() {
+				return insets;
+			}
+		};
+		usersPanel.add(new HeaderPanel(Translation.get("gb.users")), BorderLayout.NORTH);
 		usersPanel.add(userTablePanel, BorderLayout.CENTER);
 		usersPanel.add(userControls, BorderLayout.SOUTH);
 
@@ -318,15 +333,6 @@
 
 		setLayout(new BorderLayout());
 		add(tabs, BorderLayout.CENTER);
-	}
-
-	private JLabel newHeaderLabel(String text) {
-		JLabel label = new JLabel(text);
-		label.setOpaque(true);
-		label.setForeground(Color.white);
-		label.setBackground(Color.gray);
-		label.setFont(label.getFont().deriveFont(14f));
-		return label;
 	}
 
 	private void setRepositoryRenderer(RepositoriesModel.Columns col, TableCellRenderer renderer) {
diff --git a/src/com/gitblit/client/HeaderPanel.java b/src/com/gitblit/client/HeaderPanel.java
new file mode 100644
index 0000000..b3953b3
--- /dev/null
+++ b/src/com/gitblit/client/HeaderPanel.java
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2011 gitblit.com.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.gitblit.client;
+
+import java.awt.Color;
+import java.awt.FlowLayout;
+import java.awt.GradientPaint;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.Paint;
+import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
+
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+
+public class HeaderPanel extends JPanel {
+
+	private static final long serialVersionUID = 1L;
+
+	private Color lightColor = new Color(0, 0, 0x60);
+
+	public HeaderPanel(String text) {
+		super(new FlowLayout(FlowLayout.LEFT), true);
+		setOpaque(true);
+		setBackground(new Color(0, 0, 0x20));
+
+		JLabel label = new JLabel(text);
+		label.setForeground(Color.white);
+		label.setFont(label.getFont().deriveFont(14f));
+		add(label);
+	}
+
+	@Override
+	public void paintComponent(Graphics oldG) {
+		Graphics2D g = (Graphics2D) oldG;
+		Point2D startPoint = new Point2D.Float(0, 0);
+		Point2D endPoint = new Point2D.Float(0, getHeight());
+		Paint gradientPaint = new GradientPaint(startPoint, lightColor, endPoint, getBackground(),
+				false);
+		g.setPaint(gradientPaint);
+		g.fill(new Rectangle2D.Double(0, 0, getWidth(), getHeight()));
+	}
+}

--
Gitblit v1.9.1