From c7a721aad7c23640d59ad682854e066f4538436c Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Thu, 10 Nov 2011 07:56:07 -0500 Subject: [PATCH] Show busy cursors when executing workers --- src/com/gitblit/client/RepositoriesPanel.java | 42 ++++++++++++++++++++++++++++++++++++++++-- 1 files changed, 40 insertions(+), 2 deletions(-) diff --git a/src/com/gitblit/client/RepositoriesPanel.java b/src/com/gitblit/client/RepositoriesPanel.java index 20b9080..70ff6cf 100644 --- a/src/com/gitblit/client/RepositoriesPanel.java +++ b/src/com/gitblit/client/RepositoriesPanel.java @@ -134,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(); @@ -165,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); @@ -216,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"); @@ -449,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