From 9119cf9d89257717b486c59b73bacc7c375501fc Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 04 Nov 2011 17:24:45 -0400 Subject: [PATCH] Search added to gbapi. Search dialog for Manager. Misc Manager fixes. --- src/com/gitblit/client/RepositoriesPanel.java | 34 ++++++++++++++++++++++++++++++---- 1 files changed, 30 insertions(+), 4 deletions(-) diff --git a/src/com/gitblit/client/RepositoriesPanel.java b/src/com/gitblit/client/RepositoriesPanel.java index 20b9080..3e156e9 100644 --- a/src/com/gitblit/client/RepositoriesPanel.java +++ b/src/com/gitblit/client/RepositoriesPanel.java @@ -134,6 +134,15 @@ } }); + 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); + searchRepository(model); + } + }); + SubscribedRepositoryRenderer nameRenderer = new SubscribedRepositoryRenderer(gitblit); IndicatorsRenderer typeRenderer = new IndicatorsRenderer(); @@ -164,10 +173,18 @@ return; } boolean singleSelection = table.getSelectedRowCount() == 1; - boolean selected = table.getSelectedRow() > -1; - browseRepository.setEnabled(singleSelection); - delRepository.setEnabled(selected); - subscribeRepository.setEnabled(singleSelection); + boolean selected = table.getSelectedRow() > -1; + if (singleSelection) { + RepositoryModel repository = getSelectedRepositories().get(0); + browseRepository.setEnabled(repository.hasCommits); + searchRepository.setEnabled(repository.hasCommits); + subscribeRepository.setEnabled(repository.hasCommits); + } else { + browseRepository.setEnabled(false); + searchRepository.setEnabled(false); + subscribeRepository.setEnabled(false); + } + delRepository.setEnabled(selected); if (selected) { int viewRow = table.getSelectedRow(); int modelRow = table.convertRowIndexToModel(viewRow); @@ -216,6 +233,7 @@ repositoryControls.add(editRepository); repositoryControls.add(delRepository); repositoryControls.add(subscribeRepository); + repositoryControls.add(searchRepository); setLayout(new BorderLayout(Utils.MARGIN, Utils.MARGIN)); header = new HeaderPanel(Translation.get("gb.repositories"), "gitweb-favicon.png"); @@ -449,4 +467,12 @@ } } + protected void searchRepository(final RepositoryModel repository) { + SearchDialog searchDialog = new SearchDialog(gitblit); + if (repository != null) { + searchDialog.selectRepository(repository); + } + searchDialog.setLocationRelativeTo(this); + searchDialog.setVisible(true); + } } -- Gitblit v1.9.1