Merge pull request #3978 from dgrove727/4055_HtmlReportTaggedItemsFixes

Fixed bugs around checkboxes.
This commit is contained in:
Brian Carrier 2018-07-19 13:57:17 -04:00 committed by GitHub
commit 0638a6d13c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 41 additions and 12 deletions

View File

@ -97,6 +97,9 @@
<ResourceString bundle="org/sleuthkit/autopsy/report/Bundle.properties" key="ReportVisualPanel2.allResultsRadioButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, &quot;{key}&quot;)"/>
</Property>
</Properties>
<Events>
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="allResultsRadioButtonActionPerformed"/>
</Events>
</Component>
<Component class="javax.swing.JLabel" name="dataLabel">
<Properties>

View File

@ -109,7 +109,7 @@ final class ReportVisualPanel2 extends JPanel {
}
for (TagName tagName : tagNamesInUse) {
String notableString = tagName.getKnownStatus() == TskData.FileKnown.BAD ? TagsManager.getNotableTagLabel() : "";
String notableString = tagName.getKnownStatus() == TskData.FileKnown.BAD ? TagsManager.getNotableTagLabel() : "";
tagStates.put(tagName.getDisplayName() + notableString, Boolean.FALSE);
}
tags.addAll(tagStates.keySet());
@ -124,7 +124,9 @@ final class ReportVisualPanel2 extends JPanel {
tagsList.addMouseListener(new MouseAdapter() {
@Override
public void mousePressed(MouseEvent evt) {
if (!taggedResultsRadioButton.isSelected()) {
return;
}
int index = tagsList.locationToIndex(evt.getPoint());
if (index < tagsModel.getSize() && index >= 0) {
String value = tagsModel.getElementAt(index);
@ -184,16 +186,26 @@ final class ReportVisualPanel2 extends JPanel {
return tagStates;
}
/**
* Are any tags selected?
*
* @return True if any tags are selected; otherwise false.
*/
private boolean areTagsSelected() {
boolean result = false;
for (Entry<String, Boolean> entry : tagStates.entrySet()) {
if (entry.getValue()) {
result = true;
break;
}
}
return result;
}
/**
* Set the Finish button as either enabled or disabled depending on the UI
* component selections.
*/
private void updateFinishButton() {
if (taggedResultsRadioButton.isSelected()) {
wizPanel.setFinish(areTagsSelected());
@ -209,6 +221,19 @@ final class ReportVisualPanel2 extends JPanel {
return taggedResultsRadioButton.isSelected();
}
/**
* Set all tagged results as either selected or unselected.
*
* @param selected Should all tagged results be selected?
*/
void setAllTaggedResultsSelected(boolean selected) {
for (String tag : tags) {
tagStates.put(tag, (selected ? Boolean.TRUE : Boolean.FALSE));
}
tagsList.repaint();
wizPanel.setFinish(selected);
}
/**
* This method is called from within the constructor to initialize the form.
* WARNING: Do NOT modify this code. The content of this method is always
@ -234,6 +259,11 @@ final class ReportVisualPanel2 extends JPanel {
optionsButtonGroup.add(allResultsRadioButton);
org.openide.awt.Mnemonics.setLocalizedText(allResultsRadioButton, org.openide.util.NbBundle.getMessage(ReportVisualPanel2.class, "ReportVisualPanel2.allResultsRadioButton.text")); // NOI18N
allResultsRadioButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
allResultsRadioButtonActionPerformed(evt);
}
});
org.openide.awt.Mnemonics.setLocalizedText(dataLabel, org.openide.util.NbBundle.getMessage(ReportVisualPanel2.class, "ReportVisualPanel2.dataLabel.text")); // NOI18N
@ -312,25 +342,21 @@ final class ReportVisualPanel2 extends JPanel {
}// </editor-fold>//GEN-END:initComponents
private void selectAllButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_selectAllButtonActionPerformed
for (String tag : tags) {
tagStates.put(tag, Boolean.TRUE);
}
tagsList.repaint();
wizPanel.setFinish(true);
setAllTaggedResultsSelected(true);
}//GEN-LAST:event_selectAllButtonActionPerformed
private void deselectAllButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deselectAllButtonActionPerformed
for (String tag : tags) {
tagStates.put(tag, Boolean.FALSE);
}
tagsList.repaint();
wizPanel.setFinish(false);
setAllTaggedResultsSelected(false);
}//GEN-LAST:event_deselectAllButtonActionPerformed
private void advancedButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_advancedButtonActionPerformed
artifactStates = dialog.display();
}//GEN-LAST:event_advancedButtonActionPerformed
private void allResultsRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_allResultsRadioButtonActionPerformed
setAllTaggedResultsSelected(false);
}//GEN-LAST:event_allResultsRadioButtonActionPerformed
// Variables declaration - do not modify//GEN-BEGIN:variables
private javax.swing.JButton advancedButton;
private javax.swing.JRadioButton allResultsRadioButton;