From fc42a53629eee92eb4155326841a270907640209 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 21 Oct 2011 17:48:48 -0400
Subject: [PATCH] Documentation and some .gitignore updates

---
 src/com/gitblit/client/EditUserDialog.java |   29 ++++++++++++++++++++++-------
 1 files changed, 22 insertions(+), 7 deletions(-)

diff --git a/src/com/gitblit/client/EditUserDialog.java b/src/com/gitblit/client/EditUserDialog.java
index c60b2b2..0a1ddd9 100644
--- a/src/com/gitblit/client/EditUserDialog.java
+++ b/src/com/gitblit/client/EditUserDialog.java
@@ -23,11 +23,13 @@
 import java.awt.Insets;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
+import java.awt.event.KeyEvent;
 import java.text.MessageFormat;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
 import java.util.Set;
 
 import javax.swing.ImageIcon;
@@ -39,12 +41,14 @@
 import javax.swing.JOptionPane;
 import javax.swing.JPanel;
 import javax.swing.JPasswordField;
+import javax.swing.JRootPane;
 import javax.swing.JTextField;
+import javax.swing.KeyStroke;
 
 import com.gitblit.Constants.AccessRestrictionType;
-import com.gitblit.IStoredSettings;
 import com.gitblit.Keys;
 import com.gitblit.models.RepositoryModel;
+import com.gitblit.models.SettingModel;
 import com.gitblit.models.UserModel;
 import com.gitblit.utils.StringUtils;
 
@@ -54,7 +58,7 @@
 
 	private final UserModel user;
 
-	private final IStoredSettings settings;
+	private final Map<String, SettingModel> settings;
 
 	private boolean isCreate;
 	
@@ -74,13 +78,13 @@
 
 	private Set<String> usernames;
 
-	public EditUserDialog(IStoredSettings settings) {
+	public EditUserDialog(Map<String, SettingModel> settings) {
 		this(new UserModel(""), settings);
 		this.isCreate = true;
 		setTitle(Translation.get("gb.newUser"));		
 	}
 
-	public EditUserDialog(UserModel anUser, IStoredSettings settings) {
+	public EditUserDialog(UserModel anUser, Map<String, SettingModel> settings) {
 		super();
 		this.user = new UserModel("");
 		this.settings = settings;
@@ -90,6 +94,18 @@
 		setModal(true);
 		setTitle(Translation.get("gb.edit") + ": " + anUser.username);
 		setIconImage(new ImageIcon(getClass().getResource("/gitblt-favicon.png")).getImage());
+	}
+	
+	@Override
+	protected JRootPane createRootPane() {
+		KeyStroke stroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0);
+		JRootPane rootPane = new JRootPane();
+		rootPane.registerKeyboardAction(new ActionListener() {
+			public void actionPerformed(ActionEvent actionEvent) {
+				setVisible(false);
+			}
+		}, stroke, JComponent.WHEN_IN_FOCUSED_WINDOW);
+		return rootPane;
 	}
 
 	private void initialize(UserModel anUser) {
@@ -154,7 +170,6 @@
 		getContentPane().setLayout(new BorderLayout(5, 5));
 		getContentPane().add(centerPanel, BorderLayout.CENTER);
 		pack();
-		setLocationRelativeTo(null);
 	}
 
 	private JPanel newFieldPanel(String label, JComponent comp) {
@@ -182,7 +197,7 @@
 			}
 		}
 
-		int minLength = settings.getInteger(Keys.realm.minPasswordLength, 5);
+		int minLength = settings.get(Keys.realm.minPasswordLength).getInteger(5);
 		if (minLength < 4) {
 			minLength = 4;
 		}
@@ -202,7 +217,7 @@
 			return false;
 		}
 		user.username = uname;
-		String type = settings.getString(Keys.realm.passwordStorage, "md5");
+		String type = settings.get(Keys.realm.passwordStorage).getString("md5");
 		if (type.equalsIgnoreCase("md5")) {
 			// store MD5 digest of password
 			user.password = StringUtils.MD5_TYPE + StringUtils.getMD5(new String(pw));

--
Gitblit v1.9.1