fix custom author covers
[fanfix.git] / src / be / nikiroo / fanfix / reader / ui / GuiReaderFrame.java
index f7fb09f205c3546402b6acad8a719125a9c66e15..c69037976df8a57aaa681c95518484794de65e7b 100644 (file)
@@ -49,7 +49,7 @@ import be.nikiroo.utils.ui.ConfigEditor;
 class GuiReaderFrame extends JFrame implements FrameHelper {
        private static final long serialVersionUID = 1L;
        private GuiReader reader;
-       private GuiReaderMainPanel helpee;
+       private GuiReaderMainPanel mainPanel;
 
        private enum MoveAction {
                SOURCE, TITLE, AUTHOR
@@ -69,16 +69,11 @@ class GuiReaderFrame extends JFrame implements FrameHelper {
 
                this.reader = reader;
 
-               // TODO: should we still have that??
-               setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
-
-               helpee = new GuiReaderMainPanel(this, type);
+               mainPanel = new GuiReaderMainPanel(this, type);
 
                setSize(800, 600);
                setLayout(new BorderLayout());
-               add(helpee);
-
-               setVisible(true);
+               add(mainPanel);
        }
 
        @Override
@@ -119,14 +114,14 @@ class GuiReaderFrame extends JFrame implements FrameHelper {
                imprt.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
-                               helpee.imprt(true);
+                               mainPanel.imprt(true);
                        }
                });
                JMenuItem imprtF = new JMenuItem("Import File...", KeyEvent.VK_F);
                imprtF.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
-                               helpee.imprt(false);
+                               mainPanel.imprt(false);
                        }
                });
                JMenuItem exit = new JMenuItem("Exit", KeyEvent.VK_X);
@@ -169,8 +164,8 @@ class GuiReaderFrame extends JFrame implements FrameHelper {
                vauthors.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
-                               helpee.setWords(false);
-                               helpee.refreshBooks();
+                               mainPanel.setWords(false);
+                               mainPanel.refreshBooks();
                        }
                });
                view.add(vauthors);
@@ -179,8 +174,8 @@ class GuiReaderFrame extends JFrame implements FrameHelper {
                vwords.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
-                               helpee.setWords(true);
-                               helpee.refreshBooks();
+                               mainPanel.setWords(true);
+                               mainPanel.refreshBooks();
                        }
                });
                view.add(vwords);
@@ -244,9 +239,12 @@ class GuiReaderFrame extends JFrame implements FrameHelper {
 
                                for (String sub : list) {
                                        // " " instead of "" for the visual height
-                                       String itemName = sub.isEmpty() ? " " : sub;
-                                       String actualValue = value;
+                                       String itemName = sub;
+                                       if (itemName.isEmpty()) {
+                                               itemName = type ? " " : "[unknown]";
+                                       }
 
+                                       String actualValue = value;
                                        if (type) {
                                                if (!sub.isEmpty()) {
                                                        actualValue += "/" + sub;
@@ -280,9 +278,9 @@ class GuiReaderFrame extends JFrame implements FrameHelper {
                return new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
-                               helpee.removeBookPanes();
-                               helpee.addBookPane(source, type);
-                               helpee.refreshBooks();
+                               mainPanel.removeBookPanes();
+                               mainPanel.addBookPane(source, type);
+                               mainPanel.refreshBooks();
                        }
                };
        }
@@ -292,9 +290,9 @@ class GuiReaderFrame extends JFrame implements FrameHelper {
                return new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
-                               helpee.removeBookPanes();
-                               helpee.addBookPane(type, listMode);
-                               helpee.refreshBooks();
+                               mainPanel.removeBookPanes();
+                               mainPanel.addBookPane(type, listMode);
+                               mainPanel.refreshBooks();
                        }
                };
        }
