From 252d5868cd7b348a8d1aa16762625b3523b7e04b Mon Sep 17 00:00:00 2001 From: Jeff Wallace Date: Wed, 2 Oct 2013 16:32:19 -0400 Subject: [PATCH 1/4] Added mising resources to corecomponents Bundle. --- .../src/org/sleuthkit/autopsy/corecomponents/Bundle.properties | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties index a2a8e9e004..e89a04e083 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/Bundle.properties @@ -106,3 +106,6 @@ MediaViewVideoPanel.pauseButton.text=\u25ba MediaViewVideoPanel.progressLabel.text=00:00 DataContentViewerMedia.AccessibleContext.accessibleDescription= MediaViewVideoPanel.infoLabel.text=info +GeneralPanel.jLabel2.text=When displaying times: +GeneralPanel.useLocalTimeRB.text=Use local timezone +GeneralPanel.useGMTTimeRB.text=Use GMT From 23a0573fcc673f9e1ee348db771d20e1dc7533dc Mon Sep 17 00:00:00 2001 From: Jeff Wallace Date: Fri, 4 Oct 2013 14:20:04 -0400 Subject: [PATCH 2/4] Fixed redundant calls to setupTable/tabs do to node listener. --- .../autopsy/corecomponents/DataResultPanel.java | 14 +++++++++----- .../corecomponents/DataResultViewerTable.java | 16 ++++++++-------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultPanel.java b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultPanel.java index 01929ba341..f7a72f2fbd 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultPanel.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultPanel.java @@ -612,19 +612,23 @@ public class DataResultPanel extends javax.swing.JPanel implements DataResult, C private class DummyNodeListener implements NodeListener { private static final String DUMMY_NODE_DISPLAY_NAME = "Please Wait..."; + private boolean reload = false; @Override public void childrenAdded(final NodeMemberEvent nme) { - Node added = nme.getNode(); - if (added.getDisplayName().equals(DUMMY_NODE_DISPLAY_NAME)) { - // don't set up tabs if the new node is a waiting node - return; + if (reload) { + setupTabs(nme.getNode()); + reload = false; } - setupTabs(nme.getNode()); } @Override public void childrenRemoved(NodeMemberEvent nme) { + Node removed = nme.getNode(); + if (removed.getDisplayName().equals(DUMMY_NODE_DISPLAY_NAME)) { + // set up tabs if the node removed is a waiting node + reload = false; + } } @Override diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java index 6c42c9f7bf..ba68cf7a69 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java @@ -478,21 +478,21 @@ public class DataResultViewerTable extends AbstractDataResultViewer { private class DummyNodeListener implements NodeListener { private static final String DUMMY_NODE_DISPLAY_NAME = "Please Wait..."; - + private boolean reload = false; @Override public void childrenAdded(NodeMemberEvent nme) { - Node added = nme.getNode(); - if (added.getDisplayName().equals(DUMMY_NODE_DISPLAY_NAME)) { - // If it's the dummy waiting node, we don't want - // to reload the table headers - return; + if (reload = true) { + setupTable(nme.getNode()); + reload = false; } - setupTable(added); } @Override public void childrenRemoved(NodeMemberEvent nme) { - + Node removed = nme.getNode(); + if (removed.getDisplayName().equals(DUMMY_NODE_DISPLAY_NAME)) { + reload = true; + } } @Override From 5aca89c0713aa2274063a5c0bc81cbd24743cd7b Mon Sep 17 00:00:00 2001 From: Jeff Wallace Date: Fri, 4 Oct 2013 17:35:08 -0400 Subject: [PATCH 3/4] Fixed if statement logic. --- .../sleuthkit/autopsy/corecomponents/DataResultViewerTable.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java index ba68cf7a69..3610ead192 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java @@ -481,7 +481,7 @@ public class DataResultViewerTable extends AbstractDataResultViewer { private boolean reload = false; @Override public void childrenAdded(NodeMemberEvent nme) { - if (reload = true) { + if (reload) { setupTable(nme.getNode()); reload = false; } From 50b86dae42b39c807e3cafaf8fd3a41a5f935d35 Mon Sep 17 00:00:00 2001 From: Jeff Wallace Date: Mon, 7 Oct 2013 11:23:02 -0400 Subject: [PATCH 4/4] Fixed redundant calls --- .../corecomponents/DataResultPanel.java | 28 ++++++++++++------ .../corecomponents/DataResultViewerTable.java | 29 +++++++++++++------ 2 files changed, 39 insertions(+), 18 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultPanel.java b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultPanel.java index f7a72f2fbd..6835a1e435 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultPanel.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultPanel.java @@ -358,6 +358,7 @@ public class DataResultPanel extends javax.swing.JPanel implements DataResult, C this.rootNode = selectedNode; if (this.rootNode != null) { + dummyNodeListener.reset(); this.rootNode.addNodeListener(dummyNodeListener); } @@ -612,23 +613,32 @@ public class DataResultPanel extends javax.swing.JPanel implements DataResult, C private class DummyNodeListener implements NodeListener { private static final String DUMMY_NODE_DISPLAY_NAME = "Please Wait..."; - private boolean reload = false; + private volatile boolean load = true; + + public void reset() { + load = true; + } @Override - public void childrenAdded(final NodeMemberEvent nme) { - if (reload) { + public void childrenAdded(NodeMemberEvent nme) { + Node[] delta = nme.getDelta(); + if (load && containsReal(delta)) { + load = false; setupTabs(nme.getNode()); - reload = false; } } + + private boolean containsReal(Node[] delta) { + for (Node n : delta) { + if (!n.getDisplayName().equals(DUMMY_NODE_DISPLAY_NAME)) { + return true; + } + } + return false; + } @Override public void childrenRemoved(NodeMemberEvent nme) { - Node removed = nme.getNode(); - if (removed.getDisplayName().equals(DUMMY_NODE_DISPLAY_NAME)) { - // set up tabs if the node removed is a waiting node - reload = false; - } } @Override diff --git a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java index 3610ead192..ab8d52fed8 100644 --- a/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java +++ b/Core/src/org/sleuthkit/autopsy/corecomponents/DataResultViewerTable.java @@ -243,8 +243,7 @@ public class DataResultViewerTable extends AbstractDataResultViewer { this.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); try { boolean hasChildren = false; - - + if (selectedNode != null) { hasChildren = selectedNode.getChildren().getNodesCount() > 0; } @@ -257,6 +256,7 @@ public class DataResultViewerTable extends AbstractDataResultViewer { // if there's no selection node, do nothing if (hasChildren) { Node root = selectedNode; + dummyNodeListener.reset(); root.addNodeListener(dummyNodeListener); setupTable(root); } else { @@ -478,21 +478,32 @@ public class DataResultViewerTable extends AbstractDataResultViewer { private class DummyNodeListener implements NodeListener { private static final String DUMMY_NODE_DISPLAY_NAME = "Please Wait..."; - private boolean reload = false; + private volatile boolean load = true; + + public void reset() { + load = true; + } + @Override public void childrenAdded(NodeMemberEvent nme) { - if (reload) { + Node[] delta = nme.getDelta(); + if (load && containsReal(delta)) { + load = false; setupTable(nme.getNode()); - reload = false; } } + + private boolean containsReal(Node[] delta) { + for (Node n : delta) { + if (!n.getDisplayName().equals(DUMMY_NODE_DISPLAY_NAME)) { + return true; + } + } + return false; + } @Override public void childrenRemoved(NodeMemberEvent nme) { - Node removed = nme.getNode(); - if (removed.getDisplayName().equals(DUMMY_NODE_DISPLAY_NAME)) { - reload = true; - } } @Override