defer selection to ensure the new node is set as rootcontext first

This commit is contained in:
jmillman
2014-06-13 16:25:30 -04:00
parent 95f748afc9
commit ee3ced6ba9
@@ -36,7 +36,6 @@ import org.openide.nodes.NodeEvent;
import org.openide.nodes.NodeListener;
import org.openide.nodes.NodeMemberEvent;
import org.openide.nodes.NodeReorderEvent;
import org.openide.util.Exceptions;
import org.openide.util.Lookup;
import org.openide.util.NbBundle;
import org.sleuthkit.autopsy.casemodule.Case;
@@ -369,7 +368,7 @@ public class DataResultPanel extends javax.swing.JPanel implements DataResult, C
}
@Override
public void setNode(Node selectedNode) {
public void setNode(final Node selectedNode) {
if (this.rootNode != null) {
this.rootNode.removeNodeListener(dummyNodeListener);
}
@@ -392,12 +391,19 @@ public class DataResultPanel extends javax.swing.JPanel implements DataResult, C
if (selectedNode != null) {
int childrenCount = selectedNode.getChildren().getNodesCount();
this.numberMatchLabel.setText(Integer.toString(childrenCount));
//if there is only one child, select it to be displayed in the content viewer
if (childrenCount == 1) {
try {
explorerManager.setSelectedNodes(selectedNode.getChildren().getNodes());
} catch (PropertyVetoException ex) {
Exceptions.printStackTrace(ex);
}
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
try {
explorerManager.setSelectedNodes(selectedNode.getChildren().getNodes());
} catch (PropertyVetoException ex) {
logger.log(Level.INFO, "node selection vetoed");
}
}
});
}
}
this.numberMatchLabel.setVisible(true);