X-Git-Url: http://git.nikiroo.be/?a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Freader%2Fui%2FGuiReaderFrame.java;h=fe11c810edf76b8e4a79d066460dfd123c8a71e9;hb=b6b657954954280c9ab0efcec67f3fe4a3ae0945;hp=6b0723f766ce5cade1942fab811e88d87ad5d03d;hpb=5bc9573be46f09ac92207e104915bd5babbd6d63;p=nikiroo-utils.git diff --git a/src/be/nikiroo/fanfix/reader/ui/GuiReaderFrame.java b/src/be/nikiroo/fanfix/reader/ui/GuiReaderFrame.java index 6b0723f..fe11c81 100644 --- a/src/be/nikiroo/fanfix/reader/ui/GuiReaderFrame.java +++ b/src/be/nikiroo/fanfix/reader/ui/GuiReaderFrame.java @@ -31,11 +31,14 @@ import be.nikiroo.fanfix.bundles.UiConfig; import be.nikiroo.fanfix.data.MetaData; import be.nikiroo.fanfix.data.Story; import be.nikiroo.fanfix.library.BasicLibrary; +import be.nikiroo.fanfix.library.BasicLibrary.Status; import be.nikiroo.fanfix.library.LocalLibrary; import be.nikiroo.fanfix.output.BasicOutput.OutputType; import be.nikiroo.fanfix.reader.BasicReader; import be.nikiroo.fanfix.reader.ui.GuiReaderMainPanel.FrameHelper; -import be.nikiroo.fanfix.reader.ui.GuiReaderMainPanel.StoryRunnable; +import be.nikiroo.fanfix.reader.ui.GuiReaderMainPanel.MetaDataRunnable; +import be.nikiroo.fanfix.searchable.BasicSearchable; +import be.nikiroo.fanfix.supported.SupportType; import be.nikiroo.utils.Progress; import be.nikiroo.utils.Version; import be.nikiroo.utils.ui.ConfigEditor; @@ -90,20 +93,25 @@ class GuiReaderFrame extends JFrame implements FrameHelper { @Override public JPopupMenu createBookPopup() { + Status status = reader.getLibrary().getStatus(); JPopupMenu popup = new JPopupMenu(); popup.add(createMenuItemOpenBook()); popup.addSeparator(); popup.add(createMenuItemExport()); - popup.add(createMenuItemMoveTo(true)); - popup.add(createMenuItemSetCoverForSource()); - popup.add(createMenuItemSetCoverForAuthor()); + if (status.isWritable()) { + popup.add(createMenuItemMoveTo()); + popup.add(createMenuItemSetCoverForSource()); + popup.add(createMenuItemSetCoverForAuthor()); + } popup.add(createMenuItemClearCache()); - popup.add(createMenuItemRedownload()); - popup.addSeparator(); - popup.add(createMenuItemRename(true)); - popup.add(createMenuItemSetAuthor(true)); - popup.addSeparator(); - popup.add(createMenuItemDelete()); + if (status.isWritable()) { + popup.add(createMenuItemRedownload()); + popup.addSeparator(); + popup.add(createMenuItemRename()); + popup.add(createMenuItemSetAuthor()); + popup.addSeparator(); + popup.add(createMenuItemDelete()); + } popup.addSeparator(); popup.add(createMenuItemProperties()); return popup; @@ -117,7 +125,7 @@ class GuiReaderFrame extends JFrame implements FrameHelper { } @Override - public void createMenu(boolean libOk) { + public void createMenu(Status status) { invalidate(); JMenuBar bar = new JMenuBar(); @@ -155,13 +163,15 @@ class GuiReaderFrame extends JFrame implements FrameHelper { file.add(createMenuItemOpenBook()); file.add(createMenuItemExport()); - file.add(createMenuItemMoveTo(libOk)); - file.addSeparator(); - file.add(imprt); - file.add(imprtF); - file.addSeparator(); - file.add(createMenuItemRename(libOk)); - file.add(createMenuItemSetAuthor(libOk)); + if (status.isWritable()) { + file.add(createMenuItemMoveTo()); + file.addSeparator(); + file.add(imprt); + file.add(imprtF); + file.addSeparator(); + file.add(createMenuItemRename()); + file.add(createMenuItemSetAuthor()); + } file.addSeparator(); file.add(createMenuItemProperties()); file.addSeparator(); @@ -181,6 +191,24 @@ class GuiReaderFrame extends JFrame implements FrameHelper { bar.add(edit); + JMenu search = new JMenu(GuiReader.trans(StringIdGui.MENU_SEARCH)); + search.setMnemonic(KeyEvent.VK_H); + for (final SupportType type : SupportType.values()) { + BasicSearchable searchable = BasicSearchable.getSearchable(type); + if (searchable != null) { + JMenuItem searchItem = new JMenuItem(type.getSourceName()); + searchItem.addActionListener(new ActionListener() { + @Override + public void actionPerformed(ActionEvent e) { + reader.search(type, null, 1, 0, false); + } + }); + search.add(searchItem); + } + } + + bar.add(search); + JMenu view = new JMenu(GuiReader.trans(StringIdGui.MENU_VIEW)); view.setMnemonic(KeyEvent.VK_V); JMenuItem vauthors = new JMenuItem( @@ -208,8 +236,12 @@ class GuiReaderFrame extends JFrame implements FrameHelper { bar.add(view); Map> groupedSources = new HashMap>(); - if (libOk) { - groupedSources = reader.getLibrary().getSourcesGrouped(); + if (status.isReady()) { + try { + groupedSources = reader.getLibrary().getSourcesGrouped(); + } catch (IOException e) { + error(e.getLocalizedMessage(), "IOException", e); + } } JMenu sources = new JMenu(GuiReader.trans(StringIdGui.MENU_SOURCES)); sources.setMnemonic(KeyEvent.VK_S); @@ -217,8 +249,12 @@ class GuiReaderFrame extends JFrame implements FrameHelper { bar.add(sources); Map> goupedAuthors = new HashMap>(); - if (libOk) { - goupedAuthors = reader.getLibrary().getAuthorsGrouped(); + if (status.isReady()) { + try { + goupedAuthors = reader.getLibrary().getAuthorsGrouped(); + } catch (IOException e) { + error(e.getLocalizedMessage(), "IOException", e); + } } JMenu authors = new JMenu(GuiReader.trans(StringIdGui.MENU_AUTHORS)); authors.setMnemonic(KeyEvent.VK_A); @@ -239,20 +275,24 @@ class GuiReaderFrame extends JFrame implements FrameHelper { Map> groupedValues, boolean type) { // "All" and "Listing" special items first - JMenuItem item = new JMenuItem(GuiReader.trans(StringIdGui.MENU_XXX_ALL_GROUPED)); + JMenuItem item = new JMenuItem( + GuiReader.trans(StringIdGui.MENU_XXX_ALL_GROUPED)); item.addActionListener(getActionOpenList(type, false)); menu.add(item); item = new JMenuItem(GuiReader.trans(StringIdGui.MENU_XXX_ALL_LISTING)); item.addActionListener(getActionOpenList(type, true)); menu.add(item); - + menu.addSeparator(); for (final String value : groupedValues.keySet()) { List list = groupedValues.get(value); if (type && list.size() == 1 && list.get(0).isEmpty()) { // leaf item source/type - item = new JMenuItem(value.isEmpty() ? GuiReader.trans(StringIdGui.MENU_AUTHORS_UNKNOWN) : value); + item = new JMenuItem( + value.isEmpty() ? GuiReader + .trans(StringIdGui.MENU_AUTHORS_UNKNOWN) + : value); item.addActionListener(getActionOpen(value, type)); menu.add(item); } else { @@ -261,14 +301,18 @@ class GuiReaderFrame extends JFrame implements FrameHelper { // only one group of authors dir = menu; } else { - dir = new JMenu(value.isEmpty() ? GuiReader.trans(StringIdGui.MENU_AUTHORS_UNKNOWN) : value); + dir = new JMenu( + value.isEmpty() ? GuiReader + .trans(StringIdGui.MENU_AUTHORS_UNKNOWN) + : value); } for (String sub : list) { // " " instead of "" for the visual height String itemName = sub; if (itemName.isEmpty()) { - itemName = type ? " " : GuiReader.trans(StringIdGui.MENU_AUTHORS_UNKNOWN); + itemName = type ? " " : GuiReader + .trans(StringIdGui.MENU_AUTHORS_UNKNOWN); } String actualValue = value; @@ -316,9 +360,13 @@ class GuiReaderFrame extends JFrame implements FrameHelper { final boolean listMode) { return new ActionListener() { @Override - public void actionPerformed(ActionEvent e) { + public void actionPerformed(ActionEvent ae) { mainPanel.removeBookPanes(); - mainPanel.addBookPane(type, listMode); + try { + mainPanel.addBookPane(type, listMode); + } catch (IOException e) { + error(e.getLocalizedMessage(), "IOException", e); + } mainPanel.refreshBooks(); } }; @@ -338,8 +386,8 @@ class GuiReaderFrame extends JFrame implements FrameHelper { @Override public void actionPerformed(ActionEvent e) { ConfigEditor ed = new ConfigEditor( - Config.class, Instance.getConfig(), - GuiReader.trans(StringIdGui.SUBTITLE_CONFIG)); + Config.class, Instance.getConfig(), GuiReader + .trans(StringIdGui.SUBTITLE_CONFIG)); JFrame frame = new JFrame(title); frame.add(ed); frame.setSize(800, 600); @@ -364,8 +412,8 @@ class GuiReaderFrame extends JFrame implements FrameHelper { @Override public void actionPerformed(ActionEvent e) { ConfigEditor ed = new ConfigEditor( - UiConfig.class, Instance.getUiConfig(), - GuiReader.trans(StringIdGui.SUBTITLE_CONFIG_UI)); + UiConfig.class, Instance.getUiConfig(), GuiReader + .trans(StringIdGui.SUBTITLE_CONFIG_UI)); JFrame frame = new JFrame(title); frame.add(ed); frame.setSize(800, 600); @@ -385,40 +433,36 @@ class GuiReaderFrame extends JFrame implements FrameHelper { final JFileChooser fc = new JFileChooser(); fc.setAcceptAllFileFilterUsed(false); - final Map filters = new HashMap(); + // Add the "ALL" filters first, then the others + final Map otherFilters = new HashMap(); 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); + fc.addChoosableFileFilter(createAllFilter(desc)); } else { - filters.put(new FileNameExtensionFilter(desc, ext), type); + otherFilters.put(new FileNameExtensionFilter(desc, ext), type); } } - // First the "ALL" filters, then, the extension filters - for (Entry entry : filters.entrySet()) { - if (!(entry.getKey() instanceof FileNameExtensionFilter)) { - fc.addChoosableFileFilter(entry.getKey()); - } - } - for (Entry entry : filters.entrySet()) { - if (entry.getKey() instanceof FileNameExtensionFilter) { - fc.addChoosableFileFilter(entry.getKey()); - } + for (Entry entry : otherFilters.entrySet()) { + fc.addChoosableFileFilter(entry.getKey()); } // - JMenuItem export = new JMenuItem(GuiReader.trans(StringIdGui.MENU_FILE_EXPORT), KeyEvent.VK_S); + JMenuItem export = new JMenuItem( + GuiReader.trans(StringIdGui.MENU_FILE_EXPORT), KeyEvent.VK_S); export.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { final GuiReaderBook selectedBook = mainPanel.getSelectedBook(); if (selectedBook != null) { - fc.showDialog(GuiReaderFrame.this, GuiReader.trans(StringIdGui.TITLE_SAVE)); + fc.showDialog(GuiReaderFrame.this, + GuiReader.trans(StringIdGui.TITLE_SAVE)); if (fc.getSelectedFile() != null) { - final OutputType type = filters.get(fc.getFileFilter()); + final OutputType type = otherFilters.get(fc + .getFileFilter()); final String path = fc.getSelectedFile() .getAbsolutePath() + type.getDefaultExtension(false); @@ -472,7 +516,9 @@ class GuiReaderFrame extends JFrame implements FrameHelper { * @return the item */ private JMenuItem createMenuItemClearCache() { - JMenuItem refresh = new JMenuItem(GuiReader.trans(StringIdGui.MENU_EDIT_CLEAR_CACHE), KeyEvent.VK_C); + JMenuItem refresh = new JMenuItem( + GuiReader.trans(StringIdGui.MENU_EDIT_CLEAR_CACHE), + KeyEvent.VK_C); refresh.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { @@ -504,21 +550,22 @@ class GuiReaderFrame extends JFrame implements FrameHelper { /** * Create the "move to" menu item. * - * @param libOk - * the library can be queried - * * @return the item */ - private JMenuItem createMenuItemMoveTo(boolean libOk) { - JMenu changeTo = new JMenu(GuiReader.trans(StringIdGui.MENU_FILE_MOVE_TO)); + private JMenuItem createMenuItemMoveTo() { + JMenu changeTo = new JMenu( + GuiReader.trans(StringIdGui.MENU_FILE_MOVE_TO)); changeTo.setMnemonic(KeyEvent.VK_M); Map> groupedSources = new HashMap>(); - if (libOk) { + try { groupedSources = reader.getLibrary().getSourcesGrouped(); + } catch (IOException e) { + error(e.getLocalizedMessage(), "IOException", e); } - JMenuItem item = new JMenuItem(GuiReader.trans(StringIdGui.MENU_FILE_MOVE_TO_NEW_TYPE)); + JMenuItem item = new JMenuItem( + GuiReader.trans(StringIdGui.MENU_FILE_MOVE_TO_NEW_TYPE)); item.addActionListener(createMoveAction(ChangeAction.SOURCE, null)); changeTo.add(item); changeTo.addSeparator(); @@ -555,46 +602,54 @@ class GuiReaderFrame extends JFrame implements FrameHelper { /** * Create the "set author" menu item. * - * @param libOk - * the library can be queried - * * @return the item */ - private JMenuItem createMenuItemSetAuthor(boolean libOk) { - JMenu changeTo = new JMenu(GuiReader.trans(StringIdGui.MENU_FILE_SET_AUTHOR)); + private JMenuItem createMenuItemSetAuthor() { + JMenu changeTo = new JMenu( + GuiReader.trans(StringIdGui.MENU_FILE_SET_AUTHOR)); changeTo.setMnemonic(KeyEvent.VK_A); // New author - JMenuItem newItem = new JMenuItem(GuiReader.trans(StringIdGui.MENU_FILE_MOVE_TO_NEW_AUTHOR)); + JMenuItem newItem = new JMenuItem( + GuiReader.trans(StringIdGui.MENU_FILE_MOVE_TO_NEW_AUTHOR)); changeTo.add(newItem); changeTo.addSeparator(); newItem.addActionListener(createMoveAction(ChangeAction.AUTHOR, null)); // Existing authors - if (libOk) { - Map> groupedAuthors = reader.getLibrary() - .getAuthorsGrouped(); - - if (groupedAuthors.size() > 1) { - for (String key : groupedAuthors.keySet()) { - JMenu group = new JMenu(key); - for (String value : groupedAuthors.get(key)) { - JMenuItem item = new JMenuItem( - value.isEmpty() ? GuiReader.trans(StringIdGui.MENU_AUTHORS_UNKNOWN) : value); - item.addActionListener(createMoveAction( - ChangeAction.AUTHOR, value)); - group.add(item); - } - changeTo.add(group); - } - } else if (groupedAuthors.size() == 1) { - for (String value : groupedAuthors.values().iterator().next()) { + Map> groupedAuthors; + + try { + groupedAuthors = reader.getLibrary().getAuthorsGrouped(); + } catch (IOException e) { + error(e.getLocalizedMessage(), "IOException", e); + groupedAuthors = new HashMap>(); + + } + + if (groupedAuthors.size() > 1) { + for (String key : groupedAuthors.keySet()) { + JMenu group = new JMenu(key); + for (String value : groupedAuthors.get(key)) { JMenuItem item = new JMenuItem( - value.isEmpty() ? GuiReader.trans(StringIdGui.MENU_AUTHORS_UNKNOWN) : value); + value.isEmpty() ? GuiReader + .trans(StringIdGui.MENU_AUTHORS_UNKNOWN) + : value); item.addActionListener(createMoveAction( ChangeAction.AUTHOR, value)); - changeTo.add(item); + group.add(item); } + changeTo.add(group); + } + } else if (groupedAuthors.size() == 1) { + for (String value : groupedAuthors.values().iterator().next()) { + JMenuItem item = new JMenuItem( + value.isEmpty() ? GuiReader + .trans(StringIdGui.MENU_AUTHORS_UNKNOWN) + : value); + item.addActionListener(createMoveAction(ChangeAction.AUTHOR, + value)); + changeTo.add(item); } } @@ -604,14 +659,11 @@ class GuiReaderFrame extends JFrame implements FrameHelper { /** * Create the "rename" menu item. * - * @param libOk - * the library can be queried - * * @return the item */ - private JMenuItem createMenuItemRename( - @SuppressWarnings("unused") boolean libOk) { - JMenuItem changeTo = new JMenuItem(GuiReader.trans(StringIdGui.MENU_FILE_RENAME)); + private JMenuItem createMenuItemRename() { + JMenuItem changeTo = new JMenuItem( + GuiReader.trans(StringIdGui.MENU_FILE_RENAME)); changeTo.setMnemonic(KeyEvent.VK_R); changeTo.addActionListener(createMoveAction(ChangeAction.TITLE, null)); return changeTo; @@ -647,9 +699,10 @@ class GuiReaderFrame extends JFrame implements FrameHelper { } Object rep = JOptionPane.showInputDialog( - GuiReaderFrame.this, GuiReader.trans(StringIdGui.SUBTITLE_MOVE_TO), - GuiReader.trans(StringIdGui.TITLE_MOVE_TO), JOptionPane.QUESTION_MESSAGE, - null, null, init); + GuiReaderFrame.this, + GuiReader.trans(StringIdGui.SUBTITLE_MOVE_TO), + GuiReader.trans(StringIdGui.TITLE_MOVE_TO), + JOptionPane.QUESTION_MESSAGE, null, null, init); if (rep == null) { return; @@ -678,7 +731,7 @@ class GuiReaderFrame extends JFrame implements FrameHelper { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { - createMenu(true); + createMenu(reader.getLibrary().getStatus()); } }); } @@ -694,25 +747,24 @@ class GuiReaderFrame extends JFrame implements FrameHelper { * @return the item */ private JMenuItem createMenuItemRedownload() { - JMenuItem refresh = new JMenuItem(GuiReader.trans(StringIdGui.MENU_EDIT_REDOWNLOAD), KeyEvent.VK_R); + JMenuItem refresh = new JMenuItem( + GuiReader.trans(StringIdGui.MENU_EDIT_REDOWNLOAD), + KeyEvent.VK_R); refresh.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { final GuiReaderBook selectedBook = mainPanel.getSelectedBook(); if (selectedBook != null) { final MetaData meta = selectedBook.getInfo().getMeta(); - mainPanel.imprt(meta.getUrl(), new StoryRunnable() { + mainPanel.imprt(meta.getUrl(), new MetaDataRunnable() { @Override - public void run(Story story) { - reader.delete(meta.getLuid()); - mainPanel.unsetSelectedBook(); - MetaData newMeta = story.getMeta(); + public void run(MetaData newMeta) { if (!newMeta.getSource().equals(meta.getSource())) { reader.changeSource(newMeta.getLuid(), meta.getSource()); } } - }, GuiReader.trans(StringIdGui.PROGRESS_REDOWNLOAD_REMOVE_OLD_COPY)); + }, GuiReader.trans(StringIdGui.PROGRESS_CHANGE_SOURCE)); } } }); @@ -726,7 +778,8 @@ class GuiReaderFrame extends JFrame implements FrameHelper { * @return the item */ private JMenuItem createMenuItemDelete() { - JMenuItem delete = new JMenuItem(GuiReader.trans(StringIdGui.MENU_EDIT_DELETE), KeyEvent.VK_D); + JMenuItem delete = new JMenuItem( + GuiReader.trans(StringIdGui.MENU_EDIT_DELETE), KeyEvent.VK_D); delete.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { @@ -737,8 +790,9 @@ class GuiReaderFrame extends JFrame implements FrameHelper { final MetaData meta = selectedBook.getInfo().getMeta(); int rep = JOptionPane.showConfirmDialog( GuiReaderFrame.this, - GuiReader.trans(StringIdGui.SUBTITLE_DELETE, meta.getLuid(), - meta.getTitle()), GuiReader.trans(StringIdGui.TITLE_DELETE), + GuiReader.trans(StringIdGui.SUBTITLE_DELETE, + meta.getLuid(), meta.getTitle()), + GuiReader.trans(StringIdGui.TITLE_DELETE), JOptionPane.OK_CANCEL_OPTION); if (rep == JOptionPane.OK_OPTION) { @@ -763,7 +817,9 @@ class GuiReaderFrame extends JFrame implements FrameHelper { * @return the item */ private JMenuItem createMenuItemProperties() { - JMenuItem delete = new JMenuItem(GuiReader.trans(StringIdGui.MENU_FILE_PROPERTIES), KeyEvent.VK_P); + JMenuItem delete = new JMenuItem( + GuiReader.trans(StringIdGui.MENU_FILE_PROPERTIES), + KeyEvent.VK_P); delete.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { @@ -790,7 +846,8 @@ class GuiReaderFrame extends JFrame implements FrameHelper { * @return the item */ public JMenuItem createMenuItemOpenBook() { - JMenuItem open = new JMenuItem(GuiReader.trans(StringIdGui.MENU_FILE_OPEN), KeyEvent.VK_O); + JMenuItem open = new JMenuItem( + GuiReader.trans(StringIdGui.MENU_FILE_OPEN), KeyEvent.VK_O); open.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { @@ -818,10 +875,12 @@ class GuiReaderFrame extends JFrame implements FrameHelper { * @return the item */ private JMenuItem createMenuItemSetCoverForSource() { - JMenuItem open = new JMenuItem(GuiReader.trans(StringIdGui.MENU_EDIT_SET_COVER_FOR_SOURCE), KeyEvent.VK_C); + JMenuItem open = new JMenuItem( + GuiReader.trans(StringIdGui.MENU_EDIT_SET_COVER_FOR_SOURCE), + KeyEvent.VK_C); open.addActionListener(new ActionListener() { @Override - public void actionPerformed(ActionEvent e) { + public void actionPerformed(ActionEvent ae) { final GuiReaderBook selectedBook = mainPanel.getSelectedBook(); if (selectedBook != null) { BasicLibrary lib = reader.getLibrary(); @@ -829,7 +888,11 @@ class GuiReaderFrame extends JFrame implements FrameHelper { String source = selectedBook.getInfo().getMeta() .getSource(); - lib.setSourceCover(source, luid); + try { + lib.setSourceCover(source, luid); + } catch (IOException e) { + error(e.getLocalizedMessage(), "IOException", e); + } GuiReaderBookInfo sourceInfo = GuiReaderBookInfo .fromSource(lib, source); @@ -848,10 +911,12 @@ class GuiReaderFrame extends JFrame implements FrameHelper { * @return the item */ private JMenuItem createMenuItemSetCoverForAuthor() { - JMenuItem open = new JMenuItem(GuiReader.trans(StringIdGui.MENU_EDIT_SET_COVER_FOR_AUTHOR), KeyEvent.VK_A); + JMenuItem open = new JMenuItem( + GuiReader.trans(StringIdGui.MENU_EDIT_SET_COVER_FOR_AUTHOR), + KeyEvent.VK_A); open.addActionListener(new ActionListener() { @Override - public void actionPerformed(ActionEvent e) { + public void actionPerformed(ActionEvent ae) { final GuiReaderBook selectedBook = mainPanel.getSelectedBook(); if (selectedBook != null) { BasicLibrary lib = reader.getLibrary(); @@ -859,7 +924,11 @@ class GuiReaderFrame extends JFrame implements FrameHelper { String author = selectedBook.getInfo().getMeta() .getAuthor(); - lib.setAuthorCover(author, luid); + try { + lib.setAuthorCover(author, luid); + } catch (IOException e) { + error(e.getLocalizedMessage(), "IOException", e); + } GuiReaderBookInfo authorInfo = GuiReaderBookInfo .fromAuthor(lib, author); @@ -916,7 +985,7 @@ class GuiReaderFrame extends JFrame implements FrameHelper { .getCurrentVersion().toString(), libraryName); } - return GuiReader.trans(StringIdGui.TITLE_LIBRARY, Version.getCurrentVersion() - .toString()); + return GuiReader.trans(StringIdGui.TITLE_LIBRARY, Version + .getCurrentVersion().toString()); } }