From 356d95191b8b21f3bfe2d7c1a411210a0cd7f140 Mon Sep 17 00:00:00 2001 From: Matt Jenkins Date: Sat, 8 Feb 2020 20:53:40 +0000 Subject: [PATCH] Fixed auto expansion of books at startup --- .../audiobookrecorder/AudiobookRecorder.java | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) 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();