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.setToolTipText(
org.openide.util.NbBundle.getMessage(ReportWizardPortableCaseOptionsVisualPanel.class,
"ReportWizardPortableCaseOptionsVisualPanel.compressCheckbox.toolTipText"));
123 compressCheckbox.addActionListener(
new java.awt.event.ActionListener() {
124 public void actionPerformed(java.awt.event.ActionEvent evt) {
125 compressCheckboxActionPerformed(evt);
129 errorLabel.setForeground(
new java.awt.Color(255, 0, 0));
130 org.openide.awt.Mnemonics.setLocalizedText(errorLabel,
org.openide.util.NbBundle.getMessage(ReportWizardPortableCaseOptionsVisualPanel.class,
"ReportWizardPortableCaseOptionsVisualPanel.errorLabel.text"));
132 javax.swing.GroupLayout listPanelLayout =
new javax.swing.GroupLayout(listPanel);
133 listPanel.setLayout(listPanelLayout);
134 listPanelLayout.setHorizontalGroup(
135 listPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
136 .addGap(0, 0, Short.MAX_VALUE)
138 listPanelLayout.setVerticalGroup(
139 listPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
140 .addGap(0, 217, Short.MAX_VALUE)
143 javax.swing.GroupLayout jPanel1Layout =
new javax.swing.GroupLayout(jPanel1);
144 jPanel1.setLayout(jPanel1Layout);
145 jPanel1Layout.setHorizontalGroup(
146 jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
147 .addGroup(jPanel1Layout.createSequentialGroup()
149 .addComponent(compressCheckbox)
150 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
151 .addComponent(chunkSizeComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, 187, javax.swing.GroupLayout.PREFERRED_SIZE)
152 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
153 .addComponent(errorLabel)
154 .addContainerGap(41, Short.MAX_VALUE))
155 .addComponent(listPanel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
157 jPanel1Layout.setVerticalGroup(
158 jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
159 .addGroup(jPanel1Layout.createSequentialGroup()
160 .addComponent(listPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
161 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
162 .addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
163 .addComponent(compressCheckbox)
164 .addComponent(chunkSizeComboBox, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
165 .addComponent(errorLabel))
169 javax.swing.GroupLayout layout =
new javax.swing.GroupLayout(
this);
170 this.setLayout(layout);
171 layout.setHorizontalGroup(
172 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
173 .addGap(0, 463, Short.MAX_VALUE)
174 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
175 .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
177 layout.setVerticalGroup(
178 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
179 .addGap(0, 259, Short.MAX_VALUE)
180 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
181 .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
185 private void chunkSizeComboBoxActionPerformed(java.awt.event.ActionEvent evt) {
189 private void compressCheckboxActionPerformed(java.awt.event.ActionEvent evt) {
190 chunkSizeComboBox.setEnabled(compressCheckbox.isSelected());
196 private javax.swing.JComboBox<ChunkSize> chunkSizeComboBox;
197 private javax.swing.JCheckBox compressCheckbox;
198 private javax.swing.JLabel errorLabel;
199 private javax.swing.JPanel jPanel1;
200 private javax.swing.JPanel listPanel;