19 package org.sleuthkit.autopsy.filesearch;
21 import java.util.ArrayList;
22 import java.util.HashSet;
23 import java.util.List;
25 import java.util.logging.Level;
26 import javax.swing.event.ListSelectionEvent;
27 import javax.swing.event.ListSelectionListener;
41 setComponentsEnabled();
42 this.
mimeTypeList.addListSelectionListener(
new ListSelectionListener() {
44 public void valueChanged(ListSelectionEvent e) {
45 firePropertyChange(FileSearchPanel.EVENT.CHECKED.toString(), null, null);
51 Set<String> fileTypesCollated =
new HashSet<>();
53 fileTypesCollated.add(mediaType);
60 fileTypesCollated.addAll(userDefinedFileTypes);
63 logger.log(Level.SEVERE,
"Unable to get user defined file types", ex);
66 List<String> toSort =
new ArrayList<>(fileTypesCollated);
67 toSort.sort((String string1, String string2) -> {
68 int result = String.CASE_INSENSITIVE_ORDER.compare(string1, string2);
70 result = string1.compareTo(string2);
74 String[] mimeTypeArray =
new String[toSort.size()];
75 return toSort.toArray(mimeTypeArray);
78 List<String> getMimeTypesSelected() {
82 boolean isSelected() {
86 void setComponentsEnabled() {
87 boolean enabled = this.isSelected();
89 this.
jLabel1.setEnabled(enabled);
97 @SuppressWarnings(
"unchecked")
104 jLabel1 =
new javax.swing.JLabel();
106 setMinimumSize(
new java.awt.Dimension(150, 150));
107 setPreferredSize(
new java.awt.Dimension(100, 100));
109 mimeTypeList.setModel(
new javax.swing.AbstractListModel<String>() {
110 String[] strings = getMimeTypeArray();
111 public int getSize() { return strings.length; }
112 public String getElementAt(
int i) {
return strings[i]; }
114 mimeTypeList.setMinimumSize(
new java.awt.Dimension(0, 200));
119 public void actionPerformed(java.awt.event.ActionEvent evt) {
124 jLabel1.setFont(
new java.awt.Font(
"Tahoma", 0, 10));
125 org.openide.awt.Mnemonics.setLocalizedText(
jLabel1,
org.openide.util.NbBundle.getMessage(
MimeTypePanel.class,
"MimeTypePanel.jLabel1.text"));
127 javax.swing.GroupLayout layout =
new javax.swing.GroupLayout(
this);
128 this.setLayout(layout);
129 layout.setHorizontalGroup(
130 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
131 .addGroup(layout.createSequentialGroup()
133 .addGap(0, 0, Short.MAX_VALUE))
134 .addGroup(layout.createSequentialGroup()
136 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
137 .addComponent(
jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 298, Short.MAX_VALUE)
138 .addGroup(layout.createSequentialGroup()
139 .addComponent(
jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 246, javax.swing.GroupLayout.PREFERRED_SIZE)
140 .addGap(0, 0, Short.MAX_VALUE)))
143 layout.setVerticalGroup(
144 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
145 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
147 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
148 .addComponent(
jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 106, Short.MAX_VALUE)
149 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
156 setComponentsEnabled();
157 firePropertyChange(FileSearchPanel.EVENT.CHECKED.toString(), null, null);
158 this.mimeTypeList.setSelectedIndices(
new int[0]);
static final Logger logger
javax.swing.JScrollPane jScrollPane1
javax.swing.JLabel jLabel1
javax.swing.JCheckBox mimeTypeCheckBox
String[] getMimeTypeArray()
void mimeTypeCheckBoxActionPerformed(java.awt.event.ActionEvent evt)
static final long serialVersionUID
static synchronized SortedSet< String > getStandardDetectedTypes()
synchronized static Logger getLogger(String name)
List< String > getUserDefinedTypes()
javax.swing.JList< String > mimeTypeList