5423 hopefully fix refresh issue and reduce duplicate code

This commit is contained in:
William Schaefer 2019-09-05 11:48:09 -04:00
parent 8aba6c9d9e
commit 04e0fe7ad6

View File

@ -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<ResultFile> files) {
private synchronized void resetResultViewer() {
resultsViewerPanel.remove(imageThumbnailViewer);
tableViewer.resetComponent();
resultsViewerPanel.remove(tableViewer);
resultsViewerPanel.remove(videoThumbnailViewer);
//cancel any unfished thumb workers
for (SwingWorker<Void, Void> 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<ResultFile> 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<ResultFile> files) {
for (SwingWorker<Void, Void> 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();
}
}