src/com/gitblit/client/GitblitClient.java | ●●●●● patch | view | raw | blame | history | |
src/com/gitblit/client/GitblitPanel.java | ●●●●● patch | view | raw | blame | history | |
src/com/gitblit/client/HeaderPanel.java | ●●●●● patch | view | raw | blame | history | |
src/com/gitblit/client/UsersTableModel.java | ●●●●● patch | view | raw | blame | history | |
src/com/gitblit/wicket/GitBlitWebApp.properties | ●●●●● patch | view | raw | blame | history |
src/com/gitblit/client/GitblitClient.java
@@ -86,7 +86,7 @@ } try { settings = RpcUtils.getSettings(url, account, password); refreshSettings(); status = RpcUtils.getStatus(url, account, password); allowAdministration = true; } catch (UnauthorizedException e) { @@ -136,6 +136,11 @@ allUsers.addAll(users); return allUsers; } public ServerSettings refreshSettings() throws IOException { settings = RpcUtils.getSettings(url, account, password); return settings; } public List<FederationModel> refreshFederationRegistrations() throws IOException { List<FederationModel> list = RpcUtils.getFederationRegistrations(url, account, password); 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(); } } src/com/gitblit/client/HeaderPanel.java
@@ -17,13 +17,16 @@ import java.awt.BasicStroke; import java.awt.Color; import java.awt.FlowLayout; import java.awt.GradientPaint; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.GridLayout; import java.awt.Insets; import java.awt.Paint; import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.text.SimpleDateFormat; import java.util.Date; import javax.swing.ImageIcon; import javax.swing.JLabel; @@ -35,20 +38,42 @@ private static final long serialVersionUID = 1L; private final Insets insets = new Insets(5, 5, 5, 5); private Color lightColor = new Color(0, 0, 0x60); private JLabel headerLabel; private JLabel refreshLabel; public HeaderPanel(String text, String icon) { super(new FlowLayout(FlowLayout.LEFT), true); // super(new FlowLayout(FlowLayout.LEFT), true); super(new GridLayout(1, 2, 5, 5), true); setOpaque(true); setBackground(new Color(0, 0, 0x20)); JLabel label = new JLabel(text); headerLabel = new JLabel(text); if (!StringUtils.isEmpty(icon)) { label.setIcon(new ImageIcon(getClass().getResource("/" + icon))); headerLabel.setIcon(new ImageIcon(getClass().getResource("/" + icon))); } label.setForeground(Color.white); label.setFont(label.getFont().deriveFont(14f)); add(label); headerLabel.setForeground(Color.white); headerLabel.setFont(headerLabel.getFont().deriveFont(14f)); add(headerLabel); refreshLabel = new JLabel("", JLabel.RIGHT); refreshLabel.setForeground(Color.white); add(refreshLabel); } public void setText(String text) { headerLabel.setText(text); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); refreshLabel.setText("refreshed " + df.format(new Date())); } @Override public Insets getInsets() { return insets; } @Override src/com/gitblit/client/UsersTableModel.java
@@ -36,7 +36,7 @@ List<UserModel> list; enum Columns { Name; Name, AccessLevel; @Override public String toString() { @@ -69,6 +69,8 @@ switch (col) { case Name: return Translation.get("gb.name"); case AccessLevel: return Translation.get("gb.accessLevel"); } return ""; } @@ -91,6 +93,10 @@ switch (col) { case Name: return model.username; case AccessLevel: if (model.canAdmin) { return "administrator"; } } return null; } src/com/gitblit/wicket/GitBlitWebApp.properties
@@ -162,4 +162,5 @@ gb.skipSizeCalculation = skip size calculation gb.skipSizeCalculationDescription = do not calculate the repository size (reduces page load time) gb.skipSummaryMetrics = skip summary metrics gb.skipSummaryMetricsDescription = do not calculate metrics on the summary page (reduces page load time) gb.skipSummaryMetricsDescription = do not calculate metrics on the summary page (reduces page load time) gb.accessLevel = access level