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