19 package org.sleuthkit.autopsy.discovery.ui;
21 import java.util.ArrayList;
22 import java.util.List;
30 final class VideoFilterPanel
extends AbstractFiltersPanel {
32 private static final long serialVersionUID = 1L;
33 private static final SearchData.
Type TYPE = SearchData.
Type.VIDEO;
38 @ThreadConfined(type = ThreadConfined.ThreadType.AWT)
42 SizeFilterPanel sizeFilterPanel =
new SizeFilterPanel(TYPE);
43 List<SearchData.FileSize> defaultSizes =
new ArrayList<>();
44 defaultSizes.add(SearchData.FileSize.LARGE_VIDEO);
45 defaultSizes.add(SearchData.FileSize.XLARGE_VIDEO);
46 defaultSizes.add(SearchData.FileSize.XXLARGE_VIDEO);
47 addFilter(sizeFilterPanel,
true, defaultSizes, 0);
48 addFilter(
new DataSourceFilterPanel(),
false, null, 0);
49 List<SearchData.Frequency> defaultFrequencies =
new ArrayList<>();
50 if (!CentralRepository.isEnabled()) {
51 defaultFrequencies.add(SearchData.Frequency.UNKNOWN);
53 defaultFrequencies.add(SearchData.Frequency.RARE);
54 defaultFrequencies.add(SearchData.Frequency.UNIQUE);
55 defaultFrequencies.add(SearchData.Frequency.COMMON);
57 addFilter(
new PastOccurrencesFilterPanel(TYPE),
true, defaultFrequencies, 0);
58 addFilter(
new UserCreatedFilterPanel(),
false, null, 0);
59 addFilter(
new HashSetFilterPanel(),
false, null, 1);
60 addFilter(
new InterestingItemsFilterPanel(),
false, null, 1);
61 addFilter(
new ObjectDetectedFilterPanel(),
false, null, 1);
62 addFilter(
new ParentFolderFilterPanel(),
false, null, 1);
63 addPanelsToScrollPane(videoFiltersSplitPane);
71 @SuppressWarnings(
"unchecked")
73 private
void initComponents() {
75 javax.swing.JScrollPane videoFiltersScrollPane =
new javax.swing.JScrollPane();
76 javax.swing.JPanel videoFiltersPanel =
new javax.swing.JPanel();
77 videoFiltersSplitPane =
new javax.swing.JSplitPane();
79 setLayout(
new java.awt.BorderLayout());
81 videoFiltersScrollPane.setPreferredSize(
new java.awt.Dimension(312, 102));
83 videoFiltersPanel.setPreferredSize(
new java.awt.Dimension(310, 100));
85 videoFiltersSplitPane.setBorder(javax.swing.BorderFactory.createTitledBorder(
org.openide.util.NbBundle.getMessage(VideoFilterPanel.class,
"VideoFilterPanel.videoFiltersSplitPane.border.title")));
86 videoFiltersSplitPane.setResizeWeight(0.5);
88 javax.swing.GroupLayout videoFiltersPanelLayout =
new javax.swing.GroupLayout(videoFiltersPanel);
89 videoFiltersPanel.setLayout(videoFiltersPanelLayout);
90 videoFiltersPanelLayout.setHorizontalGroup(
91 videoFiltersPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
92 .addGroup(videoFiltersPanelLayout.createSequentialGroup()
94 .addComponent(videoFiltersSplitPane, javax.swing.GroupLayout.DEFAULT_SIZE, 294, Short.MAX_VALUE)
97 videoFiltersPanelLayout.setVerticalGroup(
98 videoFiltersPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
99 .addGroup(videoFiltersPanelLayout.createSequentialGroup()
101 .addComponent(videoFiltersSplitPane, javax.swing.GroupLayout.DEFAULT_SIZE, 84, Short.MAX_VALUE)
105 videoFiltersScrollPane.setViewportView(videoFiltersPanel);
107 add(videoFiltersScrollPane, java.awt.BorderLayout.CENTER);
110 SearchData.Type getType() {
115 private javax.swing.JSplitPane videoFiltersSplitPane;
Type(int value, String displayName, Collection< String > mediaTypes, Collection< BlackboardArtifact.ARTIFACT_TYPE > artifactTypes)