From 30f9d25d77ccb5cd978d4cf8fa389ec819e90e95 Mon Sep 17 00:00:00 2001
From: Philip L. McMahon <philip.l.mcmahon@gmail.com>
Date: Fri, 27 Jan 2012 02:02:19 -0500
Subject: [PATCH] Correct update of HEAD symbolic reference when target is a tag.

---
 src/com/gitblit/client/JPalette.java |   43 +++++++++++++++++++++++++++++++++++++++----
 1 files changed, 39 insertions(+), 4 deletions(-)

diff --git a/src/com/gitblit/client/JPalette.java b/src/com/gitblit/client/JPalette.java
index 19456e1..699b271 100644
--- a/src/com/gitblit/client/JPalette.java
+++ b/src/com/gitblit/client/JPalette.java
@@ -18,6 +18,7 @@
 import java.awt.BorderLayout;
 import java.awt.Color;
 import java.awt.Dimension;
+import java.awt.Font;
 import java.awt.GridBagLayout;
 import java.awt.GridLayout;
 import java.awt.event.ActionEvent;
@@ -39,6 +40,10 @@
 	private PaletteModel<T> selectedModel;
 
 	public JPalette() {
+		this(false);
+	}
+
+	public JPalette(boolean controlOrder) {
 		super(new BorderLayout(5, 5));
 
 		availableModel = new PaletteModel<T>();
@@ -85,16 +90,44 @@
 			}
 		});
 
+		JButton up = new JButton("\u2191");
+		up.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent event) {
+				int row = selected.getSelectedRow();
+				if (row > 0) {
+					T o = selectedModel.list.remove(row);
+					selectedModel.list.add(row - 1, o);
+					selectedModel.fireTableDataChanged();
+				}
+			}
+		});
+
+		JButton down = new JButton("\u2193");
+		down.addActionListener(new ActionListener() {
+			public void actionPerformed(ActionEvent event) {
+				int row = selected.getSelectedRow();
+				if (row < selected.getRowCount() - 1) {
+					T o = selectedModel.list.remove(row);
+					selectedModel.list.add(row + 1, o);
+					selectedModel.fireTableDataChanged();
+				}
+			}
+		});
+
 		JPanel controls = new JPanel(new GridLayout(0, 1, 0, 5));
 		controls.add(add);
 		controls.add(subtract);
+		if (controlOrder) {
+			controls.add(up);
+			controls.add(down);
+		}
 
 		JPanel center = new JPanel(new GridBagLayout());
 		center.add(controls);
 
-		add(newListPanel("Available", available), BorderLayout.WEST);
+		add(newListPanel(Translation.get("gb.available"), available), BorderLayout.WEST);
 		add(center, BorderLayout.CENTER);
-		add(newListPanel("Selected", selected), BorderLayout.EAST);
+		add(newListPanel(Translation.get("gb.selected"), selected), BorderLayout.EAST);
 	}
 
 	private JPanel newListPanel(String label, JTable table) {
@@ -110,7 +143,9 @@
 		JScrollPane jsp = new JScrollPane(table);
 		jsp.setPreferredSize(new Dimension(225, 175));
 		JPanel panel = new JPanel(new BorderLayout());
-		panel.add(new JLabel(label), BorderLayout.NORTH);
+		JLabel jlabel = new JLabel(label);
+		jlabel.setFont(jlabel.getFont().deriveFont(Font.BOLD));
+		panel.add(jlabel, BorderLayout.NORTH);
 		panel.add(jsp, BorderLayout.CENTER);
 		return panel;
 	}
@@ -161,7 +196,7 @@
 
 		@Override
 		public String getColumnName(int column) {
-			return "Name";
+			return Translation.get("gb.name");
 		}
 
 		public Class<?> getColumnClass(int columnIndex) {

--
Gitblit v1.9.1