From dda7ec04d88fe91a0d2188d43cbd6fc6a2406b0c Mon Sep 17 00:00:00 2001 From: Greg DiCristofaro Date: Wed, 16 Sep 2020 09:08:30 -0400 Subject: [PATCH] bug fixes --- .../datamodel/Bundle.properties-MERGED | 1 + .../datasourcesummary/ui/AnalysisPanel.form | 5 +++++ .../datasourcesummary/ui/AnalysisPanel.java | 1 + .../ui/BaseDataSourceSummaryPanel.java | 4 ++-- .../ui/Bundle.properties-MERGED | 4 ++++ .../datasourcesummary/ui/PastCasesPanel.form | 17 +++++++++++++---- .../datasourcesummary/ui/PastCasesPanel.java | 16 ++++++++++++---- .../ui/RecentFilesPanel.form | 19 ++++++++++++------- .../ui/RecentFilesPanel.java | 14 ++++++++------ .../datasourcesummary/ui/TypesPanel.form | 5 +++++ .../datasourcesummary/ui/TypesPanel.java | 5 +++-- .../ui/UserActivityPanel.form | 5 +++++ .../ui/UserActivityPanel.java | 2 ++ .../uiutils/Bundle.properties-MERGED | 1 + .../uiutils/IngestRunningLabel.java | 4 ++++ 15 files changed, 78 insertions(+), 25 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/datasourcesummary/datamodel/Bundle.properties-MERGED b/Core/src/org/sleuthkit/autopsy/datasourcesummary/datamodel/Bundle.properties-MERGED index 2e019a0248..8d62e88381 100644 --- a/Core/src/org/sleuthkit/autopsy/datasourcesummary/datamodel/Bundle.properties-MERGED +++ b/Core/src/org/sleuthkit/autopsy/datasourcesummary/datamodel/Bundle.properties-MERGED @@ -1,2 +1,3 @@ DataSourceUserActivitySummary_getRecentAccounts_calllogMessage=Call Log DataSourceUserActivitySummary_getRecentAccounts_emailMessage=Email Message +IngestModuleCheckUtil_recentActivityModuleName=Recent Activity diff --git a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/AnalysisPanel.form b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/AnalysisPanel.form index 07ed2771e1..0a0b094ff8 100644 --- a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/AnalysisPanel.form +++ b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/AnalysisPanel.form @@ -59,6 +59,11 @@ + + + + + diff --git a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/AnalysisPanel.java b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/AnalysisPanel.java index 0cfca04286..b4f9138117 100644 --- a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/AnalysisPanel.java +++ b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/AnalysisPanel.java @@ -177,6 +177,7 @@ public class AnalysisPanel extends BaseDataSourceSummaryPanel { mainContentPanel.setMinimumSize(new java.awt.Dimension(200, 452)); mainContentPanel.setLayout(new javax.swing.BoxLayout(mainContentPanel, javax.swing.BoxLayout.PAGE_AXIS)); + ingestRunningPanel.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 5, 1)); ingestRunningPanel.setAlignmentX(0.0F); ingestRunningPanel.setMaximumSize(new java.awt.Dimension(32767, 20)); ingestRunningPanel.setMinimumSize(new java.awt.Dimension(10, 20)); diff --git a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/BaseDataSourceSummaryPanel.java b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/BaseDataSourceSummaryPanel.java index 6e5310cc8d..12bd75ffcb 100644 --- a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/BaseDataSourceSummaryPanel.java +++ b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/BaseDataSourceSummaryPanel.java @@ -324,7 +324,7 @@ abstract class BaseDataSourceSummaryPanel extends JPanel { * Search'). */ protected void showResultWithModuleCheck(LoadableComponent> component, DataFetchResult> result, String factoryClass, String moduleName) { - Predicate> hasResults = (lst) -> lst == null || lst.isEmpty(); + Predicate> hasResults = (lst) -> lst != null && !lst.isEmpty(); showResultWithModuleCheck(component, result, hasResults, factoryClass, moduleName); } @@ -348,7 +348,7 @@ abstract class BaseDataSourceSummaryPanel extends JPanel { if (result != null && result.getResultType() == ResultType.SUCCESS && !hasResults.test(result.getData())) { try { - if (ingestModuleCheck.isModuleIngested(getDataSource(), factoryClass)) { + if (!ingestModuleCheck.isModuleIngested(getDataSource(), factoryClass)) { component.showMessage(getDefaultNoIngestMessage(moduleName)); return; } diff --git a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/Bundle.properties-MERGED b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/Bundle.properties-MERGED index c994603559..1bf1de03b3 100644 --- a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/Bundle.properties-MERGED +++ b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/Bundle.properties-MERGED @@ -1,5 +1,8 @@ AnalysisPanel_countColumn_title=Count AnalysisPanel_keyColumn_title=Name +AnalysisPanel_keywordSearchModuleName=Keyword Search +# {0} - module name +BaseDataSourceSummaryPanel_defaultNotIngestMessage=The {0} Ingest Module has not been run on this datasource. ContainerPanel.getDataSources.error.text=Failed to get the list of datasources for the current case. ContainerPanel.getDataSources.error.title=Load Failure CTL_DataSourceSummaryAction=Data Source Summary @@ -54,6 +57,7 @@ PastCasesPanel_onNoCrIngest_message=No results will be shown because the Central RecentFilePanel_col_header_domain=Domain RecentFilePanel_col_header_path=Path RecentFilePanel_col_header_sender=Sender +RecentFilePanel_emailParserModuleName=Email Parser RecentFilePanel_no_open_documents=No recently open documents found. RecentFilesPanel_col_head_date=Date SizeRepresentationUtil_units_bytes=\ bytes diff --git a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/PastCasesPanel.form b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/PastCasesPanel.form index fd8a67cd36..f5b217fd85 100644 --- a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/PastCasesPanel.form +++ b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/PastCasesPanel.form @@ -53,6 +53,11 @@ + + + + + @@ -61,7 +66,7 @@ - + @@ -91,7 +96,7 @@ - + @@ -99,6 +104,7 @@ + @@ -130,7 +136,7 @@ - + @@ -138,6 +144,7 @@ + @@ -159,7 +166,7 @@ - + @@ -167,6 +174,7 @@ + @@ -200,6 +208,7 @@ + diff --git a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/PastCasesPanel.java b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/PastCasesPanel.java index 5a520e471f..4499a5eea5 100644 --- a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/PastCasesPanel.java +++ b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/PastCasesPanel.java @@ -157,27 +157,29 @@ public class PastCasesPanel extends BaseDataSourceSummaryPanel { javax.swing.JPanel mainContentPanel = new javax.swing.JPanel(); javax.swing.JPanel ingestRunningPanel = ingestRunningLabel; javax.swing.JLabel notableFileLabel = new javax.swing.JLabel(); - javax.swing.Box.Filler filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 2), new java.awt.Dimension(0, 2), new java.awt.Dimension(32767, 2)); + javax.swing.Box.Filler filler1 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 2), new java.awt.Dimension(0, 2), new java.awt.Dimension(0, 2)); javax.swing.JPanel notableFilePanel = notableFileTable; - javax.swing.Box.Filler filler2 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 20), new java.awt.Dimension(0, 20), new java.awt.Dimension(32767, 20)); + javax.swing.Box.Filler filler2 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 20), new java.awt.Dimension(0, 20), new java.awt.Dimension(0, 20)); javax.swing.JLabel sameIdLabel = new javax.swing.JLabel(); - javax.swing.Box.Filler filler3 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 2), new java.awt.Dimension(0, 2), new java.awt.Dimension(32767, 2)); + javax.swing.Box.Filler filler3 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 2), new java.awt.Dimension(0, 2), new java.awt.Dimension(0, 2)); javax.swing.JPanel sameIdPanel = sameIdTable; javax.swing.Box.Filler filler5 = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 32767)); mainContentPanel.setBorder(javax.swing.BorderFactory.createEmptyBorder(10, 10, 10, 10)); mainContentPanel.setLayout(new javax.swing.BoxLayout(mainContentPanel, javax.swing.BoxLayout.PAGE_AXIS)); + ingestRunningPanel.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 5, 1)); ingestRunningPanel.setAlignmentX(0.0F); ingestRunningPanel.setMaximumSize(new java.awt.Dimension(32767, 20)); ingestRunningPanel.setMinimumSize(new java.awt.Dimension(10, 20)); - ingestRunningPanel.setPreferredSize(new java.awt.Dimension(32767, 20)); + ingestRunningPanel.setPreferredSize(new java.awt.Dimension(10, 20)); mainContentPanel.add(ingestRunningPanel); org.openide.awt.Mnemonics.setLocalizedText(notableFileLabel, org.openide.util.NbBundle.getMessage(PastCasesPanel.class, "PastCasesPanel.notableFileLabel.text")); // NOI18N mainContentPanel.add(notableFileLabel); notableFileLabel.getAccessibleContext().setAccessibleName(org.openide.util.NbBundle.getMessage(PastCasesPanel.class, "PastCasesPanel.notableFileLabel.text")); // NOI18N + filler1.setAlignmentX(0.0F); mainContentPanel.add(filler1); notableFilePanel.setAlignmentX(0.0F); @@ -185,10 +187,14 @@ public class PastCasesPanel extends BaseDataSourceSummaryPanel { notableFilePanel.setMinimumSize(new java.awt.Dimension(100, 106)); notableFilePanel.setPreferredSize(new java.awt.Dimension(100, 106)); mainContentPanel.add(notableFilePanel); + + filler2.setAlignmentX(0.0F); mainContentPanel.add(filler2); org.openide.awt.Mnemonics.setLocalizedText(sameIdLabel, org.openide.util.NbBundle.getMessage(PastCasesPanel.class, "PastCasesPanel.sameIdLabel.text")); // NOI18N mainContentPanel.add(sameIdLabel); + + filler3.setAlignmentX(0.0F); mainContentPanel.add(filler3); sameIdPanel.setAlignmentX(0.0F); @@ -196,6 +202,8 @@ public class PastCasesPanel extends BaseDataSourceSummaryPanel { sameIdPanel.setMinimumSize(new java.awt.Dimension(100, 106)); sameIdPanel.setPreferredSize(new java.awt.Dimension(100, 106)); mainContentPanel.add(sameIdPanel); + + filler5.setAlignmentX(0.0F); mainContentPanel.add(filler5); mainScrollPane.setViewportView(mainContentPanel); diff --git a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/RecentFilesPanel.form b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/RecentFilesPanel.form index b67ec8a6a3..7f94219af6 100755 --- a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/RecentFilesPanel.form +++ b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/RecentFilesPanel.form @@ -31,6 +31,11 @@ + + + + + @@ -65,7 +70,7 @@ - + @@ -77,7 +82,7 @@ - + @@ -89,7 +94,7 @@ - + @@ -101,7 +106,7 @@ - + @@ -119,7 +124,7 @@ - + @@ -135,7 +140,7 @@ - + @@ -151,7 +156,7 @@ - + diff --git a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/RecentFilesPanel.java b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/RecentFilesPanel.java index b599e60bd6..c61633981e 100755 --- a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/RecentFilesPanel.java +++ b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/RecentFilesPanel.java @@ -237,6 +237,7 @@ public final class RecentFilesPanel extends BaseDataSourceSummaryPanel { setLayout(new java.awt.BorderLayout()); + tablePanel.setBorder(javax.swing.BorderFactory.createEmptyBorder(10, 10, 10, 10)); tablePanel.setMinimumSize(new java.awt.Dimension(400, 400)); tablePanel.setPreferredSize(new java.awt.Dimension(600, 400)); tablePanel.setLayout(new java.awt.GridBagLayout()); @@ -250,6 +251,7 @@ public final class RecentFilesPanel extends BaseDataSourceSummaryPanel { gridBagConstraints.gridy = 0; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST; + gridBagConstraints.insets = new java.awt.Insets(0, 0, 5, 0); tablePanel.add(ingestRunningPanel, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; @@ -258,7 +260,7 @@ public final class RecentFilesPanel extends BaseDataSourceSummaryPanel { gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; - gridBagConstraints.insets = new java.awt.Insets(5, 5, 0, 5); + gridBagConstraints.insets = new java.awt.Insets(2, 0, 0, 0); tablePanel.add(openedDocPane, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; @@ -267,7 +269,7 @@ public final class RecentFilesPanel extends BaseDataSourceSummaryPanel { gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; - gridBagConstraints.insets = new java.awt.Insets(5, 5, 0, 5); + gridBagConstraints.insets = new java.awt.Insets(2, 0, 0, 0); tablePanel.add(downloadsPane, gridBagConstraints); gridBagConstraints = new java.awt.GridBagConstraints(); gridBagConstraints.gridx = 0; @@ -276,7 +278,7 @@ public final class RecentFilesPanel extends BaseDataSourceSummaryPanel { gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; gridBagConstraints.weightx = 1.0; gridBagConstraints.weighty = 1.0; - gridBagConstraints.insets = new java.awt.Insets(5, 5, 10, 5); + gridBagConstraints.insets = new java.awt.Insets(2, 0, 0, 0); tablePanel.add(attachmentsPane, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(openDocsLabel, org.openide.util.NbBundle.getMessage(RecentFilesPanel.class, "RecentFilesPanel.openDocsLabel.text")); // NOI18N @@ -285,7 +287,7 @@ public final class RecentFilesPanel extends BaseDataSourceSummaryPanel { gridBagConstraints.gridy = 1; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; - gridBagConstraints.insets = new java.awt.Insets(10, 5, 0, 5); + gridBagConstraints.insets = new java.awt.Insets(5, 0, 0, 0); tablePanel.add(openDocsLabel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(downloadLabel, org.openide.util.NbBundle.getMessage(RecentFilesPanel.class, "RecentFilesPanel.downloadLabel.text")); // NOI18N @@ -293,7 +295,7 @@ public final class RecentFilesPanel extends BaseDataSourceSummaryPanel { gridBagConstraints.gridx = 0; gridBagConstraints.gridy = 3; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; - gridBagConstraints.insets = new java.awt.Insets(15, 5, 0, 5); + gridBagConstraints.insets = new java.awt.Insets(20, 0, 0, 0); tablePanel.add(downloadLabel, gridBagConstraints); org.openide.awt.Mnemonics.setLocalizedText(attachmentLabel, org.openide.util.NbBundle.getMessage(RecentFilesPanel.class, "RecentFilesPanel.attachmentLabel.text")); // NOI18N @@ -302,7 +304,7 @@ public final class RecentFilesPanel extends BaseDataSourceSummaryPanel { gridBagConstraints.gridy = 5; gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL; gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTH; - gridBagConstraints.insets = new java.awt.Insets(15, 5, 0, 5); + gridBagConstraints.insets = new java.awt.Insets(20, 0, 0, 0); tablePanel.add(attachmentLabel, gridBagConstraints); scrollPane.setViewportView(tablePanel); diff --git a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/TypesPanel.form b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/TypesPanel.form index 36a8ee3493..3619bb574f 100644 --- a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/TypesPanel.form +++ b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/TypesPanel.form @@ -54,6 +54,11 @@ + + + + + diff --git a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/TypesPanel.java b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/TypesPanel.java index 17a07dc399..483b0543d4 100644 --- a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/TypesPanel.java +++ b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/TypesPanel.java @@ -194,7 +194,7 @@ class TypesPanel extends BaseDataSourceSummaryPanel { showResultWithModuleCheck( usageLabel, result, - StringUtils::isBlank, + StringUtils::isNotBlank, IngestModuleCheckUtil.RECENT_ACTIVITY_FACTORY, IngestModuleCheckUtil.RECENT_ACTIVITY_MODULE_NAME); }), @@ -205,7 +205,7 @@ class TypesPanel extends BaseDataSourceSummaryPanel { showResultWithModuleCheck( osLabel, result, - StringUtils::isBlank, + StringUtils::isNotBlank, IngestModuleCheckUtil.RECENT_ACTIVITY_FACTORY, IngestModuleCheckUtil.RECENT_ACTIVITY_MODULE_NAME); }), @@ -356,6 +356,7 @@ class TypesPanel extends BaseDataSourceSummaryPanel { contentParent.setMinimumSize(new java.awt.Dimension(400, 490)); contentParent.setLayout(new javax.swing.BoxLayout(contentParent, javax.swing.BoxLayout.PAGE_AXIS)); + ingestRunningPanel.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 5, 1)); ingestRunningPanel.setAlignmentX(0.0F); ingestRunningPanel.setMaximumSize(new java.awt.Dimension(32767, 20)); ingestRunningPanel.setMinimumSize(new java.awt.Dimension(10, 20)); diff --git a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/UserActivityPanel.form b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/UserActivityPanel.form index f4daefb048..52c456fa4f 100644 --- a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/UserActivityPanel.form +++ b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/UserActivityPanel.form @@ -62,6 +62,11 @@ + + + + + diff --git a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/UserActivityPanel.java b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/UserActivityPanel.java index 1e83a71cb8..3cb71a177b 100644 --- a/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/UserActivityPanel.java +++ b/Core/src/org/sleuthkit/autopsy/datasourcesummary/ui/UserActivityPanel.java @@ -27,6 +27,7 @@ import java.util.List; import java.util.Locale; import org.apache.commons.lang.StringUtils; import org.openide.util.NbBundle.Messages; +import org.sleuthkit.autopsy.datasourcesummary.datamodel.IngestModuleCheckUtil; import org.sleuthkit.autopsy.datasourcesummary.datamodel.UserActivitySummary; import org.sleuthkit.autopsy.datasourcesummary.datamodel.TopProgramsSummary; import org.sleuthkit.autopsy.datasourcesummary.datamodel.UserActivitySummary.TopAccountResult; @@ -367,6 +368,7 @@ public class UserActivityPanel extends BaseDataSourceSummaryPanel { contentPanel.setMinimumSize(new java.awt.Dimension(10, 450)); contentPanel.setLayout(new javax.swing.BoxLayout(contentPanel, javax.swing.BoxLayout.PAGE_AXIS)); + ingestRunningPanel.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 5, 1)); ingestRunningPanel.setAlignmentX(0.0F); ingestRunningPanel.setMaximumSize(new java.awt.Dimension(32767, 20)); ingestRunningPanel.setMinimumSize(new java.awt.Dimension(10, 20)); diff --git a/Core/src/org/sleuthkit/autopsy/datasourcesummary/uiutils/Bundle.properties-MERGED b/Core/src/org/sleuthkit/autopsy/datasourcesummary/uiutils/Bundle.properties-MERGED index 491c3bfa56..b7e31eace5 100644 --- a/Core/src/org/sleuthkit/autopsy/datasourcesummary/uiutils/Bundle.properties-MERGED +++ b/Core/src/org/sleuthkit/autopsy/datasourcesummary/uiutils/Bundle.properties-MERGED @@ -1,3 +1,4 @@ AbstractLoadableComponent_errorMessage_defaultText=There was an error loading results. AbstractLoadableComponent_loadingMessage_defaultText=Loading results... AbstractLoadableComponent_noDataExists_defaultText=No data exists. +IngestRunningLabel_defaultMessage=Ingest is currently running. diff --git a/Core/src/org/sleuthkit/autopsy/datasourcesummary/uiutils/IngestRunningLabel.java b/Core/src/org/sleuthkit/autopsy/datasourcesummary/uiutils/IngestRunningLabel.java index 044c9c0346..e38695bddd 100644 --- a/Core/src/org/sleuthkit/autopsy/datasourcesummary/uiutils/IngestRunningLabel.java +++ b/Core/src/org/sleuthkit/autopsy/datasourcesummary/uiutils/IngestRunningLabel.java @@ -126,6 +126,10 @@ public class IngestRunningLabel extends JPanel { public IngestRunningLabel(String message, boolean showWarningIcon) { JLabel jlabel = new JLabel(); jlabel.setText(message); + jlabel.setVerticalAlignment(JLabel.TOP); + jlabel.setVerticalTextPosition(JLabel.TOP); + jlabel.setHorizontalAlignment(JLabel.LEFT); + jlabel.setHorizontalTextPosition(JLabel.LEFT); if (showWarningIcon) { jlabel.setIcon(new ImageIcon(DEFAULT_ICON)); }