From fe326255202dcfac8b0991ca9d28e3cf4bcc4fe6 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Sun, 23 Oct 2011 12:28:48 -0400 Subject: [PATCH] Per-repository setting to skip summary metrics --- src/com/gitblit/client/EditRepositoryDialog.java | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 42 insertions(+), 1 deletions(-) diff --git a/src/com/gitblit/client/EditRepositoryDialog.java b/src/com/gitblit/client/EditRepositoryDialog.java index 0955d7b..55f5268 100644 --- a/src/com/gitblit/client/EditRepositoryDialog.java +++ b/src/com/gitblit/client/EditRepositoryDialog.java @@ -24,6 +24,7 @@ import java.awt.Insets; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.KeyEvent; import java.text.MessageFormat; import java.util.ArrayList; import java.util.Arrays; @@ -42,8 +43,10 @@ import javax.swing.JList; import javax.swing.JOptionPane; import javax.swing.JPanel; +import javax.swing.JRootPane; import javax.swing.JTabbedPane; import javax.swing.JTextField; +import javax.swing.KeyStroke; import javax.swing.ListCellRenderer; import com.gitblit.Constants.AccessRestrictionType; @@ -59,6 +62,8 @@ public class EditRepositoryDialog extends JDialog { private static final long serialVersionUID = 1L; + + private final String repositoryName; private final RepositoryModel repository; @@ -77,6 +82,10 @@ private JCheckBox showRemoteBranches; private JCheckBox showReadme; + + private JCheckBox skipSizeCalculation; + + private JCheckBox skipSummaryMetrics; private JCheckBox isFrozen; @@ -100,6 +109,7 @@ public EditRepositoryDialog(RepositoryModel aRepository) { super(); + this.repositoryName = aRepository.name; this.repository = new RepositoryModel(); this.repositoryNames = new HashSet<String>(); this.isCreate = false; @@ -108,6 +118,18 @@ setResizable(false); setTitle(Translation.get("gb.edit") + ": " + aRepository.name); setIconImage(new ImageIcon(getClass().getResource("/gitblt-favicon.png")).getImage()); + } + + @Override + protected JRootPane createRootPane() { + KeyStroke stroke = KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0); + JRootPane rootPane = new JRootPane(); + rootPane.registerKeyboardAction(new ActionListener() { + public void actionPerformed(ActionEvent actionEvent) { + setVisible(false); + } + }, stroke, JComponent.WHEN_IN_FOCUSED_WINDOW); + return rootPane; } private void initialize(RepositoryModel anRepository) { @@ -128,6 +150,10 @@ anRepository.showRemoteBranches); showReadme = new JCheckBox(Translation.get("gb.showReadmeDescription"), anRepository.showReadme); + skipSizeCalculation = new JCheckBox(Translation.get("gb.skipSizeCalculationDescription"), + anRepository.skipSizeCalculation); + skipSummaryMetrics = new JCheckBox(Translation.get("gb.skipSummaryMetricsDescription"), + anRepository.skipSummaryMetrics); isFrozen = new JCheckBox(Translation.get("gb.isFrozenDescription"), anRepository.isFrozen); accessRestriction = new JComboBox(AccessRestrictionType.values()); @@ -156,6 +182,10 @@ fieldsPanel .add(newFieldPanel(Translation.get("gb.showRemoteBranches"), showRemoteBranches)); fieldsPanel.add(newFieldPanel(Translation.get("gb.showReadme"), showReadme)); + fieldsPanel.add(newFieldPanel(Translation.get("gb.skipSizeCalculation"), + skipSizeCalculation)); + fieldsPanel + .add(newFieldPanel(Translation.get("gb.skipSummaryMetrics"), skipSummaryMetrics)); fieldsPanel.add(newFieldPanel(Translation.get("gb.isFrozen"), isFrozen)); usersPalette = new JPalette<String>(); @@ -216,7 +246,6 @@ getContentPane().setLayout(new BorderLayout(5, 5)); getContentPane().add(centerPanel, BorderLayout.CENTER); pack(); - setLocationRelativeTo(null); } private JPanel newFieldPanel(String label, JComponent comp) { @@ -273,6 +302,16 @@ "Can not create repository ''{0}'' because it already exists.", rname)); return false; } + } else { + // check rename collision + if (!repositoryName.equalsIgnoreCase(rname)) { + if (repositoryNames.contains(rname.toLowerCase())) { + error(MessageFormat.format( + "Failed to rename ''{0}'' because ''{1}'' already exists.", + repositoryName, rname)); + return false; + } + } } if (accessRestriction.getSelectedItem() == null) { @@ -293,6 +332,8 @@ repository.useDocs = useDocs.isSelected(); repository.showRemoteBranches = showRemoteBranches.isSelected(); repository.showReadme = showReadme.isSelected(); + repository.skipSizeCalculation = skipSizeCalculation.isSelected(); + repository.skipSummaryMetrics = skipSummaryMetrics.isSelected(); repository.isFrozen = isFrozen.isSelected(); repository.accessRestriction = (AccessRestrictionType) accessRestriction.getSelectedItem(); -- Gitblit v1.9.1