diff options
author | James Moger <james.moger@gitblit.com> | 2011-11-04 17:24:45 -0400 |
---|---|---|
committer | James Moger <james.moger@gitblit.com> | 2011-11-04 17:24:45 -0400 |
commit | 9119cf9d89257717b486c59b73bacc7c375501fc (patch) | |
tree | ce67aa47523abec604f60a5d4fcee7c36702cd01 /src/com/gitblit/client/RepositoriesPanel.java | |
parent | 33d8d8b21c5586f1328c8c3e7f6049037ae5fd0d (diff) | |
download | gitblit-9119cf9d89257717b486c59b73bacc7c375501fc.tar.gz gitblit-9119cf9d89257717b486c59b73bacc7c375501fc.zip |
Search added to gbapi. Search dialog for Manager. Misc Manager fixes.
Diffstat (limited to 'src/com/gitblit/client/RepositoriesPanel.java')
-rw-r--r-- | 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 20b90807..3e156e97 100644 --- a/src/com/gitblit/client/RepositoriesPanel.java +++ b/src/com/gitblit/client/RepositoriesPanel.java @@ -134,6 +134,15 @@ public abstract class RepositoriesPanel extends JPanel { }
});
+ 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 @@ public abstract class RepositoriesPanel extends JPanel { 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 @@ public abstract class RepositoriesPanel extends JPanel { 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 @@ public abstract class RepositoriesPanel extends JPanel { }
}
+ protected void searchRepository(final RepositoryModel repository) {
+ SearchDialog searchDialog = new SearchDialog(gitblit);
+ if (repository != null) {
+ searchDialog.selectRepository(repository);
+ }
+ searchDialog.setLocationRelativeTo(this);
+ searchDialog.setVisible(true);
+ }
}
|