diff --git a/Core/src/org/sleuthkit/autopsy/filequery/FileSearchPanel.java b/Core/src/org/sleuthkit/autopsy/filequery/FileSearchPanel.java index c9bbb29cbe..0b96651394 100644 --- a/Core/src/org/sleuthkit/autopsy/filequery/FileSearchPanel.java +++ b/Core/src/org/sleuthkit/autopsy/filequery/FileSearchPanel.java @@ -18,6 +18,7 @@ */ package org.sleuthkit.autopsy.filequery; +import java.awt.Cursor; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ItemEvent; @@ -35,6 +36,7 @@ import javax.swing.JList; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import org.openide.util.NbBundle; +import org.openide.windows.WindowManager; import org.sleuthkit.autopsy.centralrepository.datamodel.EamDb; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.filequery.FileSearch.GroupingAttributeType; @@ -1170,6 +1172,7 @@ final class FileSearchPanel extends javax.swing.JPanel implements ActionListener private void searchButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_searchButtonActionPerformed searchButton.setEnabled(false); + WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR)); FileType searchType = fileTypeComboBox.getItemAt(fileTypeComboBox.getSelectedIndex()); DiscoveryEvents.getDiscoveryEventBus().post(new DiscoveryEvents.SearchStartedEvent(searchType)); // For testing, allow the user to run different searches in loop diff --git a/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.java b/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.java index 915cb93cb1..37981502d0 100644 --- a/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.java +++ b/Core/src/org/sleuthkit/autopsy/filequery/ResultsPanel.java @@ -89,7 +89,7 @@ public class ResultsPanel extends javax.swing.JPanel { instancesList.addListSelectionListener(listener); } - private synchronized void populateInstancesList() { + synchronized void populateInstancesList() { SwingUtilities.invokeLater(() -> { instancesListModel.removeAllElements(); for (AbstractFile file : getInstancesForSelected()) { @@ -124,6 +124,7 @@ public class ResultsPanel extends javax.swing.JPanel { @Subscribe void handlePageRetrievedEvent(DiscoveryEvents.PageRetrievedEvent pageRetrievedEvent) { SwingUtilities.invokeLater(() -> { + populateInstancesList(); currentPage = pageRetrievedEvent.getPageNumber(); updateControls(); thumbnailViewer.resetComponent(); diff --git a/Core/src/org/sleuthkit/autopsy/filequery/SearchWorker.java b/Core/src/org/sleuthkit/autopsy/filequery/SearchWorker.java index 734b49d04e..c1439875b4 100644 --- a/Core/src/org/sleuthkit/autopsy/filequery/SearchWorker.java +++ b/Core/src/org/sleuthkit/autopsy/filequery/SearchWorker.java @@ -18,11 +18,13 @@ */ package org.sleuthkit.autopsy.filequery; +import java.awt.Cursor; import java.util.LinkedHashMap; import javax.swing.JButton; import javax.swing.SwingWorker; import java.util.List; import java.util.logging.Level; +import org.openide.windows.WindowManager; import org.sleuthkit.autopsy.casemodule.Case; import org.sleuthkit.autopsy.centralrepository.datamodel.EamDb; import org.sleuthkit.autopsy.coreutils.Logger; @@ -83,5 +85,6 @@ final class SearchWorker extends SwingWorker { if (searchButtonToEnable != null) { searchButtonToEnable.setEnabled(true); } + WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR_CURSOR)); } }