From e5c83bc9cea3d7f5920a86d57f7fbf873e7b9ede Mon Sep 17 00:00:00 2001 From: adam-m Date: Tue, 7 May 2013 12:53:33 -0400 Subject: [PATCH] rename Images node, autorefresh content tree after adding local files --- .../autopsy/casemodule/services/FileManager.java | 9 +++++++-- .../org/sleuthkit/autopsy/datamodel/ImagesNode.java | 2 +- .../directorytree/DirectoryTreeTopComponent.java | 12 ++++++++++++ 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/services/FileManager.java b/Core/src/org/sleuthkit/autopsy/casemodule/services/FileManager.java index 16780bfd59..811be0ab35 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/services/FileManager.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/services/FileManager.java @@ -25,6 +25,7 @@ package org.sleuthkit.autopsy.casemodule.services; import java.io.Closeable; import java.io.IOException; import java.util.List; +import org.sleuthkit.autopsy.directorytree.DirectoryTreeTopComponent; import org.sleuthkit.datamodel.AbstractFile; import org.sleuthkit.datamodel.DerivedFile; import org.sleuthkit.datamodel.FsContent; @@ -197,11 +198,15 @@ public class FileManager implements Closeable { String fileName = localFile.getName(); - return tskCase.addLocalFile(fileName, localAbsPath, size, + LocalFile lf = tskCase.addLocalFile(fileName, localAbsPath, size, ctime, crtime, atime, mtime, isFile, parentFile); - //TODO decide if send event to viewers, or client should + //refresh the content tree + //TODO decouple, use Node autorefresh once implemented + DirectoryTreeTopComponent.getDefault().refreshContentTreeSafe(); + + return lf; } @Override diff --git a/Core/src/org/sleuthkit/autopsy/datamodel/ImagesNode.java b/Core/src/org/sleuthkit/autopsy/datamodel/ImagesNode.java index 24d35d3915..3258451e28 100644 --- a/Core/src/org/sleuthkit/autopsy/datamodel/ImagesNode.java +++ b/Core/src/org/sleuthkit/autopsy/datamodel/ImagesNode.java @@ -29,7 +29,7 @@ import org.sleuthkit.datamodel.Content; */ public class ImagesNode extends DisplayableItemNode { - public static final String NAME = "Images"; + public static final String NAME = "Data Sources"; public ImagesNode(List images) { super(new RootContentChildren(images), Lookups.singleton(NAME)); diff --git a/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponent.java b/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponent.java index ec74c5a212..823c5e232e 100644 --- a/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponent.java +++ b/Core/src/org/sleuthkit/autopsy/directorytree/DirectoryTreeTopComponent.java @@ -736,6 +736,18 @@ public final class DirectoryTreeTopComponent extends TopComponent implements Dat return (BeanTreeView) this.jScrollPane1; } + /** + * Refresh the content node part of the dir tree safely in the EDT thread + */ + public void refreshContentTreeSafe() { + SwingUtilities.invokeLater(new Runnable() { + @Override + public void run() { + refreshContentTree(); + } + }); + } + /** * Refreshes changed content nodes */