@@ -389,7 +387,7 @@ class GuiReaderFrame extends JFrame implements FrameHelper {
                export.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
-                               final GuiReaderBook selectedBook = helpee.getSelectedBook();
+                               final GuiReaderBook selectedBook = mainPanel.getSelectedBook();
                                if (selectedBook != null) {
                                        fc.showDialog(GuiReaderFrame.this, "Save");
                                        if (fc.getSelectedFile() != null) {
@@ -398,7 +396,7 @@ class GuiReaderFrame extends JFrame implements FrameHelper {
                                                                .getAbsolutePath()
                                                                + type.getDefaultExtension(false);
                                                final Progress pg = new Progress();
-                                               helpee.outOfUi(pg, new Runnable() {
+                                               mainPanel.outOfUi(pg, new Runnable() {
                                                        @Override
                                                        public void run() {
                                                                try {
@@ -451,9 +449,9 @@ class GuiReaderFrame extends JFrame implements FrameHelper {
                refresh.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
-                               final GuiReaderBook selectedBook = helpee.getSelectedBook();
+                               final GuiReaderBook selectedBook = mainPanel.getSelectedBook();
                                if (selectedBook != null) {
-                                       helpee.outOfUi(null, new Runnable() {
+                                       mainPanel.outOfUi(null, new Runnable() {
                                                @Override
                                                public void run() {
                                                        reader.clearLocalReaderCache(selectedBook.getMeta()
@@ -553,7 +551,8 @@ class GuiReaderFrame extends JFrame implements FrameHelper {
                                for (String key : groupedAuthors.keySet()) {
                                        JMenu group = new JMenu(key);
                                        for (String value : groupedAuthors.get(key)) {
-                                               JMenuItem item = new JMenuItem(value);
+                                               JMenuItem item = new JMenuItem(
+                                                               value.isEmpty() ? "[unknown]" : value);
                                                item.addActionListener(createMoveAction(
                                                                MoveAction.AUTHOR, value));
                                                group.add(item);
@@ -562,7 +561,8 @@ class GuiReaderFrame extends JFrame implements FrameHelper {
                                }
                        } else if (groupedAuthors.size() == 1) {
                                for (String value : groupedAuthors.values().iterator().next()) {
-                                       JMenuItem item = new JMenuItem(value);
+                                       JMenuItem item = new JMenuItem(
+                                                       value.isEmpty() ? "[unknown]" : value);
                                        item.addActionListener(createMoveAction(MoveAction.AUTHOR,
                                                        value));
                                        changeTo.add(item);
@@ -594,7 +594,7 @@ class GuiReaderFrame extends JFrame implements FrameHelper {
                return new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
-                               final GuiReaderBook selectedBook = helpee.getSelectedBook();
+                               final GuiReaderBook selectedBook = mainPanel.getSelectedBook();
                                if (selectedBook != null) {
                                        String changeTo = type;
                                        if (type == null) {
@@ -620,21 +620,21 @@ class GuiReaderFrame extends JFrame implements FrameHelper {
                                        }
 
                                        final String fChangeTo = changeTo;
-                                       helpee.outOfUi(null, new Runnable() {
+                                       mainPanel.outOfUi(null, new Runnable() {
                                                @Override
                                                public void run() {
-                                                       if (what.equals("SOURCE")) {
+                                                       if (what == MoveAction.SOURCE) {
                                                                reader.changeSource(selectedBook.getMeta()
                                                                                .getLuid(), fChangeTo);
-                                                       } else if (what.equals("TITLE")) {
+                                                       } else if (what == MoveAction.TITLE) {
                                                                reader.changeTitle(selectedBook.getMeta()
                                                                                .getLuid(), fChangeTo);
-                                                       } else if (what.equals("AUTHOR")) {
+                                                       } else if (what == MoveAction.AUTHOR) {
                                                                reader.changeAuthor(selectedBook.getMeta()
                                                                                .getLuid(), fChangeTo);
                                                        }
 
-                                                       helpee.unsetSelectedBook();
+                                                       mainPanel.unsetSelectedBook();
 
                                                        SwingUtilities.invokeLater(new Runnable() {
                                                                @Override
@@ -659,14 +659,14 @@ class GuiReaderFrame extends JFrame implements FrameHelper {
                refresh.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
-                               final GuiReaderBook selectedBook = helpee.getSelectedBook();
+                               final GuiReaderBook selectedBook = mainPanel.getSelectedBook();
                                if (selectedBook != null) {
                                        final MetaData meta = selectedBook.getMeta();
-                                       helpee.imprt(meta.getUrl(), new StoryRunnable() {
+                                       mainPanel.imprt(meta.getUrl(), new StoryRunnable() {
                                                @Override
                                                public void run(Story story) {
                                                        reader.delete(meta.getLuid());
-                                                       helpee.unsetSelectedBook();
+                                                       mainPanel.unsetSelectedBook();
                                                        MetaData newMeta = story.getMeta();
                                                        if (!newMeta.getSource().equals(meta.getSource())) {
                                                                reader.changeSource(newMeta.getLuid(),
@@ -691,13 +691,13 @@ class GuiReaderFrame extends JFrame implements FrameHelper {
                delete.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
-                               final GuiReaderBook selectedBook = helpee.getSelectedBook();
+                               final GuiReaderBook selectedBook = mainPanel.getSelectedBook();
                                if (selectedBook != null) {
-                                       helpee.outOfUi(null, new Runnable() {
+                                       mainPanel.outOfUi(null, new Runnable() {
                                                @Override
                                                public void run() {
                                                        reader.delete(selectedBook.getMeta().getLuid());
-                                                       helpee.unsetSelectedBook();
+                                                       mainPanel.unsetSelectedBook();
                                                }
                                        });
                                }
@@ -717,9 +717,9 @@ class GuiReaderFrame extends JFrame implements FrameHelper {
                delete.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
-                               final GuiReaderBook selectedBook = helpee.getSelectedBook();
+                               final GuiReaderBook selectedBook = mainPanel.getSelectedBook();
                                if (selectedBook != null) {
-                                       helpee.outOfUi(null, new Runnable() {
+                                       mainPanel.outOfUi(null, new Runnable() {
                                                @Override
                                                public void run() {
                                                        new GuiReaderPropertiesFrame(reader, selectedBook
@@ -743,15 +743,15 @@ class GuiReaderFrame extends JFrame implements FrameHelper {
                open.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
-                               final GuiReaderBook selectedBook = helpee.getSelectedBook();
+                               final GuiReaderBook selectedBook = mainPanel.getSelectedBook();
                                if (selectedBook != null) {
                                        if (selectedBook.getMeta().getLuid() == null) {
-                                               helpee.removeBookPanes();
-                                               helpee.addBookPane(selectedBook.getMeta().getSource(),
-                                                               true);
-                                               helpee.refreshBooks();
+                                               mainPanel.removeBookPanes();
+                                               mainPanel.addBookPane(selectedBook.getMeta()
+                                                               .getSource(), true);
+                                               mainPanel.refreshBooks();
                                        } else {
-                                               helpee.openBook(selectedBook);
+                                               mainPanel.openBook(selectedBook);
                                        }
                                }
                        }
@@ -771,7 +771,7 @@ class GuiReaderFrame extends JFrame implements FrameHelper {
                open.addActionListener(new ActionListener() {
                        @Override
                        public void actionPerformed(ActionEvent e) {
-                               final GuiReaderBook selectedBook = helpee.getSelectedBook();
+                               final GuiReaderBook selectedBook = mainPanel.getSelectedBook();
                                if (selectedBook != null) {
                                        reader.getLibrary().setSourceCover(
                                                        selectedBook.getMeta().getSource(),