From b75734f0600c333d70a3659af82be54caf3cfd3e Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Fri, 21 Oct 2011 17:34:12 -0400
Subject: [PATCH] Revised settings RPC to be Map<String, SettingModel>.

---
 src/com/gitblit/client/GitblitPanel.java |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/src/com/gitblit/client/GitblitPanel.java b/src/com/gitblit/client/GitblitPanel.java
index f0d04b7..8635b00 100644
--- a/src/com/gitblit/client/GitblitPanel.java
+++ b/src/com/gitblit/client/GitblitPanel.java
@@ -52,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;
 
@@ -116,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());
@@ -380,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);
@@ -398,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();
+				}
 			}
 		});
 
@@ -420,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?

--
Gitblit v1.9.1