| | |
| | | import java.awt.BorderLayout;
|
| | | import java.awt.FlowLayout;
|
| | | import java.awt.Insets;
|
| | | import java.awt.Rectangle;
|
| | | import java.awt.event.ActionEvent;
|
| | | import java.awt.event.ActionListener;
|
| | | import java.awt.event.MouseAdapter;
|
| | |
| | |
|
| | | private JComboBox authorSelector;
|
| | |
|
| | | private int page;
|
| | |
|
| | | private JButton prev;
|
| | |
|
| | | private JButton next;
|
| | |
|
| | | public FeedsPanel(GitblitClient gitblit) {
|
| | | super();
|
| | | this.gitblit = gitblit;
|
| | |
| | | }
|
| | |
|
| | | private void initialize() {
|
| | |
|
| | | prev = new JButton("<");
|
| | | prev.setToolTipText(Translation.get("gb.pagePrevious"));
|
| | | prev.setEnabled(false);
|
| | | prev.addActionListener(new ActionListener() {
|
| | | public void actionPerformed(ActionEvent e) {
|
| | | refreshFeeds(--page);
|
| | | }
|
| | | });
|
| | |
|
| | | next = new JButton(">");
|
| | | next.setToolTipText(Translation.get("gb.pageNext"));
|
| | | next.setEnabled(false);
|
| | | next.addActionListener(new ActionListener() {
|
| | | public void actionPerformed(ActionEvent e) {
|
| | | refreshFeeds(++page);
|
| | | }
|
| | | });
|
| | |
|
| | | JButton refreshFeeds = new JButton(Translation.get("gb.refresh"));
|
| | | refreshFeeds.addActionListener(new ActionListener() {
|
| | | public void actionPerformed(ActionEvent e) {
|
| | | refreshFeeds();
|
| | | refreshFeeds(0);
|
| | | }
|
| | | });
|
| | |
|
| | |
| | | northControls.add(repositorySelector);
|
| | | northControls.add(new JLabel(Translation.get("gb.author")));
|
| | | northControls.add(authorSelector);
|
| | | // northControls.add(prev);
|
| | | // northControls.add(next);
|
| | |
|
| | | JPanel northPanel = new JPanel(new BorderLayout(0, Utils.MARGIN));
|
| | | northPanel.add(header, BorderLayout.NORTH);
|
| | |
| | | return Utils.INSETS;
|
| | | }
|
| | |
|
| | | protected void refreshFeeds() {
|
| | | protected void refreshFeeds(final int page) {
|
| | | this.page = page;
|
| | | GitblitWorker worker = new GitblitWorker(FeedsPanel.this, null) {
|
| | | @Override
|
| | | protected Boolean doRequest() throws IOException {
|
| | | gitblit.refreshSubscribedFeeds();
|
| | | gitblit.refreshSubscribedFeeds(page);
|
| | | return true;
|
| | | }
|
| | |
|
| | |
| | | tableModel.entries.addAll(gitblit.getSyndicatedEntries());
|
| | | tableModel.fireTableDataChanged();
|
| | | header.setText(Translation.get("gb.activity") + " ("
|
| | | + gitblit.getSyndicatedEntries().size() + ")");
|
| | | + gitblit.getSyndicatedEntries().size() + (page > 0 ? (", pg " + (page + 1)) : "")
|
| | | + ")");
|
| | | if (pack) {
|
| | | Utils.packColumns(table, Utils.MARGIN);
|
| | | }
|
| | | table.scrollRectToVisible(new Rectangle(table.getCellRect(0, 0, true)));
|
| | |
|
| | | if (page == 0) {
|
| | | // determine unique repositories
|
| | | Set<String> uniqueRepositories = new HashSet<String>();
|
| | | for (SyndicatedEntryModel entry : tableModel.entries) {
|
| | |
| | | }
|
| | | }
|
| | |
|
| | | // update pagination buttons
|
| | | next.setEnabled(tableModel.entries.size() > 0);
|
| | | prev.setEnabled(page > 0);
|
| | | }
|
| | |
|
| | | private void updateAuthors() {
|
| | | String repository = ALL;
|
| | | if (repositorySelector.getSelectedIndex() > -1) {
|