From 04e0fe7ad6ff2b71f90494d1f05c0cbdbb0db40f Mon Sep 17 00:00:00 2001 From: William Schaefer Date: Thu, 5 Sep 2019 11:48:09 -0400 Subject: [PATCH] 5423 hopefully fix refresh issue and reduce duplicate code --- .../autopsy/filequery/ResultsPanel.java | 48 +++++++++---------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.java b/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.java index 3477c614bd..d8798a42e4 100644 --- a/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.java @@ -155,12 +155,7 @@ public class ResultsPanel extends javax.swing.JPanel { populateInstancesList(); currentPage = pageRetrievedEvent.getPageNumber(); updateControls(); - imageThumbnailViewer.clearViewer(); - videoThumbnailViewer.clearViewer(); - tableViewer.resetComponent(); - resultsViewerPanel.remove(imageThumbnailViewer); - resultsViewerPanel.remove(tableViewer); - resultsViewerPanel.remove(videoThumbnailViewer); + resetResultViewer(); if (pageRetrievedEvent.getType() == FileSearchData.FileType.IMAGE) { populateImageViewer(pageRetrievedEvent.getSearchResults()); resultsViewerPanel.add(imageThumbnailViewer); @@ -176,17 +171,22 @@ public class ResultsPanel extends javax.swing.JPanel { tableViewer.setNode(new TableFilterNode(new DataResultFilterNode(Node.EMPTY), true)); } } + resultsViewerPanel.revalidate(); + resultsViewerPanel.repaint(); } ); } /** - * Populate the video thumbnail viewer, cancelling any thumbnails which are - * currently being created first. - * - * @param files The list of ResultFiles to populate the video viewer with. + * Reset the result viewer and any associate workers to a default empty + * state. */ - synchronized void populateVideoViewer(List files) { + private synchronized void resetResultViewer() { + resultsViewerPanel.remove(imageThumbnailViewer); + tableViewer.resetComponent(); + resultsViewerPanel.remove(tableViewer); + resultsViewerPanel.remove(videoThumbnailViewer); + //cancel any unfished thumb workers for (SwingWorker thumbWorker : thumbnailWorkers) { if (!thumbWorker.isDone()) { @@ -196,6 +196,16 @@ public class ResultsPanel extends javax.swing.JPanel { //clear old thumbnails thumbnailWorkers.clear(); videoThumbnailViewer.clearViewer(); + imageThumbnailViewer.clearViewer(); + } + + /** + * Populate the video thumbnail viewer, cancelling any thumbnails which are + * currently being created first. + * + * @param files The list of ResultFiles to populate the video viewer with. + */ + synchronized void populateVideoViewer(List files) { for (ResultFile file : files) { VideoThumbnailWorker thumbWorker = new VideoThumbnailWorker(file); thumbWorker.execute(); @@ -211,14 +221,6 @@ public class ResultsPanel extends javax.swing.JPanel { * @param files The list of ResultFiles to populate the image viewer with. */ synchronized void populateImageViewer(List files) { - for (SwingWorker thumbWorker : thumbnailWorkers) { - if (!thumbWorker.isDone()) { - thumbWorker.cancel(true); - } - } - //clear old thumbnails - thumbnailWorkers.clear(); - imageThumbnailViewer.clearViewer(); for (ResultFile file : files) { ImageThumbnailWorker thumbWorker = new ImageThumbnailWorker(file); thumbWorker.execute(); @@ -574,9 +576,7 @@ public class ResultsPanel extends javax.swing.JPanel { @Override protected void done() { - if (!isCancelled()) { - videoThumbnailViewer.repaint(); - } + videoThumbnailViewer.repaint(); } } @@ -610,9 +610,7 @@ public class ResultsPanel extends javax.swing.JPanel { @Override protected void done() { - if (!isCancelled()) { - imageThumbnailViewer.repaint(); - } + imageThumbnailViewer.repaint(); } }