From eba89539a29deba954035056437279088c3e047b Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 22 Oct 2012 16:52:48 -0400 Subject: [PATCH] Tweak permissions panel layout a bit --- src/com/gitblit/client/GitblitPanel.java | 55 ++++++++++++++++++++++++++++++++++++++++++++++++------- 1 files changed, 48 insertions(+), 7 deletions(-) diff --git a/src/com/gitblit/client/GitblitPanel.java b/src/com/gitblit/client/GitblitPanel.java index 6c65328..f14ce79 100644 --- a/src/com/gitblit/client/GitblitPanel.java +++ b/src/com/gitblit/client/GitblitPanel.java @@ -30,8 +30,7 @@ import com.gitblit.models.FeedModel; /** - * GitblitPanel performs the login, all business logic, and contains all widgets - * to represent the state of a repository for the given account credentials. + * GitblitPanel is a container for the repository, users, settings, etc panels. * * @author James Moger * @@ -51,6 +50,8 @@ private FeedsPanel feedsPanel; private UsersPanel usersPanel; + + private TeamsPanel teamsPanel; private SettingsPanel settingsPanel; @@ -62,15 +63,16 @@ tabs = new JTabbedPane(JTabbedPane.BOTTOM); tabs.addTab(Translation.get("gb.repositories"), createRepositoriesPanel()); - tabs.addTab(Translation.get("gb.recentActivity"), createFeedsPanel()); + tabs.addTab(Translation.get("gb.activity"), createFeedsPanel()); + tabs.addTab(Translation.get("gb.teams"), createTeamsPanel()); tabs.addTab(Translation.get("gb.users"), createUsersPanel()); tabs.addTab(Translation.get("gb.settings"), createSettingsPanel()); tabs.addTab(Translation.get("gb.status"), createStatusPanel()); tabs.addChangeListener(new ChangeListener() { public void stateChanged(ChangeEvent e) { - tabs.getSelectedComponent().requestFocus(); + tabs.getSelectedComponent().requestFocus(); } - }); + }); setLayout(new BorderLayout()); add(tabs, BorderLayout.CENTER); @@ -90,6 +92,11 @@ protected void updateUsersTable() { usersPanel.updateTable(false); } + + @Override + protected void updateTeamsTable() { + teamsPanel.updateTable(false); + } }; return repositoriesPanel; @@ -108,9 +115,30 @@ } private JPanel createUsersPanel() { - usersPanel = new UsersPanel(gitblit); + usersPanel = new UsersPanel(gitblit) { + + private static final long serialVersionUID = 1L; + + @Override + protected void updateTeamsTable() { + teamsPanel.updateTable(false); + } + }; return usersPanel; } + + private JPanel createTeamsPanel() { + teamsPanel = new TeamsPanel(gitblit) { + + private static final long serialVersionUID = 1L; + + @Override + protected void updateUsersTable() { + usersPanel.updateTable(false); + } + }; + return teamsPanel; + } private JPanel createSettingsPanel() { settingsPanel = new SettingsPanel(gitblit); @@ -129,6 +157,19 @@ feedsPanel.updateTable(true); if (gitblit.allowManagement()) { + if (gitblit.getProtocolVersion() >= 2) { + // refresh teams panel + teamsPanel.updateTable(false); + } else { + // remove teams panel + String teams = Translation.get("gb.teams"); + for (int i = 0; i < tabs.getTabCount(); i++) { + if (teams.equals(tabs.getTitleAt(i))) { + tabs.removeTabAt(i); + break; + } + } + } usersPanel.updateTable(false); } else { // user does not have administrator privileges @@ -145,7 +186,7 @@ settingsPanel.updateTable(true); statusPanel.updateTable(false); } else { - // remove the settings tab + // remove the settings and status tab String[] titles = { Translation.get("gb.settings"), Translation.get("gb.status") }; for (String title : titles) { for (int i = 0; i < tabs.getTabCount(); i++) { -- Gitblit v1.9.1