From 33d8d8b21c5586f1328c8c3e7f6049037ae5fd0d Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 04 Nov 2011 17:22:06 -0400 Subject: [PATCH] Moved SearchType enum to Constants --- src/com/gitblit/client/FeedsPanel.java | 41 +++++++++++++++++++++++++++++++++-------- 1 files changed, 33 insertions(+), 8 deletions(-) diff --git a/src/com/gitblit/client/FeedsPanel.java b/src/com/gitblit/client/FeedsPanel.java index 0492b95..a8094f8 100644 --- a/src/com/gitblit/client/FeedsPanel.java +++ b/src/com/gitblit/client/FeedsPanel.java @@ -41,7 +41,6 @@ import javax.swing.event.ListSelectionListener; import javax.swing.table.TableRowSorter; -import com.gitblit.Constants.RpcRequest; import com.gitblit.models.FeedModel; import com.gitblit.models.SyndicatedEntryModel; import com.gitblit.utils.StringUtils; @@ -131,7 +130,7 @@ NameRenderer nameRenderer = new NameRenderer(); tableModel = new SyndicatedEntryTableModel(); - header = new HeaderPanel(Translation.get("gb.timeline"), "feed_16x16.png"); + header = new HeaderPanel(Translation.get("gb.activity"), "feed_16x16.png"); table = Utils.newTable(tableModel, Utils.DATE_FORMAT); defaultSorter = new TableRowSorter<SyndicatedEntryTableModel>(tableModel); String name = table.getColumnName(SyndicatedEntryTableModel.Columns.Author.ordinal()); @@ -142,6 +141,9 @@ name = table.getColumnName(SyndicatedEntryTableModel.Columns.Branch.ordinal()); table.getColumn(name).setCellRenderer(new BranchRenderer()); + + name = table.getColumnName(SyndicatedEntryTableModel.Columns.Message.ordinal()); + table.getColumn(name).setCellRenderer(new MessageRenderer(gitblit)); table.addMouseListener(new MouseAdapter() { public void mouseClicked(MouseEvent e) { @@ -174,6 +176,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(); } }); @@ -208,8 +222,7 @@ } protected void refreshFeeds() { - // TODO change request type here - GitblitWorker worker = new GitblitWorker(FeedsPanel.this, RpcRequest.LIST_USERS) { + GitblitWorker worker = new GitblitWorker(FeedsPanel.this, null) { @Override protected Boolean doRequest() throws IOException { gitblit.refreshSubscribedFeeds(); @@ -230,17 +243,15 @@ tableModel.entries.clear(); tableModel.entries.addAll(gitblit.getSyndicatedEntries()); tableModel.fireTableDataChanged(); - header.setText(Translation.get("gb.timeline") + " (" + header.setText(Translation.get("gb.activity") + " (" + gitblit.getSyndicatedEntries().size() + ")"); 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 +262,21 @@ for (String repo : sortedRespositories) { repositoryChoices.addElement(repo); } + } + private void updateAuthors() { + String repository = ALL; + if (repositorySelector.getSelectedIndex() > -1) { + 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