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/GitblitPanel.java |   35 ++++++++++++++++++++++++++++++++++-
 1 files changed, 34 insertions(+), 1 deletions(-)

diff --git a/src/com/gitblit/client/GitblitPanel.java b/src/com/gitblit/client/GitblitPanel.java
index 7bcaac5..8635b00 100644
--- a/src/com/gitblit/client/GitblitPanel.java
+++ b/src/com/gitblit/client/GitblitPanel.java
@@ -25,6 +25,8 @@
 import java.awt.event.ActionListener;
 import java.awt.event.KeyAdapter;
 import java.awt.event.KeyEvent;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
 import java.io.IOException;
 import java.net.URI;
 import java.text.MessageFormat;
@@ -50,6 +52,7 @@
 import com.gitblit.Constants.RpcRequest;
 import com.gitblit.client.ClosableTabComponent.CloseTabListener;
 import com.gitblit.models.RepositoryModel;
+import com.gitblit.models.SettingModel;
 import com.gitblit.models.UserModel;
 import com.gitblit.utils.StringUtils;
 
@@ -114,7 +117,6 @@
 		tabs = new JTabbedPane(JTabbedPane.BOTTOM);
 		tabs.addTab(Translation.get("gb.repositories"), createRepositoriesPanel());
 		tabs.addTab(Translation.get("gb.users"), createUsersPanel());
-		tabs.addTab(Translation.get("gb.federation"), new JPanel());
 		tabs.addTab(Translation.get("gb.settings"), createSettingsPanel());
 
 		setLayout(new BorderLayout());
@@ -209,6 +211,14 @@
 							&& (gitblit.allowAdmin() || gitblit.isOwner(model)));
 				} else {
 					editRepository.setEnabled(false);
+				}
+			}
+		});
+
+		repositoriesTable.addMouseListener(new MouseAdapter() {
+			public void mouseClicked(MouseEvent e) {
+				if (e.getClickCount() == 2 && gitblit.allowAdmin()) {
+					editRepository(getSelectedRepositories().get(0));
 				}
 			}
 		});
@@ -319,6 +329,14 @@
 			}
 		});
 
+		usersTable.addMouseListener(new MouseAdapter() {
+			public void mouseClicked(MouseEvent e) {
+				if (e.getClickCount() == 2) {
+					editUser(getSelectedUsers().get(0));
+				}
+			}
+		});
+
 		final JTextField userFilter = new JTextField();
 		userFilter.addActionListener(new ActionListener() {
 			public void actionPerformed(ActionEvent e) {
@@ -362,9 +380,11 @@
 	}
 
 	private JPanel createSettingsPanel() {
+		final SettingPanel settingPanel = new SettingPanel();
 		settingsModel = new SettingsModel();
 		defaultSettingsSorter = new TableRowSorter<SettingsModel>(settingsModel);
 		settingsTable = Utils.newTable(settingsModel);
+		settingsTable.setDefaultRenderer(SettingModel.class, new SettingCellRenderer());
 		String name = settingsTable.getColumnName(UsersModel.Columns.Name.ordinal());
 		settingsTable.setRowHeight(nameRenderer.getFont().getSize() + 8);
 		settingsTable.getColumn(name).setCellRenderer(nameRenderer);
@@ -380,6 +400,14 @@
 				boolean selected = settingsTable.getSelectedRow() > -1;
 				boolean singleSelection = settingsTable.getSelectedRows().length == 1;
 				// TODO enable/disable setting buttons
+				if (singleSelection) {
+					int viewRow = settingsTable.getSelectedRow();
+					int modelRow = settingsTable.convertRowIndexToModel(viewRow);
+					SettingModel setting = settingsModel.get(modelRow);
+					settingPanel.setSetting(setting);
+				} else {
+					settingPanel.clear();
+				}
 			}
 		});
 
@@ -402,6 +430,7 @@
 		JPanel settingsTablePanel = new JPanel(new BorderLayout(margin, margin));
 		settingsTablePanel.add(settingFilterPanel, BorderLayout.NORTH);
 		settingsTablePanel.add(new JScrollPane(settingsTable), BorderLayout.CENTER);
+		settingsTablePanel.add(settingPanel, BorderLayout.SOUTH);
 
 		JPanel settingsControls = new JPanel(new FlowLayout(FlowLayout.CENTER, 5, 0));
 		// TODO update setting?
@@ -576,6 +605,7 @@
 	 */
 	protected void createRepository() {
 		EditRepositoryDialog dialog = new EditRepositoryDialog();
+		dialog.setLocationRelativeTo(GitblitPanel.this);
 		dialog.setUsers(null, gitblit.getUsernames(), null);
 		dialog.setRepositories(gitblit.getRepositories());
 		dialog.setVisible(true);
@@ -622,6 +652,7 @@
 	 */
 	protected void editRepository(final RepositoryModel repository) {
 		EditRepositoryDialog dialog = new EditRepositoryDialog(repository);
+		dialog.setLocationRelativeTo(GitblitPanel.this);
 		List<String> usernames = gitblit.getUsernames();
 		List<String> members = gitblit.getPermittedUsernames(repository);
 		dialog.setUsers(repository.owner, usernames, members);
@@ -724,6 +755,7 @@
 	 */
 	protected void createUser() {
 		EditUserDialog dialog = new EditUserDialog(gitblit.getSettings());
+		dialog.setLocationRelativeTo(GitblitPanel.this);
 		dialog.setUsers(gitblit.getUsers());
 		dialog.setRepositories(gitblit.getRepositories(), null);
 		dialog.setVisible(true);
@@ -765,6 +797,7 @@
 	 */
 	protected void editUser(final UserModel user) {
 		EditUserDialog dialog = new EditUserDialog(user, gitblit.getSettings());
+		dialog.setLocationRelativeTo(GitblitPanel.this);
 		dialog.setRepositories(gitblit.getRepositories(), new ArrayList<String>(user.repositories));
 		dialog.setVisible(true);
 		final UserModel revisedUser = dialog.getUser();

--
Gitblit v1.9.1