diff --git a/Core/src/org/sleuthkit/autopsy/filequery/Bundle.properties b/Core/src/org/sleuthkit/autopsy/filequery/Bundle.properties index d4aa1217f6..45a673ed8a 100644 --- a/Core/src/org/sleuthkit/autopsy/filequery/Bundle.properties +++ b/Core/src/org/sleuthkit/autopsy/filequery/Bundle.properties @@ -51,4 +51,4 @@ FileSearchPanel.interestingItemsCheckbox.text=Interesting Items: FileSearchPanel.scoreCheckbox.text=Has Score: FileSearchPanel.exifCheckbox.text=Must contain EXIF data FileSearchPanel.notableCheckbox.text=Must have been tagged as notable -FileSearchPanel.objectsCheckbox.text=Objects: +FileSearchPanel.objectsCheckbox.text=Objects: \ No newline at end of file diff --git a/Core/src/org/sleuthkit/autopsy/filequery/Bundle.properties-MERGED b/Core/src/org/sleuthkit/autopsy/filequery/Bundle.properties-MERGED index a0fdcc2611..f88cb156ff 100644 --- a/Core/src/org/sleuthkit/autopsy/filequery/Bundle.properties-MERGED +++ b/Core/src/org/sleuthkit/autopsy/filequery/Bundle.properties-MERGED @@ -34,8 +34,12 @@ FileSearchData.FileType.Image.displayName=Image FileSearchData.FileType.Other.displayName=Other/Unknown FileSearchData.FileType.Video.displayName=Video FileSearchData.Frequency.common.displayName=Common -FileSearchData.Frequency.rare.displayName=Rare -FileSearchData.Frequency.unique.displayName=Unique +FileSearchData.Frequency.count_10.displayName=6 - 10 +FileSearchData.Frequency.count_100.displayName=51 - 100 +FileSearchData.Frequency.count_20.displayName=11 - 20 +FileSearchData.Frequency.count_50.displayName=21 - 50 +FileSearchData.Frequency.rare.displayName=Rare (2-5) +FileSearchData.Frequency.unique.displayName=Unique (1) FileSearchData.Frequency.unknown.displayName=Unknown FileSearchData.Score.interesting.displayName=Interesting FileSearchData.Score.notable.displayName=Notable @@ -147,4 +151,4 @@ FileSearchPanel.scoreCheckbox.text=Has Score: FileSearchPanel.exifCheckbox.text=Must contain EXIF data FileSearchPanel.notableCheckbox.text=Must have been tagged as notable FileSearchPanel.objectsCheckbox.text=Objects: -SearchNode.getName.text=Search Result +SearchNode.getName.text=Search Result \ No newline at end of file diff --git a/Core/src/org/sleuthkit/autopsy/filequery/FileSearchData.java b/Core/src/org/sleuthkit/autopsy/filequery/FileSearchData.java index 00ff9ff8de..db488db8f7 100644 --- a/Core/src/org/sleuthkit/autopsy/filequery/FileSearchData.java +++ b/Core/src/org/sleuthkit/autopsy/filequery/FileSearchData.java @@ -34,24 +34,32 @@ class FileSearchData { * Enum representing how often the file occurs in the Central Repository. */ @NbBundle.Messages({ - "FileSearchData.Frequency.unique.displayName=Unique", - "FileSearchData.Frequency.rare.displayName=Rare", + "FileSearchData.Frequency.unique.displayName=Unique (1)", + "FileSearchData.Frequency.rare.displayName=Rare (2-5)", + "FileSearchData.Frequency.count_10.displayName=6 - 10", + "FileSearchData.Frequency.count_20.displayName=11 - 20", + "FileSearchData.Frequency.count_50.displayName=21 - 50", + "FileSearchData.Frequency.count_100.displayName=51 - 100", "FileSearchData.Frequency.common.displayName=Common", "FileSearchData.Frequency.unknown.displayName=Unknown", }) enum Frequency { - UNIQUE(0, Bundle.FileSearchData_Frequency_unique_displayName()), - RARE(1, Bundle.FileSearchData_Frequency_rare_displayName()), - COMMON(2, Bundle.FileSearchData_Frequency_common_displayName()), - UNKNOWN(3, Bundle.FileSearchData_Frequency_unknown_displayName()); + UNIQUE(0, 1, Bundle.FileSearchData_Frequency_unique_displayName()), + RARE(1, 5, Bundle.FileSearchData_Frequency_rare_displayName()), + COUNT_10(1, 10, Bundle.FileSearchData_Frequency_count_10_displayName()), + COUNT_20(1, 10, Bundle.FileSearchData_Frequency_count_20_displayName()), + COUNT_50(1, 10, Bundle.FileSearchData_Frequency_count_50_displayName()), + COUNT_100(1, 10, Bundle.FileSearchData_Frequency_count_100_displayName()), + COMMON(2, 0, Bundle.FileSearchData_Frequency_common_displayName()), + UNKNOWN(3, 0, Bundle.FileSearchData_Frequency_unknown_displayName()); private final int ranking; private final String displayName; - static private final long uniqueMax = 1; - static private final long rareMax = 5; + private final int maxOccur; - Frequency(int ranking, String displayName) { + Frequency(int ranking, int maxOccur, String displayName) { this.ranking = ranking; + this.maxOccur = maxOccur; this.displayName = displayName; } @@ -72,10 +80,18 @@ class FileSearchData { * @return the corresponding enum */ static Frequency fromCount(long count) { - if (count <= uniqueMax) { + if (count <= UNIQUE.maxOccur) { return UNIQUE; - } else if (count < rareMax) { + } else if (count <= RARE.maxOccur) { return RARE; + } else if (count <= COUNT_10.maxOccur) { + return COUNT_10; + } else if (count <= COUNT_20.maxOccur) { + return COUNT_20; + } else if (count <= COUNT_50.maxOccur) { + return COUNT_50; + } else if (count <= COUNT_100.maxOccur) { + return COUNT_100; } return COMMON; } @@ -86,7 +102,7 @@ class FileSearchData { * @return enums that can be used to filter */ static List getOptionsForFiltering() { - return Arrays.asList(UNIQUE, RARE, COMMON); + return Arrays.asList(UNIQUE, RARE, COUNT_10, COUNT_20, COUNT_50, COUNT_100, COMMON); } @Override diff --git a/Core/src/org/sleuthkit/autopsy/filequery/FileSearchDialog.java b/Core/src/org/sleuthkit/autopsy/filequery/FileSearchDialog.java index deb60e5d0b..628bfec89f 100644 --- a/Core/src/org/sleuthkit/autopsy/filequery/FileSearchDialog.java +++ b/Core/src/org/sleuthkit/autopsy/filequery/FileSearchDialog.java @@ -839,6 +839,70 @@ public class FileSearchDialog extends javax.swing.JDialog implements ActionListe scoreList.setEnabled(false); jScrollPane11.setViewportView(scoreList); + org.openide.awt.Mnemonics.setLocalizedText(hashCheckBox, org.openide.util.NbBundle.getMessage(FileSearchDialog.class, "FileSearchDialog.hashCheckBox.text")); // NOI18N + hashCheckBox.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + hashCheckBoxActionPerformed(evt); + } + }); + + hashList.setModel(new DefaultListModel()); + hashList.setEnabled(false); + jScrollPane7.setViewportView(hashList); + + org.openide.awt.Mnemonics.setLocalizedText(intCheckBox, org.openide.util.NbBundle.getMessage(FileSearchDialog.class, "FileSearchDialog.intCheckBox.text")); // NOI18N + intCheckBox.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + intCheckBoxActionPerformed(evt); + } + }); + + intList.setModel(new DefaultListModel()); + intList.setEnabled(false); + jScrollPane8.setViewportView(intList); + + tagsList.setModel(new DefaultListModel()); + tagsList.setEnabled(false); + jScrollPane9.setViewportView(tagsList); + + org.openide.awt.Mnemonics.setLocalizedText(tagsCheckBox, org.openide.util.NbBundle.getMessage(FileSearchDialog.class, "FileSearchDialog.tagsCheckBox.text")); // NOI18N + tagsCheckBox.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + tagsCheckBoxActionPerformed(evt); + } + }); + + objList.setModel(new DefaultListModel()); + objList.setEnabled(false); + jScrollPane10.setViewportView(objList); + + org.openide.awt.Mnemonics.setLocalizedText(objCheckBox, org.openide.util.NbBundle.getMessage(FileSearchDialog.class, "FileSearchDialog.objCheckBox.text")); // NOI18N + objCheckBox.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + objCheckBoxActionPerformed(evt); + } + }); + + org.openide.awt.Mnemonics.setLocalizedText(exifCheckBox, org.openide.util.NbBundle.getMessage(FileSearchDialog.class, "FileSearchDialog.exifCheckBox.text")); // NOI18N + + org.openide.awt.Mnemonics.setLocalizedText(notableCheckBox, org.openide.util.NbBundle.getMessage(FileSearchDialog.class, "FileSearchDialog.notableCheckBox.text")); // NOI18N + notableCheckBox.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + notableCheckBoxActionPerformed(evt); + } + }); + + org.openide.awt.Mnemonics.setLocalizedText(scoreCheckBox, org.openide.util.NbBundle.getMessage(FileSearchDialog.class, "FileSearchDialog.scoreCheckBox.text")); // NOI18N + scoreCheckBox.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + scoreCheckBoxActionPerformed(evt); + } + }); + + scoreList.setModel(new DefaultListModel()); + scoreList.setEnabled(false); + jScrollPane11.setViewportView(scoreList); + javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane()); getContentPane().setLayout(layout); layout.setHorizontalGroup(