import javax.swing.event.HyperlinkListener;
import be.nikiroo.fanfix.Instance;
-import be.nikiroo.fanfix.LocalLibrary;
import be.nikiroo.fanfix.VersionCheck;
import be.nikiroo.fanfix.bundles.UiConfig;
+import be.nikiroo.fanfix.data.MetaData;
import be.nikiroo.fanfix.data.Story;
+import be.nikiroo.fanfix.library.LocalLibrary;
import be.nikiroo.fanfix.output.BasicOutput.OutputType;
import be.nikiroo.utils.Progress;
import be.nikiroo.utils.Version;
@Override
public void read() throws IOException {
- if (getStory() == null) {
+ MetaData meta = getMeta();
+
+ if (meta == null) {
throw new IOException("No story to read");
}
- open(getStory().getMeta().getLuid(), null);
- }
-
- @Override
- public void read(int chapter) throws IOException {
- // TODO: show a special page?
- read();
+ read(meta.getLuid(), null);
}
/**
* in case of I/O error
*/
public void imprt(String luid, Progress pg) throws IOException {
- Progress pgGetStory = new Progress();
- Progress pgSave = new Progress();
- if (pg != null) {
- pg.setMax(2);
- pg.addProgress(pgGetStory, 1);
- pg.addProgress(pgSave, 1);
- }
-
try {
- Story story = Instance.getLibrary().getStory(luid, pgGetStory);
- if (story != null) {
- story = localLibrary.save(story, luid, pgSave);
- } else {
- throw new IOException("Cannot find story in Library: " + luid);
- }
+ localLibrary.imprt(getLibrary(), luid, pg);
} catch (IOException e) {
throw new IOException(
"Cannot import story from library to LocalReader library: "
// handle link events
updateMessage.addHyperlinkListener(new HyperlinkListener() {
+ @Override
public void hyperlinkUpdate(HyperlinkEvent e) {
if (e.getEventType().equals(
HyperlinkEvent.EventType.ACTIVATED))
final String typeFinal = type;
EventQueue.invokeLater(new Runnable() {
+ @Override
public void run() {
if (updates.isNewVersionAvailable()) {
int rep = JOptionPane.showConfirmDialog(null,
}
}
- new GuiReaderFrame(GuiReader.this, typeFinal)
- .setVisible(true);
+ new GuiReaderFrame(GuiReader.this, typeFinal).setVisible(true);
}
});
}
// delete from main library
void delete(String luid) {
try {
- localLibrary.delete(luid);
- Instance.getLibrary().delete(luid);
+ if (localLibrary.getInfo(luid) != null) {
+ localLibrary.delete(luid);
+ }
+ getLibrary().delete(luid);
} catch (IOException e) {
Instance.syserr(e);
}
}
// open the given book
- void open(String luid, Progress pg) throws IOException {
+ void read(String luid, Progress pg) throws IOException {
File file = localLibrary.getFile(luid);
if (file == null) {
imprt(luid, pg);
file = localLibrary.getFile(luid);
}
- open(getLibrary().getInfo(luid), file);
+ // TODO: show a special page for the chapter?
+ openExternal(getLibrary().getInfo(luid), file);
}
- void changeType(String luid, String newType) {
+ void changeType(String luid, String newSource) {
try {
- localLibrary.changeSource(luid, newType, null);
- Instance.getLibrary().changeSource(luid, newType, null);
+ if (localLibrary.getInfo(luid) != null) {
+ localLibrary.changeSource(luid, newSource, null);
+ }
+ getLibrary().changeSource(luid, newSource, null);
} catch (IOException e) {
Instance.syserr(e);
}