X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Freader%2FLocalReaderFrame.java;h=a90360eed234bde1c99349844d687b02832bf70a;hb=9f8f013ac68e715022e64d7f2c977463ce3e58c0;hp=1d303a2c809e6df9866c52c2b81c9ccb74e9bc13;hpb=4310bae9326894d9a9f5c7d34e552437e1156ddb;p=fanfix.git diff --git a/src/be/nikiroo/fanfix/reader/LocalReaderFrame.java b/src/be/nikiroo/fanfix/reader/LocalReaderFrame.java index 1d303a2..a90360e 100644 --- a/src/be/nikiroo/fanfix/reader/LocalReaderFrame.java +++ b/src/be/nikiroo/fanfix/reader/LocalReaderFrame.java @@ -61,6 +61,7 @@ class LocalReaderFrame extends JFrame { private ProgressBar pgBar; private JMenuBar bar; private LocalReaderBook selectedBook; + private boolean words; // words or authors (secondary info on books) /** * Create a new {@link LocalReaderFrame}. @@ -191,13 +192,13 @@ class LocalReaderFrame extends JFrame { for (LocalReaderGroup group : booksByType.keySet()) { List stories = Instance.getLibrary().getListByType( booksByType.get(group)); - group.refreshBooks(stories); + group.refreshBooks(stories, words); } for (LocalReaderGroup group : booksByAuthor.keySet()) { List stories = Instance.getLibrary().getListByAuthor( booksByAuthor.get(group)); - group.refreshBooks(stories); + group.refreshBooks(stories, words); } pane.repaint(); @@ -255,6 +256,28 @@ class LocalReaderFrame extends JFrame { bar.add(edit); + JMenu view = new JMenu("View"); + view.setMnemonic(KeyEvent.VK_V); + JMenuItem vauthors = new JMenuItem("Author"); + vauthors.setMnemonic(KeyEvent.VK_A); + vauthors.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + words = false; + refreshBooks(); + } + }); + view.add(vauthors); + JMenuItem vwords = new JMenuItem("Word count"); + vwords.setMnemonic(KeyEvent.VK_W); + vwords.addActionListener(new ActionListener() { + public void actionPerformed(ActionEvent e) { + words = true; + refreshBooks(); + } + }); + view.add(vwords); + bar.add(view); + JMenu sources = new JMenu("Sources"); sources.setMnemonic(KeyEvent.VK_S); @@ -318,6 +341,7 @@ class LocalReaderFrame extends JFrame { for (OutputType type : OutputType.values()) { String ext = type.getDefaultExtension(false); String desc = type.getDesc(false); + if (ext == null || ext.isEmpty()) { filters.put(createAllFilter(desc), type); } else { @@ -343,21 +367,24 @@ class LocalReaderFrame extends JFrame { public void actionPerformed(ActionEvent e) { if (selectedBook != null) { fc.showDialog(LocalReaderFrame.this, "Save"); - final OutputType type = filters.get(fc.getFileFilter()); - final String path = fc.getSelectedFile().getAbsolutePath() - + type.getDefaultExtension(false); - final Progress pg = new Progress(); - outOfUi(pg, new Runnable() { - public void run() { - try { - Instance.getLibrary().export( - selectedBook.getMeta().getLuid(), type, - path, pg); - } catch (IOException e) { - Instance.syserr(e); + if (fc.getSelectedFile() != null) { + final OutputType type = filters.get(fc.getFileFilter()); + final String path = fc.getSelectedFile() + .getAbsolutePath() + + type.getDefaultExtension(false); + final Progress pg = new Progress(); + outOfUi(pg, new Runnable() { + public void run() { + try { + Instance.getLibrary().export( + selectedBook.getMeta().getLuid(), + type, path, pg); + } catch (IOException e) { + Instance.syserr(e); + } } - } - }); + }); + } } } });