setSize(800, 600);
setLayout(new BorderLayout());
- add(mainPanel);
+ add(mainPanel, BorderLayout.CENTER);
}
@Override
.getAbsolutePath()
+ type.getDefaultExtension(false);
final Progress pg = new Progress();
- mainPanel.outOfUi(pg, new Runnable() {
+ mainPanel.outOfUi(pg, false, new Runnable() {
@Override
public void run() {
try {
public void actionPerformed(ActionEvent e) {
final GuiReaderBook selectedBook = mainPanel.getSelectedBook();
if (selectedBook != null) {
- mainPanel.outOfUi(null, new Runnable() {
+ mainPanel.outOfUi(null, false, new Runnable() {
@Override
public void run() {
reader.clearLocalReaderCache(selectedBook.getInfo()
public void actionPerformed(ActionEvent e) {
final GuiReaderBook selectedBook = mainPanel.getSelectedBook();
if (selectedBook != null) {
+ boolean refreshRequired = false;
+
+ if (what == ChangeAction.SOURCE) {
+ refreshRequired = mainPanel.getCurrentType();
+ } else if (what == ChangeAction.TITLE) {
+ refreshRequired = false;
+ } else if (what == ChangeAction.AUTHOR) {
+ refreshRequired = !mainPanel.getCurrentType();
+ }
+
String changeTo = type;
if (type == null) {
MetaData meta = selectedBook.getInfo().getMeta();
}
final String fChangeTo = changeTo;
- mainPanel.outOfUi(null, new Runnable() {
+ mainPanel.outOfUi(null, refreshRequired, new Runnable() {
@Override
public void run() {
String luid = selectedBook.getInfo().getMeta()
reader.changeAuthor(luid, fChangeTo);
}
+ mainPanel.getSelectedBook().repaint();
mainPanel.unsetSelectedBook();
SwingUtilities.invokeLater(new Runnable() {
@Override
public void actionPerformed(ActionEvent e) {
final GuiReaderBook selectedBook = mainPanel.getSelectedBook();
- if (selectedBook != null) {
- mainPanel.outOfUi(null, new Runnable() {
- @Override
- public void run() {
- reader.delete(selectedBook.getInfo().getMeta()
- .getLuid());
- mainPanel.unsetSelectedBook();
- }
- });
+ if (selectedBook != null
+ && selectedBook.getInfo().getMeta() != null) {
+
+ final MetaData meta = selectedBook.getInfo().getMeta();
+ int rep = JOptionPane.showConfirmDialog(
+ GuiReaderFrame.this,
+ String.format("Delete %s: %s", meta.getLuid(),
+ meta.getTitle()), "Delete story",
+ JOptionPane.OK_CANCEL_OPTION);
+
+ if (rep == JOptionPane.OK_OPTION) {
+ mainPanel.outOfUi(null, true, new Runnable() {
+ @Override
+ public void run() {
+ reader.delete(meta.getLuid());
+ mainPanel.unsetSelectedBook();
+ }
+ });
+ }
}
}
});
public void actionPerformed(ActionEvent e) {
final GuiReaderBook selectedBook = mainPanel.getSelectedBook();
if (selectedBook != null) {
- mainPanel.outOfUi(null, new Runnable() {
+ mainPanel.outOfUi(null, false, new Runnable() {
@Override
public void run() {
- new GuiReaderPropertiesFrame(reader, selectedBook
- .getInfo()).setVisible(true);
+ new GuiReaderPropertiesFrame(reader.getLibrary(),
+ selectedBook.getInfo().getMeta())
+ .setVisible(true);
}
});
}
if (selectedBook != null) {
if (selectedBook.getInfo().getMeta() == null) {
mainPanel.removeBookPanes();
- mainPanel.addBookPane(selectedBook.getInfo().getMainInfo(),
- mainPanel.getCurrentType());
+ mainPanel.addBookPane(selectedBook.getInfo()
+ .getMainInfo(), mainPanel.getCurrentType());
mainPanel.refreshBooks();
} else {
mainPanel.openBook(selectedBook);