Remove or move java.awt dependencies
[fanfix.git] / src / be / nikiroo / fanfix / reader / TuiReaderApplication.java
diff --git a/src/be/nikiroo/fanfix/reader/TuiReaderApplication.java b/src/be/nikiroo/fanfix/reader/TuiReaderApplication.java
deleted file mode 100644 (file)
index c1bba5a..0000000
+++ /dev/null
@@ -1,228 +0,0 @@
-package be.nikiroo.fanfix.reader;
-
-import java.awt.Toolkit;
-import java.awt.datatransfer.DataFlavor;
-import java.io.IOException;
-import java.net.URL;
-
-import jexer.TApplication;
-import jexer.TCommand;
-import jexer.TKeypress;
-import jexer.TMessageBox;
-import jexer.TStatusBar;
-import jexer.TWindow;
-import jexer.event.TMenuEvent;
-import jexer.menu.TMenu;
-import be.nikiroo.fanfix.Instance;
-import be.nikiroo.fanfix.data.MetaData;
-import be.nikiroo.fanfix.data.Story;
-import be.nikiroo.fanfix.library.BasicLibrary;
-import be.nikiroo.utils.Progress;
-
-/**
- * Manages the TUI general mode and links and manages the {@link TWindow}s.
- * <p>
- * It will also enclose a {@link Reader} and simply handle the reading part
- * differently (it will create the required sub-windows and display them).
- * 
- * @author niki
- */
-class TuiReaderApplication extends TApplication implements Reader {
-       public static final int MENU_OPEN = 1025;
-       public static final int MENU_IMPORT_URL = 1026;
-       public static final int MENU_IMPORT_FILE = 1027;
-       public static final int MENU_EXPORT = 1028;
-       public static final int MENU_EXIT = 1029;
-
-       private Reader reader;
-       private TuiReaderMainWindow main;
-
-       // start reading if meta present
-       public TuiReaderApplication(Reader reader, BackendType backend)
-                       throws Exception {
-               super(backend);
-               init(reader);
-
-               MetaData meta = getMeta();
-
-               main = new TuiReaderMainWindow(this);
-               main.setMeta(meta);
-               if (meta != null) {
-                       read();
-               }
-       }
-
-       public TuiReaderApplication(Reader reader, String source,
-                       TApplication.BackendType backend) throws Exception {
-               super(backend);
-
-               init(reader);
-
-               main = new TuiReaderMainWindow(this);
-               main.setSource(source);
-       }
-
-       @Override
-       public void read() throws IOException {
-               MetaData meta = getMeta();
-
-               if (meta == null) {
-                       throw new IOException("No story to read");
-               }
-
-               // TODO: open in editor + external option
-               if (!meta.isImageDocument()) {
-                       @SuppressWarnings("unused")
-                       Object discard = new TuiReaderStoryWindow(this, getLibrary(), meta,
-                                       getChapter());
-               } else {
-                       try {
-                               BasicReader.openExternal(getLibrary(), meta.getLuid());
-                       } catch (IOException e) {
-                               messageBox("Error when trying to open the story",
-                                               e.getMessage(), TMessageBox.Type.OK);
-                       }
-               }
-       }
-
-       @Override
-       public MetaData getMeta() {
-               return reader.getMeta();
-       }
-
-       @Override
-       public Story getStory(Progress pg) {
-               return reader.getStory(pg);
-       }
-
-       @Override
-       public BasicLibrary getLibrary() {
-               return reader.getLibrary();
-       }
-
-       @Override
-       public void setLibrary(BasicLibrary lib) {
-               reader.setLibrary(lib);
-       }
-
-       @Override
-       public void setMeta(MetaData meta) throws IOException {
-               reader.setMeta(meta);
-       }
-
-       @Override
-       public void setMeta(String luid) throws IOException {
-               reader.setMeta(luid);
-       }
-
-       @Override
-       public void setMeta(URL source, Progress pg) throws IOException {
-               reader.setMeta(source, pg);
-       }
-
-       @Override
-       public void browse(String source) {
-               reader.browse(source);
-       }
-
-       @Override
-       public int getChapter() {
-               return reader.getChapter();
-       }
-
-       @Override
-       public void setChapter(int chapter) {
-               reader.setChapter(chapter);
-       }
-
-       private void init(Reader reader) {
-               this.reader = reader;
-
-               // TODO: traces/errors?
-               Instance.setTraceHandler(null);
-
-               // Add the menus TODO: i18n
-               TMenu fileMenu = addMenu("&File");
-               fileMenu.addItem(MENU_OPEN, "&Open");
-               fileMenu.addItem(MENU_EXPORT, "&Save as...");
-               // TODO: Move to...
-               fileMenu.addSeparator();
-               fileMenu.addItem(MENU_IMPORT_URL, "Import &URL...");
-               fileMenu.addItem(MENU_IMPORT_FILE, "Import &file...");
-               fileMenu.addSeparator();
-               fileMenu.addItem(MENU_EXIT, "E&xit");
-
-               TStatusBar statusBar = fileMenu.newStatusBar("File-management "
-                               + "commands (Open, Save, Print, etc.)");
-               // TODO: doesn't actually work:
-               statusBar.addShortcutKeypress(TKeypress.kbF10, TCommand.cmExit, "Exit");
-
-               // TODO: Edit: re-download, delete
-
-               //
-
-               addWindowMenu();
-
-               getBackend().setTitle("Fanfix");
-       }
-
-       @Override
-       protected boolean onMenu(TMenuEvent menu) {
-               // TODO: i18n
-               switch (menu.getId()) {
-               case MENU_EXIT:
-                       if (messageBox("Confirmation", "(TODO: i18n) Exit application?",
-                                       TMessageBox.Type.YESNO).getResult() == TMessageBox.Result.YES) {
-                               // exit(false);
-                       }
-
-                       return true;
-               case MENU_IMPORT_URL:
-                       String clipboard = "";
-                       try {
-                               clipboard = ("" + Toolkit.getDefaultToolkit()
-                                               .getSystemClipboard().getData(DataFlavor.stringFlavor))
-                                               .trim();
-                       } catch (Exception e) {
-                               // No data will be handled
-                       }
-
-                       if (clipboard == null || !clipboard.startsWith("http")) {
-                               clipboard = "";
-                       }
-
-                       String url = inputBox("Import story", "URL to import", clipboard)
-                                       .getText();
-
-                       if (!imprt(url)) {
-                               // TODO: bad import
-                       }
-
-                       return true;
-               case MENU_IMPORT_FILE:
-                       try {
-                               String filename = fileOpenBox(".");
-                               if (!imprt(filename)) {
-                                       // TODO: bad import
-                               }
-                       } catch (IOException e) {
-                               // TODO: bad file
-                               e.printStackTrace();
-                       }
-
-                       return true;
-               }
-
-               return super.onMenu(menu);
-       }
-
-       private boolean imprt(String url) {
-               try {
-                       reader.getLibrary().imprt(BasicReader.getUrl(url), null);
-                       main.refreshStories();
-                       return true;
-               } catch (IOException e) {
-                       return false;
-               }
-       }
-}