| | |
| | | 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
|
| | | *
|
| | |
| | | private FeedsPanel feedsPanel;
|
| | |
|
| | | private UsersPanel usersPanel;
|
| | | |
| | | private TeamsPanel teamsPanel;
|
| | |
|
| | | private SettingsPanel settingsPanel;
|
| | |
|
| | |
| | |
|
| | | 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);
|
| | |
| | | protected void updateUsersTable() {
|
| | | usersPanel.updateTable(false);
|
| | | }
|
| | | |
| | | @Override
|
| | | protected void updateTeamsTable() {
|
| | | teamsPanel.updateTable(false);
|
| | | }
|
| | |
|
| | | };
|
| | | return repositoriesPanel;
|
| | |
| | | }
|
| | |
|
| | | 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);
|
| | |
| | | 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
|
| | |
| | | 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++) {
|