From 6477ce2aa8540fedbec7ebba5656cd3968e78019 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Wed, 02 Nov 2011 19:25:49 -0400
Subject: [PATCH] Populate author selector based on repository selector
---
src/com/gitblit/client/FeedsPanel.java | 27 ++++++++++++++++++++++++---
1 files changed, 24 insertions(+), 3 deletions(-)
diff --git a/src/com/gitblit/client/FeedsPanel.java b/src/com/gitblit/client/FeedsPanel.java
index 0492b95..60d2d5f 100644
--- a/src/com/gitblit/client/FeedsPanel.java
+++ b/src/com/gitblit/client/FeedsPanel.java
@@ -174,6 +174,18 @@
repositorySelector.setForeground(nameRenderer.getForeground());
repositorySelector.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent event) {
+ // repopulate the author list based on repository selection
+ // preserve author selection, if possible
+ String selectedAuthor = null;
+ if (authorSelector.getSelectedIndex() > -1) {
+ selectedAuthor = authorSelector.getSelectedItem().toString();
+ }
+ updateAuthors();
+ if (selectedAuthor != null) {
+ if (authorChoices.getIndexOf(selectedAuthor) > -1) {
+ authorChoices.setSelectedItem(selectedAuthor);
+ }
+ }
filterFeeds();
}
});
@@ -235,12 +247,10 @@
if (pack) {
Utils.packColumns(table, Utils.MARGIN);
}
- // determine unique repositories and authors
+ // determine unique repositories
Set<String> uniqueRepositories = new HashSet<String>();
- Set<String> uniqueAuthors = new HashSet<String>();
for (SyndicatedEntryModel entry : tableModel.entries) {
uniqueRepositories.add(entry.repository);
- uniqueAuthors.add(entry.author);
}
// repositories
@@ -251,7 +261,18 @@
for (String repo : sortedRespositories) {
repositoryChoices.addElement(repo);
}
+ }
+ private void updateAuthors() {
+ String repository = repositorySelector.getSelectedItem().toString();
+
+ // determine unique repositories and authors
+ Set<String> uniqueAuthors = new HashSet<String>();
+ for (SyndicatedEntryModel entry : tableModel.entries) {
+ if (repository.equals(ALL) || entry.repository.equalsIgnoreCase(repository)) {
+ uniqueAuthors.add(entry.author);
+ }
+ }
// authors
List<String> sortedAuthors = new ArrayList<String>(uniqueAuthors);
Collections.sort(sortedAuthors);
--
Gitblit v1.9.1