private ProgressBar pgBar;
private JMenuBar bar;
private LocalReaderBook selectedBook;
+ private boolean words; // words or authors (secondary info on books)
/**
* Create a new {@link LocalReaderFrame}.
for (LocalReaderGroup group : booksByType.keySet()) {
List<MetaData> stories = Instance.getLibrary().getListByType(
booksByType.get(group));
- group.refreshBooks(stories);
+ group.refreshBooks(stories, words);
}
for (LocalReaderGroup group : booksByAuthor.keySet()) {
List<MetaData> stories = Instance.getLibrary().getListByAuthor(
booksByAuthor.get(group));
- group.refreshBooks(stories);
+ group.refreshBooks(stories, words);
}
pane.repaint();
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);
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 {
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);
+ }
}
- }
- });
+ });
+ }
}
}
});