link gui frame to search
[fanfix.git] / src / be / nikiroo / fanfix / reader / ui / GuiReaderFrame.java
index d4cfb8175959984f1760af7bab52fed57cd5396b..77cd7e019ef4363113e7605330c7ae82386fea7a 100644 (file)
@@ -36,6 +36,8 @@ 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.searchable.BasicSearchable;
+import be.nikiroo.fanfix.supported.SupportType;
 import be.nikiroo.utils.Progress;
 import be.nikiroo.utils.Version;
 import be.nikiroo.utils.ui.ConfigEditor;
@@ -181,6 +183,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, "", 1, 0);
+                                       }
+                               });
+                               search.add(searchItem);
+                       }
+               }
+
+               bar.add(search);
+
                JMenu view = new JMenu(GuiReader.trans(StringIdGui.MENU_VIEW));
                view.setMnemonic(KeyEvent.VK_V);
                JMenuItem vauthors = new JMenuItem(
@@ -421,7 +441,8 @@ class GuiReaderFrame extends JFrame implements FrameHelper {
                                        fc.showDialog(GuiReaderFrame.this,
                                                        GuiReader.trans(StringIdGui.TITLE_SAVE));
                                        if (fc.getSelectedFile() != null) {
-                                               final OutputType type = otherFilters.get(fc.getFileFilter());
+                                               final OutputType type = otherFilters.get(fc
+                                                               .getFileFilter());
                                                final String path = fc.getSelectedFile()
                                                                .getAbsolutePath()
                                                                + type.getDefaultExtension(false);
@@ -718,23 +739,16 @@ class GuiReaderFrame extends JFrame implements FrameHelper {
                                final GuiReaderBook selectedBook = mainPanel.getSelectedBook();
                                if (selectedBook != null) {
                                        final MetaData meta = selectedBook.getInfo().getMeta();
-                                       mainPanel.imprt(
-                                                       meta.getUrl(),
-                                                       new StoryRunnable() {
-                                                               @Override
-                                                               public void run(Story story) {
-                                                                       reader.delete(meta.getLuid());
-                                                                       mainPanel.unsetSelectedBook();
-                                                                       MetaData newMeta = story.getMeta();
-                                                                       if (!newMeta.getSource().equals(
-                                                                                       meta.getSource())) {
-                                                                               reader.changeSource(newMeta.getLuid(),
-                                                                                               meta.getSource());
-                                                                       }
-                                                               }
-                                                       },
-                                                       GuiReader
-                                                                       .trans(StringIdGui.PROGRESS_REDOWNLOAD_REMOVE_OLD_COPY));
+                                       mainPanel.imprt(meta.getUrl(), new StoryRunnable() {
+                                               @Override
+                                               public void run(Story story) {
+                                                       MetaData newMeta = story.getMeta();
+                                                       if (!newMeta.getSource().equals(meta.getSource())) {
+                                                               reader.changeSource(newMeta.getLuid(),
+                                                                               meta.getSource());
+                                                       }
+                                               }
+                                       }, GuiReader.trans(StringIdGui.PROGRESS_CHANGE_SOURCE));
                                }
                        }
                });