James Moger
2011-10-26 a70b43cde76b4baab82b4ce0d9ff82883f80b8df
src/com/gitblit/client/GitblitPanel.java
@@ -118,6 +118,8 @@
   private HeaderPanel settingsHeader;
   private StatusPanel statusPanel;
   public GitblitPanel(GitblitRegistration reg) {
      this(reg.url, reg.account, reg.password);
   }
@@ -129,6 +131,7 @@
      tabs.addTab(Translation.get("gb.repositories"), createRepositoriesPanel());
      tabs.addTab(Translation.get("gb.users"), createUsersPanel());
      tabs.addTab(Translation.get("gb.settings"), createSettingsPanel());
      tabs.addTab(Translation.get("gb.status"), createStatusPanel());
      setLayout(new BorderLayout());
      add(tabs, BorderLayout.CENTER);
@@ -482,11 +485,29 @@
      return settingsPanel;
   }
   private JPanel createStatusPanel() {
      JButton refreshStatus = new JButton(Translation.get("gb.refresh"));
      refreshStatus.addActionListener(new ActionListener() {
         public void actionPerformed(ActionEvent e) {
            refreshStatus();
         }
      });
      JPanel controls = new JPanel();
      controls.add(refreshStatus);
      JPanel panel = new JPanel(new BorderLayout());
      statusPanel = new StatusPanel();
      panel.add(statusPanel, BorderLayout.CENTER);
      panel.add(controls, BorderLayout.SOUTH);
      return panel;
   }
   public void login() throws IOException {
      gitblit.login();
      updateRepositoriesTable();
      Utils.packColumns(repositoriesTable, 2);
      Utils.packColumns(repositoriesTable, 5);
      if (gitblit.allowManagement()) {
         updateUsersTable();
@@ -505,6 +526,8 @@
      if (gitblit.allowAdministration()) {
         updateSettingsTable();
         updateStatusPanel();
         Utils.packColumns(settingsTable, 5);
      } else {
         // remove the settings tab
         String settingsTitle = Translation.get("gb.settings");
@@ -536,6 +559,10 @@
      settingsModel.setSettings(gitblit.getSettings());
      settingsModel.fireTableDataChanged();
      settingsHeader.setText(Translation.get("gb.settings"));
   }
   private void updateStatusPanel() {
      statusPanel.setStatus(gitblit.getStatus());
   }
   private void filterRepositories(final String fragment) {
@@ -656,6 +683,7 @@
      dialog.setLocationRelativeTo(GitblitPanel.this);
      dialog.setUsers(null, gitblit.getUsernames(), null);
      dialog.setRepositories(gitblit.getRepositories());
      dialog.setFederationSets(gitblit.getFederationSets(), null);
      dialog.setVisible(true);
      final RepositoryModel newRepository = dialog.getRepository();
      final List<String> permittedUsers = dialog.getPermittedUsers();
@@ -933,6 +961,22 @@
      worker.execute();
   }
   protected void refreshStatus() {
      GitblitWorker worker = new GitblitWorker(GitblitPanel.this, RpcRequest.LIST_STATUS) {
         @Override
         protected Boolean doRequest() throws IOException {
            gitblit.refreshStatus();
            return true;
         }
         @Override
         protected void onSuccess() {
            updateStatusPanel();
         }
      };
      worker.execute();
   }
   protected void editSetting(final SettingModel settingModel) {
      final JTextField textField = new JTextField(settingModel.currentValue);
      JPanel editPanel = new JPanel(new GridLayout(0, 1));
@@ -948,8 +992,8 @@
      if (settingModel.currentValue.equals(settingModel.defaultValue)) {
         options = new String[] { Translation.get("gb.cancel"), Translation.get("gb.save") };
      } else {
         options = new String[] { Translation.get("gb.cancel"), Translation.get("gb.setDefault"),
               Translation.get("gb.save") };
         options = new String[] { Translation.get("gb.cancel"),
               Translation.get("gb.setDefault"), Translation.get("gb.save") };
      }
      String defaultOption = options[0];
      int selection = JOptionPane.showOptionDialog(GitblitPanel.this, settingPanel,