import be.nikiroo.fanfix.Instance;
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;
localLibrary = new LocalLibrary(dir, text, images);
}
+ @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);
- }
-
- public void read(int chapter) throws IOException {
- // TODO: show a special page?
- read();
+ read(meta.getLuid(), null);
}
/**
return localLibrary.getInfo(luid) != null;
}
+ @Override
public void browse(String type) {
// TODO: improve presentation of update message
final VersionCheck updates = VersionCheck.check();
// 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,
// delete from main library
void delete(String luid) {
try {
- localLibrary.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);
}
+ // 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);
- 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);
}