X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Freader%2Fui%2FGuiReaderSearchFrame.java;h=def9fc6f80c9ff7e4f5e5e2f1c55a4faea085680;hb=1387a30ab59dbf4071f2c5e5e0e08ca98c75b726;hp=11d45e41fc6374ae2e46af973b9d1e9478bfa44b;hpb=dc3b0033126c7f8158499b8ae9759a22f29d78ac;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/reader/ui/GuiReaderSearchFrame.java b/src/be/nikiroo/fanfix/reader/ui/GuiReaderSearchFrame.java index 11d45e4..def9fc6 100644 --- a/src/be/nikiroo/fanfix/reader/ui/GuiReaderSearchFrame.java +++ b/src/be/nikiroo/fanfix/reader/ui/GuiReaderSearchFrame.java @@ -34,12 +34,11 @@ public class GuiReaderSearchFrame extends JFrame { private static final long serialVersionUID = 1L; private List supportTypes; - private int page; - private int maxPage; private JComboBox comboSupportTypes; private ActionListener comboSupportTypesListener; private GuiReaderSearchByPanel searchPanel; + private GuiReaderNavBar navbar; private boolean seeWordcount; private GuiReaderGroup books; @@ -49,9 +48,6 @@ public class GuiReaderSearchFrame extends JFrame { setLayout(new BorderLayout()); setSize(800, 600); - page = 1; - maxPage = -1; - supportTypes = new ArrayList(); supportTypes.add(null); for (SupportType type : SupportType.values()) { @@ -103,6 +99,16 @@ public class GuiReaderSearchFrame extends JFrame { infos.add(GuiReaderBookInfo.fromMeta(meta)); } + int page = searchPanel.getPage(); + if (page <= 0) { + navbar.setMin(1); + navbar.setMax(1); + } else { + int max = searchPanel.getMaxPage(); + navbar.setMin(1); + navbar.setMax(max); + navbar.setIndex(page); + } updateBooks(infos); // ! 1-based index ! @@ -139,6 +145,27 @@ public class GuiReaderSearchFrame extends JFrame { JScrollPane scroll = new JScrollPane(books); scroll.getVerticalScrollBar().setUnitIncrement(16); add(scroll, BorderLayout.CENTER); + + navbar = new GuiReaderNavBar(-1, -1) { + private static final long serialVersionUID = 1L; + + @Override + protected String computeLabel(int index, int min, int max) { + if (index <= 0) { + return ""; + } + return super.computeLabel(index, min, max); + } + }; + + navbar.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + searchPanel.setPage(navbar.getIndex()); + } + }); + + add(navbar, BorderLayout.SOUTH); } /** @@ -162,7 +189,6 @@ public class GuiReaderSearchFrame extends JFrame { .removeActionListener(comboSupportTypesListener); comboSupportTypes.setSelectedItem(supportType); comboSupportTypes.addActionListener(comboSupportTypesListener); - } }); @@ -185,12 +211,14 @@ public class GuiReaderSearchFrame extends JFrame { inUi(new Runnable() { @Override public void run() { - GuiReaderSearchFrame.this.page = page; - GuiReaderSearchFrame.this.maxPage = maxPage; - - // TODO: gui - System.out.println("page: " + page); - System.out.println("max page: " + maxPage); + if (maxPage >= 1) { + navbar.setMin(1); + navbar.setMax(maxPage); + navbar.setIndex(page); + } else { + navbar.setMin(-1); + navbar.setMax(-1); + } } }); } @@ -304,7 +332,7 @@ public class GuiReaderSearchFrame extends JFrame { * the error */ static void error(Exception e) { - Instance.getTraceHandler().error(e); + Instance.getInstance().getTraceHandler().error(e); } /** @@ -314,7 +342,7 @@ public class GuiReaderSearchFrame extends JFrame { * the error message */ static void error(String e) { - Instance.getTraceHandler().error(e); + Instance.getInstance().getTraceHandler().error(e); } /**