From d65f712ea3d8941f4b9145c0630c30c20af80d13 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 11 Nov 2011 17:22:21 -0500 Subject: [PATCH] Documentation. Add javadoc and source jars to the gbapi download. --- src/com/gitblit/client/RepositoriesPanel.java | 48 ++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 42 insertions(+), 6 deletions(-) diff --git a/src/com/gitblit/client/RepositoriesPanel.java b/src/com/gitblit/client/RepositoriesPanel.java index 1efc876..70ff6cf 100644 --- a/src/com/gitblit/client/RepositoriesPanel.java +++ b/src/com/gitblit/client/RepositoriesPanel.java @@ -26,7 +26,6 @@ import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.IOException; -import java.text.MessageFormat; import java.util.ArrayList; import java.util.List; @@ -91,9 +90,8 @@ browseRepository.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { RepositoryModel model = getSelectedRepositories().get(0); - String u = MessageFormat.format("{0}/summary/{1}", gitblit.url, - StringUtils.encodeURL(model.name)); - Utils.browse(u); + String url = gitblit.getURL("summary", model.name, null); + Utils.browse(url); } }); @@ -136,6 +134,24 @@ } }); + final JButton logRepository = new JButton(Translation.get("gb.log") + "..."); + logRepository.setEnabled(false); + logRepository.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + RepositoryModel model = getSelectedRepositories().get(0); + showSearchDialog(false, model); + } + }); + + final JButton searchRepository = new JButton(Translation.get("gb.search") + "..."); + searchRepository.setEnabled(false); + searchRepository.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + RepositoryModel model = getSelectedRepositories().get(0); + showSearchDialog(true, model); + } + }); + SubscribedRepositoryRenderer nameRenderer = new SubscribedRepositoryRenderer(gitblit); IndicatorsRenderer typeRenderer = new IndicatorsRenderer(); @@ -167,9 +183,19 @@ } boolean singleSelection = table.getSelectedRowCount() == 1; boolean selected = table.getSelectedRow() > -1; - browseRepository.setEnabled(singleSelection); + if (singleSelection) { + RepositoryModel repository = getSelectedRepositories().get(0); + browseRepository.setEnabled(repository.hasCommits); + logRepository.setEnabled(repository.hasCommits); + searchRepository.setEnabled(repository.hasCommits); + subscribeRepository.setEnabled(repository.hasCommits); + } else { + browseRepository.setEnabled(false); + logRepository.setEnabled(false); + searchRepository.setEnabled(false); + subscribeRepository.setEnabled(false); + } delRepository.setEnabled(selected); - subscribeRepository.setEnabled(singleSelection); if (selected) { int viewRow = table.getSelectedRow(); int modelRow = table.convertRowIndexToModel(viewRow); @@ -218,6 +244,8 @@ repositoryControls.add(editRepository); repositoryControls.add(delRepository); repositoryControls.add(subscribeRepository); + repositoryControls.add(logRepository); + repositoryControls.add(searchRepository); setLayout(new BorderLayout(Utils.MARGIN, Utils.MARGIN)); header = new HeaderPanel(Translation.get("gb.repositories"), "gitweb-favicon.png"); @@ -451,4 +479,12 @@ } } + private void showSearchDialog(boolean isSearch, final RepositoryModel repository) { + final SearchDialog dialog = new SearchDialog(gitblit, isSearch); + if (repository != null) { + dialog.selectRepository(repository); + } + dialog.setLocationRelativeTo(this); + dialog.setVisible(true); + } } -- Gitblit v1.9.1