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(