From f306ef8552efe1580e9c16e1d944f5ed1dca4aae Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Mon, 24 Oct 2011 16:33:40 -0400 Subject: [PATCH] Object counts and refresh labels on all header panels --- src/com/gitblit/client/GitblitPanel.java | 51 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 43 insertions(+), 8 deletions(-) diff --git a/src/com/gitblit/client/GitblitPanel.java b/src/com/gitblit/client/GitblitPanel.java index 31de44e..a9d7b46 100644 --- a/src/com/gitblit/client/GitblitPanel.java +++ b/src/com/gitblit/client/GitblitPanel.java @@ -107,6 +107,12 @@ private JButton editRepository; + private HeaderPanel repositoriesHeader; + + private HeaderPanel usersHeader; + + private HeaderPanel settingsHeader; + public GitblitPanel(GitblitRegistration reg) { this(reg.url, reg.account, reg.password); } @@ -259,8 +265,9 @@ return insets; } }; - repositoriesPanel.add(new HeaderPanel(Translation.get("gb.repositories"), - "gitweb-favicon.png"), BorderLayout.NORTH); + repositoriesHeader = new HeaderPanel(Translation.get("gb.repositories"), + "gitweb-favicon.png"); + repositoriesPanel.add(repositoriesHeader, BorderLayout.NORTH); repositoriesPanel.add(repositoryTablePanel, BorderLayout.CENTER); repositoriesPanel.add(repositoryControls, BorderLayout.SOUTH); @@ -372,8 +379,8 @@ return insets; } }; - usersPanel.add(new HeaderPanel(Translation.get("gb.users"), "user_16x16.png"), - BorderLayout.NORTH); + usersHeader = new HeaderPanel(Translation.get("gb.users"), "user_16x16.png"); + usersPanel.add(usersHeader, BorderLayout.NORTH); usersPanel.add(userTablePanel, BorderLayout.CENTER); usersPanel.add(userControls, BorderLayout.SOUTH); @@ -381,6 +388,13 @@ } private JPanel createSettingsPanel() { + JButton refreshSettings = new JButton(Translation.get("gb.refresh")); + refreshSettings.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + refreshSettings(); + } + }); + final SettingPanel settingPanel = new SettingPanel(); settingsModel = new SettingsTableModel(); defaultSettingsSorter = new TableRowSorter<SettingsTableModel>(settingsModel); @@ -434,6 +448,7 @@ settingsTablePanel.add(settingPanel, BorderLayout.SOUTH); JPanel settingsControls = new JPanel(new FlowLayout(FlowLayout.CENTER, 5, 0)); + settingsControls.add(refreshSettings); // TODO update setting? JPanel settingsPanel = new JPanel(new BorderLayout(margin, margin)) { @@ -444,8 +459,8 @@ return insets; } }; - settingsPanel.add(new HeaderPanel(Translation.get("gb.settings"), "settings_16x16.png"), - BorderLayout.NORTH); + settingsHeader = new HeaderPanel(Translation.get("gb.settings"), "settings_16x16.png"); + settingsPanel.add(settingsHeader, BorderLayout.NORTH); settingsPanel.add(settingsTablePanel, BorderLayout.CENTER); settingsPanel.add(settingsControls, BorderLayout.SOUTH); @@ -478,11 +493,11 @@ } else { // remove the settings tab String settingsTitle = Translation.get("gb.settings"); - for (int i= 0; i < tabs.getTabCount(); i++) { + for (int i = 0; i < tabs.getTabCount(); i++) { if (tabs.getTitleAt(i).equals(settingsTitle)) { tabs.removeTabAt(i); break; - } + } } } } @@ -491,17 +506,21 @@ repositoriesModel.list.clear(); repositoriesModel.list.addAll(gitblit.getRepositories()); repositoriesModel.fireTableDataChanged(); + repositoriesHeader.setText(Translation.get("gb.repositories") + " (" + + gitblit.getRepositories().size() + ")"); } private void updateUsersTable() { usersModel.list.clear(); usersModel.list.addAll(gitblit.getUsers()); usersModel.fireTableDataChanged(); + usersHeader.setText(Translation.get("gb.users") + " (" + gitblit.getUsers().size() + ")"); } private void updateSettingsTable() { settingsModel.setSettings(gitblit.getSettings()); settingsModel.fireTableDataChanged(); + settingsHeader.setText(Translation.get("gb.settings")); } private void filterRepositories(final String fragment) { @@ -882,4 +901,20 @@ worker.execute(); } } + + protected void refreshSettings() { + GitblitWorker worker = new GitblitWorker(GitblitPanel.this, RpcRequest.LIST_SETTINGS) { + @Override + protected Boolean doRequest() throws IOException { + gitblit.refreshSettings(); + return true; + } + + @Override + protected void onSuccess() { + updateSettingsTable(); + } + }; + worker.execute(); + } } \ No newline at end of file -- Gitblit v1.9.1