From edb851e132c9fd357c52159e07f160147cf856c4 Mon Sep 17 00:00:00 2001 From: Dick Fickling Date: Mon, 12 Mar 2012 17:42:48 -0400 Subject: [PATCH] Set default DataResult viewer active when selection in directory tree is changed --- .../directorytree/DirectoryTreeTopComponent.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponent.java b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponent.java index 9471432034..d9512abbd7 100644 --- a/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponent.java +++ b/DirectoryTree/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponent.java @@ -567,6 +567,8 @@ public final class DirectoryTreeTopComponent extends TopComponent implements Dat logger.log(Level.WARNING, "Error resetting node", ex); } } + final Node[] oldNodes = (Node[])oldValue; + final Node[] newNodes = (Node[])newValue; // Some lock that prevents certain Node operations is set during the // ExplorerManager selection-change, so we must handle changes after the // selection-change event is processed. @@ -610,7 +612,15 @@ public final class DirectoryTreeTopComponent extends TopComponent implements Dat } // set the directory listing to be active - //dataResult.requestActive(); + if(oldNodes != null && newNodes != null && + (oldNodes.length == newNodes.length)) { + boolean sameNodes = true; + for(int i = 0; i < oldNodes.length; i++) { + sameNodes = sameNodes && oldNodes[i].getName().equals(newNodes[i].getName()); + } + if(!sameNodes) + dataResult.requestActive(); + } } finally { DirectoryTreeTopComponent.this.setCursor(null); }