diff --git a/Core/src/org/sleuthkit/autopsy/filesearch/DataSourcePanel.form b/Core/src/org/sleuthkit/autopsy/filesearch/DataSourcePanel.form
index e1725962ea..2287e3b4df 100755
--- a/Core/src/org/sleuthkit/autopsy/filesearch/DataSourcePanel.form
+++ b/Core/src/org/sleuthkit/autopsy/filesearch/DataSourcePanel.form
@@ -6,7 +6,7 @@
-
+
@@ -46,8 +46,8 @@
-
-
+
+
diff --git a/Core/src/org/sleuthkit/autopsy/filesearch/DataSourcePanel.java b/Core/src/org/sleuthkit/autopsy/filesearch/DataSourcePanel.java
index beb3a05277..675f2ae32b 100755
--- a/Core/src/org/sleuthkit/autopsy/filesearch/DataSourcePanel.java
+++ b/Core/src/org/sleuthkit/autopsy/filesearch/DataSourcePanel.java
@@ -151,7 +151,7 @@ public class DataSourcePanel extends javax.swing.JPanel {
dataSourceNoteLabel = new javax.swing.JLabel();
setMinimumSize(new java.awt.Dimension(150, 150));
- setPreferredSize(new java.awt.Dimension(100, 100));
+ setPreferredSize(new java.awt.Dimension(150, 150));
dataSourceList.setModel(new javax.swing.AbstractListModel() {
List strings = getDataSourceArray();
@@ -194,8 +194,8 @@ public class DataSourcePanel extends javax.swing.JPanel {
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(dataSourceCheckBox)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 95, Short.MAX_VALUE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(dataSourceNoteLabel)
.addContainerGap())
);
diff --git a/Core/src/org/sleuthkit/autopsy/filesearch/FileSearchPanel.form b/Core/src/org/sleuthkit/autopsy/filesearch/FileSearchPanel.form
index 89fe3dc17f..f6fd00903f 100644
--- a/Core/src/org/sleuthkit/autopsy/filesearch/FileSearchPanel.form
+++ b/Core/src/org/sleuthkit/autopsy/filesearch/FileSearchPanel.form
@@ -70,12 +70,12 @@
-
-
-
+
+
+
diff --git a/Core/src/org/sleuthkit/autopsy/filesearch/FileSearchPanel.java b/Core/src/org/sleuthkit/autopsy/filesearch/FileSearchPanel.java
index 0219b76367..92c9683d71 100644
--- a/Core/src/org/sleuthkit/autopsy/filesearch/FileSearchPanel.java
+++ b/Core/src/org/sleuthkit/autopsy/filesearch/FileSearchPanel.java
@@ -26,7 +26,7 @@ package org.sleuthkit.autopsy.filesearch;
import java.awt.Component;
import java.awt.Cursor;
-import java.awt.Dimension;
+import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.beans.PropertyChangeEvent;
@@ -37,6 +37,7 @@ import java.util.Collections;
import java.util.List;
import java.util.logging.Level;
import javax.swing.JLabel;
+import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import org.openide.DialogDisplayer;
import org.openide.NotifyDescriptor;
@@ -58,7 +59,7 @@ import org.sleuthkit.datamodel.TskCoreException;
*/
class FileSearchPanel extends javax.swing.JPanel {
- private final List filterAreas = new ArrayList<>();
+ private final List filters = new ArrayList<>();
private static int resultWindowCount = 0; //keep track of result windows so they get unique names
private static final String EMPTY_WHERE_CLAUSE = NbBundle.getMessage(DateSearchFilter.class, "FileSearchPanel.emptyWhereClause.text");
@@ -79,32 +80,57 @@ class FileSearchPanel extends javax.swing.JPanel {
* This method is called from within the constructor to initialize the form.
*/
private void customizeComponents() {
-
+
JLabel label = new JLabel(NbBundle.getMessage(this.getClass(), "FileSearchPanel.custComp.label.text"));
label.setAlignmentX(Component.LEFT_ALIGNMENT);
label.setBorder(new EmptyBorder(0, 0, 10, 0));
- filterPanel.add(label);
+
+ JPanel panel1 = new JPanel();
+ panel1.setLayout(new GridLayout(1,2));
+ panel1.add(new JLabel(""));
+ JPanel panel2 = new JPanel();
+ panel2.setLayout(new GridLayout(1,2, 20, 0));
+ JPanel panel3 = new JPanel();
+ panel3.setLayout(new GridLayout(1,2, 20, 0));
+ JPanel panel4 = new JPanel();
+ panel4.setLayout(new GridLayout(1,2, 20, 0));
+ JPanel panel5 = new JPanel();
+ panel5.setLayout(new GridLayout(1,2, 20, 0));
// Create and add filter areas
- this.filterAreas.add(new FilterArea(NbBundle.getMessage(this.getClass(), "FileSearchPanel.filterTitle.name"), new NameSearchFilter()));
-
- List metadataFilters = new ArrayList<>();
- metadataFilters.add(new SizeSearchFilter());
- metadataFilters.add(new MimeTypeFilter());
- metadataFilters.add(new DateSearchFilter());
+ NameSearchFilter nameFilter = new NameSearchFilter();
+ SizeSearchFilter sizeFilter = new SizeSearchFilter();
+ DateSearchFilter dateFilter = new DateSearchFilter();
+ KnownStatusSearchFilter knowStatusFilter = new KnownStatusSearchFilter();
+ HashSearchFilter hashFilter = new HashSearchFilter();
+ MimeTypeFilter mimeTypeFilter = new MimeTypeFilter();
+ DataSourceFilter dataSourceFilter = new DataSourceFilter();
- this.filterAreas.add(new FilterArea(NbBundle.getMessage(this.getClass(), "FileSearchPanel.filterTitle.metadata"), metadataFilters));
-
- this.filterAreas.add(new FilterArea(NbBundle.getMessage(this.getClass(), "FileSearchPanel.filterTitle.knownStatus"), new KnownStatusSearchFilter()));
+ panel2.add(new FilterArea(NbBundle.getMessage(this.getClass(), "FileSearchPanel.filterTitle.name"),nameFilter));
+
+ panel3.add(new FilterArea(NbBundle.getMessage(this.getClass(), "FileSearchPanel.filterTitle.metadata"),sizeFilter));
+
+ panel2.add(new FilterArea(NbBundle.getMessage(this.getClass(), "FileSearchPanel.filterTitle.metadata"), dateFilter));
+ panel3.add(new FilterArea(NbBundle.getMessage(this.getClass(), "FileSearchPanel.filterTitle.knownStatus"), knowStatusFilter));
+
+ panel5.add(new FilterArea(NbBundle.getMessage(this.getClass(), "HashSearchPanel.md5CheckBox.text"), hashFilter));
+ panel5.add(new JLabel(""));
+ panel4.add(new FilterArea(NbBundle.getMessage(this.getClass(), "FileSearchPanel.filterTitle.metadata"), mimeTypeFilter));
+ panel4.add(new FilterArea(NbBundle.getMessage(this.getClass(), "DataSourcePanel.dataSourceCheckBox.text"), dataSourceFilter));
+ filterPanel.add(panel1);
+ filterPanel.add(panel2);
+ filterPanel.add(panel3);
+ filterPanel.add(panel4);
+ filterPanel.add(panel5);
+
+ filters.add(nameFilter);
+ filters.add(sizeFilter);
+ filters.add(dateFilter);
+ filters.add(knowStatusFilter);
+ filters.add(hashFilter);
+ filters.add(mimeTypeFilter);
+ filters.add(dataSourceFilter);
- this.filterAreas.add(new FilterArea(NbBundle.getMessage(this.getClass(), "HashSearchPanel.md5CheckBox.text"), new HashSearchFilter()));
- this.filterAreas.add(new FilterArea(NbBundle.getMessage(this.getClass(), "DataSourcePanel.dataSourceCheckBox.text"), new DataSourceFilter()));
- for (FilterArea fa : this.filterAreas) {
- fa.setMaximumSize(new Dimension(Integer.MAX_VALUE, fa.getMinimumSize().height));
- fa.setAlignmentX(Component.LEFT_ALIGNMENT);
- filterPanel.add(fa);
- }
-
for (FileSearchFilter filter : this.getFilters()) {
filter.addPropertyChangeListener(new PropertyChangeListener() {
@Override
@@ -242,12 +268,6 @@ class FileSearchPanel extends javax.swing.JPanel {
}
private Collection getFilters() {
- Collection filters = new ArrayList<>();
-
- for (FilterArea fa : this.filterAreas) {
- filters.addAll(fa.getFilters());
- }
-
return filters;
}
@@ -265,10 +285,8 @@ class FileSearchPanel extends javax.swing.JPanel {
void addListenerToAll(ActionListener l) {
searchButton.addActionListener(l);
- for (FilterArea fa : this.filterAreas) {
- for (FileSearchFilter fsf : fa.getFilters()) {
- fsf.addActionListener(l);
- }
+ for (FileSearchFilter fsf : getFilters()) {
+ fsf.addActionListener(l);
}
}
diff --git a/Core/src/org/sleuthkit/autopsy/filesearch/MimeTypePanel.form b/Core/src/org/sleuthkit/autopsy/filesearch/MimeTypePanel.form
index 772e74f9fc..fd2cc895f6 100644
--- a/Core/src/org/sleuthkit/autopsy/filesearch/MimeTypePanel.form
+++ b/Core/src/org/sleuthkit/autopsy/filesearch/MimeTypePanel.form
@@ -6,7 +6,7 @@
-
+
@@ -46,10 +46,10 @@
-
-
+
+
-
+
@@ -89,12 +89,12 @@
-
-
-
+
+
+
diff --git a/Core/src/org/sleuthkit/autopsy/filesearch/MimeTypePanel.java b/Core/src/org/sleuthkit/autopsy/filesearch/MimeTypePanel.java
index 0f775a8320..74467703c1 100644
--- a/Core/src/org/sleuthkit/autopsy/filesearch/MimeTypePanel.java
+++ b/Core/src/org/sleuthkit/autopsy/filesearch/MimeTypePanel.java
@@ -81,7 +81,7 @@ public class MimeTypePanel extends javax.swing.JPanel {
jLabel1 = new javax.swing.JLabel();
setMinimumSize(new java.awt.Dimension(150, 150));
- setPreferredSize(new java.awt.Dimension(100, 100));
+ setPreferredSize(new java.awt.Dimension(150, 150));
mimeTypeList.setModel(new javax.swing.AbstractListModel() {
String[] strings = getMimeTypeArray();
@@ -98,8 +98,8 @@ public class MimeTypePanel extends javax.swing.JPanel {
}
});
- org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(MimeTypePanel.class, "MimeTypePanel.jLabel1.text")); // NOI18N
jLabel1.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N
+ org.openide.awt.Mnemonics.setLocalizedText(jLabel1, org.openide.util.NbBundle.getMessage(MimeTypePanel.class, "MimeTypePanel.jLabel1.text")); // NOI18N
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
this.setLayout(layout);
@@ -122,10 +122,10 @@ public class MimeTypePanel extends javax.swing.JPanel {
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addComponent(mimeTypeCheckBox)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 94, Short.MAX_VALUE)
- .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
+ .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 103, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addComponent(jLabel1)
- .addContainerGap())
+ .addGap(40, 40, 40))
);
}// //GEN-END:initComponents
diff --git a/Core/src/org/sleuthkit/autopsy/filesearch/NameSearchPanel.form b/Core/src/org/sleuthkit/autopsy/filesearch/NameSearchPanel.form
index af80aa264a..6bcc3522bf 100644
--- a/Core/src/org/sleuthkit/autopsy/filesearch/NameSearchPanel.form
+++ b/Core/src/org/sleuthkit/autopsy/filesearch/NameSearchPanel.form
@@ -54,14 +54,16 @@
-
-
+
-
+
+
+
+
-
+
@@ -117,9 +119,11 @@
+
+
diff --git a/Core/src/org/sleuthkit/autopsy/filesearch/NameSearchPanel.java b/Core/src/org/sleuthkit/autopsy/filesearch/NameSearchPanel.java
index 81ff01fd0f..2e0c6e7192 100644
--- a/Core/src/org/sleuthkit/autopsy/filesearch/NameSearchPanel.java
+++ b/Core/src/org/sleuthkit/autopsy/filesearch/NameSearchPanel.java
@@ -146,7 +146,9 @@ class NameSearchPanel extends javax.swing.JPanel {
searchTextField.setText(org.openide.util.NbBundle.getMessage(NameSearchPanel.class, "NameSearchPanel.searchTextField.text")); // NOI18N
noteNameLabel.setFont(noteNameLabel.getFont().deriveFont(noteNameLabel.getFont().getStyle() & ~java.awt.Font.BOLD, 10));
+ noteNameLabel.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);
noteNameLabel.setText(org.openide.util.NbBundle.getMessage(NameSearchPanel.class, "NameSearchPanel.noteNameLabel.text")); // NOI18N
+ noteNameLabel.setVerticalAlignment(javax.swing.SwingConstants.TOP);
noteNameLabel.setMaximumSize(new java.awt.Dimension(250, 30));
noteNameLabel.setMinimumSize(new java.awt.Dimension(250, 30));
noteNameLabel.setPreferredSize(new java.awt.Dimension(250, 40));
@@ -155,14 +157,15 @@ class NameSearchPanel extends javax.swing.JPanel {
this.setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
- .addGroup(layout.createSequentialGroup()
- .addGap(0, 0, 0)
+ .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
- .addComponent(noteNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
+ .addGroup(layout.createSequentialGroup()
+ .addContainerGap()
+ .addComponent(noteNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE))
.addGroup(layout.createSequentialGroup()
.addComponent(nameCheckBox)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
- .addComponent(searchTextField)))
+ .addComponent(searchTextField, javax.swing.GroupLayout.DEFAULT_SIZE, 191, Short.MAX_VALUE)))
.addGap(0, 0, 0))
);
layout.setVerticalGroup(