19 package org.sleuthkit.autopsy.report;
21 import java.awt.GridLayout;
22 import org.openide.util.NbBundle;
30 @SuppressWarnings(
"PMD.SingularField")
31 class ReportWizardPortableCaseOptionsVisualPanel extends javax.swing.JPanel {
33 private final ReportWizardPortableCaseOptionsPanel wizPanel;
34 private final PortableCaseOptions options =
new PortableCaseOptions();
39 ReportWizardPortableCaseOptionsVisualPanel(ReportWizardPortableCaseOptionsPanel wizPanel) {
40 this.wizPanel = wizPanel;
42 customizeComponents();
45 private void customizeComponents() {
47 if ( ! PlatformUtil.isWindowsOS()) {
48 errorLabel.setVisible(
true);
49 compressCheckbox.setEnabled(
false);
51 errorLabel.setVisible(
false);
54 for (ChunkSize chunkSize:ChunkSize.values()) {
55 chunkSizeComboBox.addItem(chunkSize);
57 chunkSizeComboBox.setSelectedItem(ChunkSize.NONE);
58 chunkSizeComboBox.setEnabled(
false);
59 options.updateCompression(
false, ChunkSize.NONE);
61 listPanel.setLayout(
new GridLayout(1,2));
62 listPanel.add(
new PortableCaseTagsListPanel(wizPanel, options));
63 listPanel.add(
new PortableCaseInterestingItemsListPanel(wizPanel, options));
67 "ReportWizardPortableCaseOptionsVisualPanel.getName.title=Choose Portable Case settings",
70 public String getName() {
71 return Bundle.ReportWizardPortableCaseOptionsVisualPanel_getName_title();
79 private ChunkSize getChunkSize() {
80 return (ChunkSize) chunkSizeComboBox.getSelectedItem();
86 private void updateCompression() {
87 options.updateCompression(compressCheckbox.isSelected(), getChunkSize());
88 wizPanel.setFinish(options.isValid());
96 PortableCaseOptions getPortableCaseReportOptions() {
105 @SuppressWarnings(
"unchecked")
107 private
void initComponents() {
109 jPanel1 =
new javax.swing.JPanel();
110 chunkSizeComboBox =
new javax.swing.JComboBox<>();
111 compressCheckbox =
new javax.swing.JCheckBox();
112 errorLabel =
new javax.swing.JLabel();
113 listPanel =
new javax.swing.JPanel();
115 chunkSizeComboBox.addActionListener(
new java.awt.event.ActionListener() {
116 public void actionPerformed(java.awt.event.ActionEvent evt) {
117 chunkSizeComboBoxActionPerformed(evt);
121 org.openide.awt.Mnemonics.setLocalizedText(compressCheckbox,
org.openide.util.NbBundle.getMessage(ReportWizardPortableCaseOptionsVisualPanel.class,
"ReportWizardPortableCaseOptionsVisualPanel.compressCheckbox.text"));
122 compressCheckbox.addActionListener(
new java.awt.event.ActionListener() {
123 public void actionPerformed(java.awt.event.ActionEvent evt) {
124 compressCheckboxActionPerformed(evt);
128 errorLabel.setForeground(
new java.awt.Color(255, 0, 0));
129 org.openide.awt.Mnemonics.setLocalizedText(errorLabel,
org.openide.util.NbBundle.getMessage(ReportWizardPortableCaseOptionsVisualPanel.class,
"ReportWizardPortableCaseOptionsVisualPanel.errorLabel.text"));
131 javax.swing.GroupLayout listPanelLayout =
new javax.swing.GroupLayout(listPanel);
132 listPanel.setLayout(listPanelLayout);
133 listPanelLayout.setHorizontalGroup(
134 listPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
135 .addGap(0, 0, Short.MAX_VALUE)
137 listPanelLayout.setVerticalGroup(
138 listPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
139 .addGap(0, 217, Short.MAX_VALUE)
142 javax.swing.GroupLayout jPanel1Layout =
new javax.swing.GroupLayout(jPanel1);
143 jPanel1.setLayout(jPanel1Layout);
144 jPanel1Layout.setHorizontalGroup(
145 jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
146 .addGroup(jPanel1Layout.createSequentialGroup()
148 .addComponent(compressCheckbox)
149 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
150 .addComponent(chunkSizeComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 99, javax.swing.GroupLayout.PREFERRED_SIZE)
151 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
152 .addComponent(errorLabel)
153 .addContainerGap(97, Short.MAX_VALUE))
154 .addComponent(listPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
156 jPanel1Layout.setVerticalGroup(
157 jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
158 .addGroup(jPanel1Layout.createSequentialGroup()
159 .addComponent(listPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
160 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
161 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
162 .addComponent(compressCheckbox)
163 .addComponent(chunkSizeComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
164 .addComponent(errorLabel))
168 javax.swing.GroupLayout layout =
new javax.swing.GroupLayout(
this);
169 this.setLayout(layout);
170 layout.setHorizontalGroup(
171 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
172 .addGap(0, 463, Short.MAX_VALUE)
173 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
174 .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
176 layout.setVerticalGroup(
177 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
178 .addGap(0, 259, Short.MAX_VALUE)
179 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
180 .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
184 private void chunkSizeComboBoxActionPerformed(java.awt.event.ActionEvent evt) {
188 private void compressCheckboxActionPerformed(java.awt.event.ActionEvent evt) {
189 chunkSizeComboBox.setEnabled(compressCheckbox.isSelected());
195 private javax.swing.JComboBox<ChunkSize> chunkSizeComboBox;
196 private javax.swing.JCheckBox compressCheckbox;
197 private javax.swing.JLabel errorLabel;
198 private javax.swing.JPanel jPanel1;
199 private javax.swing.JPanel listPanel;