diff --git a/src/uk/co/majenko/audiobookrecorder/AudiobookRecorder.java b/src/uk/co/majenko/audiobookrecorder/AudiobookRecorder.java index 88d9793..406e878 100644 --- a/src/uk/co/majenko/audiobookrecorder/AudiobookRecorder.java +++ b/src/uk/co/majenko/audiobookrecorder/AudiobookRecorder.java @@ -1090,14 +1090,18 @@ public class AudiobookRecorder extends JFrame implements DocumentListener { try { Book b = new Book(f); rootNode.add(b); - bookTreeModel.reload(rootNode); - bookTree.expandPath(new TreePath(b.getPath())); } catch (Exception ex) { ex.printStackTrace(); } } } } + SwingUtilities.invokeLater(new Runnable() { + public void run() { + bookTreeModel.reload(rootNode); + expandAllBooks(); + } + }); } queueJob(new VersionChecker()); @@ -2216,6 +2220,16 @@ public class AudiobookRecorder extends JFrame implements DocumentListener { bookTree.scrollPathToVisible(new TreePath(c.getPath())); } + public void expandAllBooks() { + for (Enumeration s = rootNode.children(); s.hasMoreElements();) { + TreeNode n = (TreeNode)s.nextElement(); + if (n instanceof Book) { + Book b = (Book)n; + bookTree.expandPath(new TreePath(b.getPath())); + } + } + } + public void saveAllBooks() { for (Enumeration s = rootNode.children(); s.hasMoreElements();) { TreeNode n = (TreeNode)s.nextElement();