X-Git-Url: http://git.nikiroo.be/?p=nikiroo-utils.git;a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Freader%2FGuiReaderFrame.java;h=e88c9777ee3afc01ab27efb2cb8595991a4c4f90;hp=26ab23f3c83d09fc3737edb2114f805ae290e1a5;hb=211f7ddb50f68aa8a999023ef6d63d5756bdace6;hpb=5dd985cf7d5e2bb88b07fd43e7b4a4eda4647181 diff --git a/src/be/nikiroo/fanfix/reader/GuiReaderFrame.java b/src/be/nikiroo/fanfix/reader/GuiReaderFrame.java index 26ab23f..e88c977 100644 --- a/src/be/nikiroo/fanfix/reader/GuiReaderFrame.java +++ b/src/be/nikiroo/fanfix/reader/GuiReaderFrame.java @@ -34,11 +34,11 @@ import javax.swing.filechooser.FileFilter; import javax.swing.filechooser.FileNameExtensionFilter; import be.nikiroo.fanfix.Instance; -import be.nikiroo.fanfix.LocalLibrary; import be.nikiroo.fanfix.bundles.Config; import be.nikiroo.fanfix.bundles.UiConfig; import be.nikiroo.fanfix.data.MetaData; import be.nikiroo.fanfix.data.Story; +import be.nikiroo.fanfix.library.LocalLibrary; import be.nikiroo.fanfix.output.BasicOutput.OutputType; import be.nikiroo.fanfix.reader.GuiReaderBook.BookActionListener; import be.nikiroo.utils.Progress; @@ -101,6 +101,7 @@ class GuiReaderFrame extends JFrame { add(pgBar, BorderLayout.SOUTH); pgBar.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { invalidate(); pgBar.setProgress(null); @@ -110,6 +111,7 @@ class GuiReaderFrame extends JFrame { }); pgBar.addUpdateListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { invalidate(); validate(); @@ -124,8 +126,9 @@ class GuiReaderFrame extends JFrame { final Progress pg = new Progress(); final String typeF = type; outOfUi(pg, new Runnable() { + @Override public void run() { - Instance.getLibrary().refresh(false, pg); + GuiReaderFrame.this.reader.getLibrary().refresh(false, pg); invalidate(); setJMenuBar(createMenu()); addBookPane(typeF, true); @@ -151,13 +154,13 @@ class GuiReaderFrame extends JFrame { private void addBookPane(String value, boolean type) { if (value == null) { if (type) { - for (String tt : Instance.getLibrary().getSources()) { + for (String tt : reader.getLibrary().getSources()) { if (tt != null) { addBookPane(tt, type); } } } else { - for (String tt : Instance.getLibrary().getAuthors()) { + for (String tt : reader.getLibrary().getAuthors()) { if (tt != null) { addBookPane(tt, type); } @@ -181,10 +184,12 @@ class GuiReaderFrame extends JFrame { this.validate(); bookPane.setActionListener(new BookActionListener() { + @Override public void select(GuiReaderBook book) { selectedBook = book; } + @Override public void popupRequested(GuiReaderBook book, MouseEvent e) { JPopupMenu popup = new JPopupMenu(); popup.add(createMenuItemOpenBook()); @@ -198,6 +203,7 @@ class GuiReaderFrame extends JFrame { popup.show(e.getComponent(), e.getX(), e.getY()); } + @Override public void action(final GuiReaderBook book) { openBook(book); } @@ -220,13 +226,13 @@ class GuiReaderFrame extends JFrame { */ private void refreshBooks() { for (GuiReaderGroup group : booksByType.keySet()) { - List stories = Instance.getLibrary().getListBySource( + List stories = reader.getLibrary().getListBySource( booksByType.get(group)); group.refreshBooks(stories, words); } for (GuiReaderGroup group : booksByAuthor.keySet()) { - List stories = Instance.getLibrary().getListByAuthor( + List stories = reader.getLibrary().getListByAuthor( booksByAuthor.get(group)); group.refreshBooks(stories, words); } @@ -248,18 +254,21 @@ class GuiReaderFrame extends JFrame { JMenuItem imprt = new JMenuItem("Import URL...", KeyEvent.VK_U); imprt.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { imprt(true); } }); JMenuItem imprtF = new JMenuItem("Import File...", KeyEvent.VK_F); imprtF.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { imprt(false); } }); JMenuItem exit = new JMenuItem("Exit", KeyEvent.VK_X); exit.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { GuiReaderFrame.this.dispatchEvent(new WindowEvent( GuiReaderFrame.this, WindowEvent.WINDOW_CLOSING)); @@ -292,6 +301,7 @@ class GuiReaderFrame extends JFrame { JMenuItem vauthors = new JMenuItem("Author"); vauthors.setMnemonic(KeyEvent.VK_A); vauthors.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { words = false; refreshBooks(); @@ -301,6 +311,7 @@ class GuiReaderFrame extends JFrame { JMenuItem vwords = new JMenuItem("Word count"); vwords.setMnemonic(KeyEvent.VK_W); vwords.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { words = true; refreshBooks(); @@ -312,11 +323,12 @@ class GuiReaderFrame extends JFrame { JMenu sources = new JMenu("Sources"); sources.setMnemonic(KeyEvent.VK_S); - List tt = Instance.getLibrary().getSources(); + List tt = reader.getLibrary().getSources(); tt.add(0, null); for (final String type : tt) { JMenuItem item = new JMenuItem(type == null ? "All" : type); item.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { removeBookPanes(); addBookPane(type, true); @@ -335,12 +347,13 @@ class GuiReaderFrame extends JFrame { JMenu authors = new JMenu("Authors"); authors.setMnemonic(KeyEvent.VK_A); - List aa = Instance.getLibrary().getAuthors(); + List aa = reader.getLibrary().getAuthors(); aa.add(0, null); for (final String author : aa) { JMenuItem item = new JMenuItem(author == null ? "All" : author.isEmpty() ? "[unknown]" : author); item.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { removeBookPanes(); addBookPane(author, false); @@ -376,6 +389,7 @@ class GuiReaderFrame extends JFrame { item.setMnemonic(KeyEvent.VK_F); item.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { ConfigEditor ed = new ConfigEditor( Config.class, Instance.getConfig(), @@ -401,6 +415,7 @@ class GuiReaderFrame extends JFrame { item.setMnemonic(KeyEvent.VK_U); item.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { ConfigEditor ed = new ConfigEditor( UiConfig.class, Instance.getUiConfig(), @@ -451,6 +466,7 @@ class GuiReaderFrame extends JFrame { JMenuItem export = new JMenuItem("Save as...", KeyEvent.VK_S); export.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { if (selectedBook != null) { fc.showDialog(GuiReaderFrame.this, "Save"); @@ -461,9 +477,10 @@ class GuiReaderFrame extends JFrame { + type.getDefaultExtension(false); final Progress pg = new Progress(); outOfUi(pg, new Runnable() { + @Override public void run() { try { - Instance.getLibrary().export( + reader.getLibrary().export( selectedBook.getMeta().getLuid(), type, path, pg); } catch (IOException e) { @@ -510,14 +527,17 @@ class GuiReaderFrame extends JFrame { private JMenuItem createMenuItemClearCache() { JMenuItem refresh = new JMenuItem("Clear cache", KeyEvent.VK_C); refresh.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { if (selectedBook != null) { outOfUi(null, new Runnable() { + @Override public void run() { reader.clearLocalReaderCache(selectedBook.getMeta() .getLuid()); selectedBook.setCached(false); SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { selectedBook.repaint(); } @@ -542,7 +562,7 @@ class GuiReaderFrame extends JFrame { List types = new ArrayList(); types.add(null); - types.addAll(Instance.getLibrary().getSources()); + types.addAll(reader.getLibrary().getSources()); for (String type : types) { JMenuItem item = new JMenuItem(type == null ? "New type..." : type); @@ -554,6 +574,7 @@ class GuiReaderFrame extends JFrame { final String ftype = type; item.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { if (selectedBook != null) { String type = ftype; @@ -563,15 +584,17 @@ class GuiReaderFrame extends JFrame { "Moving story", JOptionPane.QUESTION_MESSAGE, null, null, selectedBook.getMeta().getSource()); + if (rep == null) { return; - } else { - type = rep.toString(); } + + type = rep.toString(); } final String ftype = type; outOfUi(null, new Runnable() { + @Override public void run() { reader.changeType(selectedBook.getMeta() .getLuid(), ftype); @@ -579,6 +602,7 @@ class GuiReaderFrame extends JFrame { selectedBook = null; SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { setJMenuBar(createMenu()); } @@ -601,10 +625,12 @@ class GuiReaderFrame extends JFrame { private JMenuItem createMenuItemRedownload() { JMenuItem refresh = new JMenuItem("Redownload", KeyEvent.VK_R); refresh.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { if (selectedBook != null) { final MetaData meta = selectedBook.getMeta(); imprt(meta.getUrl(), new Runnable() { + @Override public void run() { reader.delete(meta.getLuid()); GuiReaderFrame.this.selectedBook = null; @@ -625,9 +651,11 @@ class GuiReaderFrame extends JFrame { private JMenuItem createMenuItemDelete() { JMenuItem delete = new JMenuItem("Delete", KeyEvent.VK_D); delete.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { if (selectedBook != null) { outOfUi(null, new Runnable() { + @Override public void run() { reader.delete(selectedBook.getMeta().getLuid()); selectedBook = null; @@ -648,6 +676,7 @@ class GuiReaderFrame extends JFrame { private JMenuItem createMenuItemOpenBook() { JMenuItem open = new JMenuItem("Open", KeyEvent.VK_O); open.addActionListener(new ActionListener() { + @Override public void actionPerformed(ActionEvent e) { if (selectedBook != null) { openBook(selectedBook); @@ -667,10 +696,12 @@ class GuiReaderFrame extends JFrame { private void openBook(final GuiReaderBook book) { final Progress pg = new Progress(); outOfUi(pg, new Runnable() { + @Override public void run() { try { - reader.open(book.getMeta().getLuid(), pg); + reader.read(book.getMeta().getLuid(), pg); SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { book.setCached(true); } @@ -711,6 +742,7 @@ class GuiReaderFrame extends JFrame { setEnabled(false); new Thread(new Runnable() { + @Override public void run() { run.run(); refreshBooks(); @@ -782,11 +814,11 @@ class GuiReaderFrame extends JFrame { pg.addProgress(pgOnSuccess, 5); outOfUi(pg, new Runnable() { + @Override public void run() { Exception ex = null; try { - Instance.getLibrary().imprt(BasicReader.getUrl(url), - pgImprt); + reader.getLibrary().imprt(BasicReader.getUrl(url), pgImprt); } catch (IOException e) { ex = e; } @@ -799,6 +831,7 @@ class GuiReaderFrame extends JFrame { if (!ok) { Instance.syserr(e); SwingUtilities.invokeLater(new Runnable() { + @Override public void run() { JOptionPane.showMessageDialog(GuiReaderFrame.this, "Cannot import: " + url, e.getMessage(),