FilterSetDefsPanel ui changes to accomodate standard set

This commit is contained in:
Greg DiCristofaro 2020-06-02 10:52:14 -04:00
parent cb5af3e93a
commit 7d000f4e08

View File

@ -173,19 +173,27 @@ public final class FilesSetDefsPanel extends IngestModuleGlobalSettingsPanel imp
} }
public void enableButtons(boolean isEnabled) { public void enableButtons(boolean isEnabled) {
boolean setSelected = (FilesSetDefsPanel.this.setsList.getSelectedValue() != null);
boolean ruleSelected = (FilesSetDefsPanel.this.rulesList.getSelectedValue() != null);
canBeEnabled = isEnabled; canBeEnabled = isEnabled;
newRuleButton.setEnabled(isEnabled); enableButtons();
copySetButton.setEnabled(isEnabled && setSelected); }
newSetButton.setEnabled(isEnabled);
editRuleButton.setEnabled(isEnabled && ruleSelected); private void enableButtons() {
editSetButton.setEnabled(isEnabled && setSelected); FilesSet selectedFilesSet = FilesSetDefsPanel.this.setsList.getSelectedValue();
boolean setSelected = (selectedFilesSet != null);
boolean isStandardSet = (selectedFilesSet != null && selectedFilesSet.isStandardSet());
boolean ruleSelected = (FilesSetDefsPanel.this.rulesList.getSelectedValue() != null);
newRuleButton.setEnabled(canBeEnabled && !isStandardSet);
copySetButton.setEnabled(canBeEnabled && setSelected);
newSetButton.setEnabled(canBeEnabled);
editRuleButton.setEnabled(canBeEnabled && ruleSelected && !isStandardSet);
editSetButton.setEnabled(canBeEnabled && setSelected && !isStandardSet);
exportSetButton.setEnabled(setSelected); exportSetButton.setEnabled(setSelected);
importSetButton.setEnabled(isEnabled); importSetButton.setEnabled(canBeEnabled);
deleteRuleButton.setEnabled(isEnabled && ruleSelected); deleteRuleButton.setEnabled(canBeEnabled && ruleSelected && !isStandardSet);
deleteSetButton.setEnabled(isEnabled && setSelected); deleteSetButton.setEnabled(canBeEnabled && setSelected && !isStandardSet);
ingestWarningLabel.setVisible(!isEnabled); ingestWarningLabel.setVisible(!canBeEnabled);
} }
@Override @Override
@ -236,12 +244,7 @@ public final class FilesSetDefsPanel extends IngestModuleGlobalSettingsPanel imp
this.setDescriptionTextArea.setText(""); this.setDescriptionTextArea.setText("");
this.ignoreKnownFilesCheckbox.setSelected(true); this.ignoreKnownFilesCheckbox.setSelected(true);
this.ingoreUnallocCheckbox.setSelected(true); this.ingoreUnallocCheckbox.setSelected(true);
this.newSetButton.setEnabled(true && canBeEnabled); enableButtons();
this.editSetButton.setEnabled(false);
this.copySetButton.setEnabled(false);
this.exportSetButton.setEnabled(false);
this.importSetButton.setEnabled(true && canBeEnabled);
this.deleteSetButton.setEnabled(false);
} }
/** /**
@ -260,9 +263,7 @@ public final class FilesSetDefsPanel extends IngestModuleGlobalSettingsPanel imp
this.equalitySignComboBox.setSelectedIndex(2); this.equalitySignComboBox.setSelectedIndex(2);
this.fileSizeUnitComboBox.setSelectedIndex(1); this.fileSizeUnitComboBox.setSelectedIndex(1);
this.fileSizeSpinner.setValue(0); this.fileSizeSpinner.setValue(0);
this.newRuleButton.setEnabled(!this.setsListModel.isEmpty() && canBeEnabled); enableButtons();
this.editRuleButton.setEnabled(false);
this.deleteRuleButton.setEnabled(false);
} }
/** /**
@ -276,10 +277,6 @@ public final class FilesSetDefsPanel extends IngestModuleGlobalSettingsPanel imp
return; return;
} }
FilesSetDefsPanel.this.rulesListModel.clear(); FilesSetDefsPanel.this.rulesListModel.clear();
FilesSetDefsPanel.this.resetRuleComponents();
//enable the new button
FilesSetDefsPanel.this.newSetButton.setEnabled(canBeEnabled);
FilesSetDefsPanel.this.importSetButton.setEnabled(canBeEnabled);
// Get the selected interesting files set and populate the set // Get the selected interesting files set and populate the set
// components. // components.
@ -291,11 +288,6 @@ public final class FilesSetDefsPanel extends IngestModuleGlobalSettingsPanel imp
FilesSetDefsPanel.this.setDescriptionTextArea.setText(selectedSet.getDescription()); FilesSetDefsPanel.this.setDescriptionTextArea.setText(selectedSet.getDescription());
FilesSetDefsPanel.this.ignoreKnownFilesCheckbox.setSelected(selectedSet.ignoresKnownFiles()); FilesSetDefsPanel.this.ignoreKnownFilesCheckbox.setSelected(selectedSet.ignoresKnownFiles());
FilesSetDefsPanel.this.ingoreUnallocCheckbox.setSelected(selectedSet.ingoresUnallocatedSpace()); FilesSetDefsPanel.this.ingoreUnallocCheckbox.setSelected(selectedSet.ingoresUnallocatedSpace());
// Enable the copy, export, edit and delete set buttons.
FilesSetDefsPanel.this.editSetButton.setEnabled(canBeEnabled);
FilesSetDefsPanel.this.deleteSetButton.setEnabled(canBeEnabled);
FilesSetDefsPanel.this.copySetButton.setEnabled(canBeEnabled);
FilesSetDefsPanel.this.exportSetButton.setEnabled(true);
// Populate the rule definitions list, sorted by name. // Populate the rule definitions list, sorted by name.
List<FilesSet.Rule> rules = new ArrayList<>(selectedSet.getRules().values()); List<FilesSet.Rule> rules = new ArrayList<>(selectedSet.getRules().values());
Collections.sort(rules, new Comparator<FilesSet.Rule>() { Collections.sort(rules, new Comparator<FilesSet.Rule>() {
@ -311,15 +303,10 @@ public final class FilesSetDefsPanel extends IngestModuleGlobalSettingsPanel imp
if (!FilesSetDefsPanel.this.rulesListModel.isEmpty()) { if (!FilesSetDefsPanel.this.rulesListModel.isEmpty()) {
FilesSetDefsPanel.this.rulesList.setSelectedIndex(0); FilesSetDefsPanel.this.rulesList.setSelectedIndex(0);
} }
} else {
// Disable the edit, delete, copy, and export buttons
FilesSetDefsPanel.this.editSetButton.setEnabled(false);
FilesSetDefsPanel.this.deleteSetButton.setEnabled(false);
FilesSetDefsPanel.this.copySetButton.setEnabled(false);
FilesSetDefsPanel.this.exportSetButton.setEnabled(false);
} }
FilesSetDefsPanel.this.resetRuleComponents();
} }
} }
/** /**
@ -395,10 +382,7 @@ public final class FilesSetDefsPanel extends IngestModuleGlobalSettingsPanel imp
else { else {
FilesSetDefsPanel.this.daysIncludedTextField.setText(""); FilesSetDefsPanel.this.daysIncludedTextField.setText("");
} }
// Enable the new, edit and delete rule buttons. enableButtons();
FilesSetDefsPanel.this.newRuleButton.setEnabled(true && canBeEnabled);
FilesSetDefsPanel.this.editRuleButton.setEnabled(true && canBeEnabled);
FilesSetDefsPanel.this.deleteRuleButton.setEnabled(true && canBeEnabled);
} else { } else {
FilesSetDefsPanel.this.resetRuleComponents(); FilesSetDefsPanel.this.resetRuleComponents();
} }