From ac7f1753d3f742e0af8dd5e142b4eac9d9d2fbba Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 28 Oct 2011 21:41:31 -0400
Subject: [PATCH] Preserve feed selections when not saving passwords

---
 src/com/gitblit/client/StatusPanel.java |   39 +++++++++++++++++++++++++++++++--------
 1 files changed, 31 insertions(+), 8 deletions(-)

diff --git a/src/com/gitblit/client/StatusPanel.java b/src/com/gitblit/client/StatusPanel.java
index 551d865..797ae9b 100644
--- a/src/com/gitblit/client/StatusPanel.java
+++ b/src/com/gitblit/client/StatusPanel.java
@@ -27,8 +27,10 @@
 import javax.swing.JScrollPane;
 import javax.swing.JTable;
 
+import com.gitblit.Constants;
 import com.gitblit.models.ServerStatus;
 import com.gitblit.utils.ByteFormat;
+import com.gitblit.utils.TimeUtils;
 
 /**
  * This panel displays the server status.
@@ -40,40 +42,57 @@
 	private static final long serialVersionUID = 1L;
 	private final Insets insets = new Insets(5, 5, 5, 5);
 	private JLabel bootDate;
+	private JLabel url;
 	private JLabel servletContainer;
 	private JLabel heapMaximum;
 	private JLabel heapAllocated;
 	private JLabel heapUsed;
 	private PropertiesTableModel model;
 	private HeaderPanel headerPanel;
+	private JLabel version;
+	private JLabel releaseDate;
 
 	public StatusPanel() {
 		super();
 		initialize();
 	}
 
-	public StatusPanel(ServerStatus status) {
+	public StatusPanel(String url, ServerStatus status) {
 		this();
-		setStatus(status);
+		setStatus(url, status);
 	}
 
 	private void initialize() {
+		version = new JLabel();
+		releaseDate = new JLabel();
 		bootDate = new JLabel();
+		url = new JLabel();
 		servletContainer = new JLabel();
 
 		heapMaximum = new JLabel();
 		heapAllocated = new JLabel();
 		heapUsed = new JLabel();
 
-		JPanel fieldsPanel = new JPanel(new GridLayout(0, 1));
+		JPanel fieldsPanel = new JPanel(new GridLayout(0, 1, 0, 5)) {
+
+			private static final long serialVersionUID = 1L;
+
+			@Override
+			public Insets getInsets() {
+				return insets;
+			}
+		};
+		fieldsPanel.add(createFieldPanel("gb.version", version));
+		fieldsPanel.add(createFieldPanel("gb.releaseDate", releaseDate));
 		fieldsPanel.add(createFieldPanel("gb.bootDate", bootDate));
+		fieldsPanel.add(createFieldPanel("gb.url", url));
 		fieldsPanel.add(createFieldPanel("gb.servletContainer", servletContainer));
 		fieldsPanel.add(createFieldPanel("gb.heapUsed", heapUsed));
 		fieldsPanel.add(createFieldPanel("gb.heapAllocated", heapAllocated));
 		fieldsPanel.add(createFieldPanel("gb.heapMaximum", heapMaximum));
 
 		model = new PropertiesTableModel();
-		JTable propertiesTable = Utils.newTable(model);
+		JTable propertiesTable = Utils.newTable(model, Utils.DATE_FORMAT);
 		String name = propertiesTable.getColumnName(PropertiesTableModel.Columns.Name.ordinal());
 		NameRenderer nameRenderer = new NameRenderer();
 		propertiesTable.setRowHeight(nameRenderer.getFont().getSize() + 8);
@@ -90,10 +109,10 @@
 	}
 
 	private JPanel createFieldPanel(String key, JLabel valueLabel) {
-		JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT, 5, 5));
+		JPanel panel = new JPanel(new FlowLayout(FlowLayout.LEFT, 5, 0));
 		JLabel textLabel = new JLabel(Translation.get(key));
 		textLabel.setFont(textLabel.getFont().deriveFont(Font.BOLD));
-		textLabel.setPreferredSize(new Dimension(120, valueLabel.getFont().getSize() + 4));
+		textLabel.setPreferredSize(new Dimension(120, 10));
 		panel.add(textLabel);
 		panel.add(valueLabel);
 		return panel;
@@ -104,9 +123,13 @@
 		return insets;
 	}
 
-	public void setStatus(ServerStatus status) {
+	public void setStatus(String url, ServerStatus status) {
 		headerPanel.setText(Translation.get("gb.status"));
-		bootDate.setText(status.bootDate.toString());
+		version.setText(Constants.NAME + (status.isGO ? " GO v" : " WAR v") + status.version);
+		releaseDate.setText(status.releaseDate);
+		bootDate.setText(status.bootDate.toString() + " (" + TimeUtils.timeAgo(status.bootDate)
+				+ ")");
+		this.url.setText(url);
 		servletContainer.setText(status.servletContainer);
 		ByteFormat byteFormat = new ByteFormat();
 		heapMaximum.setText(byteFormat.format(status.heapMaximum));

--
Gitblit v1.9.1