mirror of
https://github.com/elisspace/autopsy.git
synced 2026-10-03 07:49:52 +00:00
Fixed properties file behavior, TODO: deleted tag names not appear in quick tag
This commit is contained in:
@@ -13,8 +13,8 @@ TagsManagerOptionsPanel.addTagNameButton.empty=Tag name text is empty.
|
||||
TagsManagerOptionsPanel.addTagNameButton.containComma=Tag name may not contain commas.
|
||||
TagsManagerOptionsPanel.addTagNameButton.alreadyExists=Tag name already exists.
|
||||
TagsManagerOptionsPanel.jLabel1.text=Autopsy keeps a list of the tag names you have used in the past. Add more or delete them here.
|
||||
TagsManagerOptionsPanel.tagNamesListLabel.text=\
|
||||
TagsManagerOptionsPanel.userTagNameTextField.text=\
|
||||
TagsManagerOptionsPanel.tagNamesListLabel.text=Your tag names:
|
||||
TagsManagerOptionsPanel.userTagNameTextField.text=
|
||||
TagsManagerOptionsPanel.addTagNameButton.text=Add Tag Name
|
||||
TagsManagerOptionsPanel.deleteTagNameButton.text=Delete Tag Name
|
||||
TagsManagerOptionsPanel.tagNameErrLabel.text=\
|
||||
TagsManagerOptionsPanel.tagNameErrLabel.text=
|
||||
@@ -180,8 +180,8 @@ public class TagsManager implements Closeable {
|
||||
* Add the tag name to the tags settings.
|
||||
*/
|
||||
uniqueTagNames.put(newTagName.getDisplayName(), newTagName);
|
||||
saveTagNamesToTagsSettings();
|
||||
|
||||
addNewTagNameToTagsSettings(newTagName);
|
||||
|
||||
return newTagName;
|
||||
}
|
||||
|
||||
@@ -585,7 +585,7 @@ public class TagsManager implements Closeable {
|
||||
}
|
||||
|
||||
/**
|
||||
* Closes the tags manager, saving the avaialble tag names to secondary
|
||||
* Closes the tags manager, saving the available tag names to secondary
|
||||
* storage.
|
||||
*
|
||||
* @throws IOException If there is a problem closing the tags manager.
|
||||
@@ -594,7 +594,7 @@ public class TagsManager implements Closeable {
|
||||
@Override
|
||||
@Deprecated
|
||||
public synchronized void close() throws IOException {
|
||||
saveTagNamesToTagsSettings();
|
||||
//saveTagNamesToTagsSettings();
|
||||
caseDb = null;
|
||||
}
|
||||
|
||||
@@ -604,10 +604,10 @@ public class TagsManager implements Closeable {
|
||||
*/
|
||||
private void lazyLoadExistingTagNames() {
|
||||
if (!tagNamesLoaded) {
|
||||
//addTagNamesFromCurrentCase();
|
||||
addTagNamesFromTagsSettings();
|
||||
addPredefinedTagNames();
|
||||
saveTagNamesToTagsSettings();
|
||||
addTagNamesFromCurrentCase();
|
||||
tagNamesLoaded = true;
|
||||
}
|
||||
}
|
||||
@@ -687,7 +687,22 @@ public class TagsManager implements Closeable {
|
||||
ModuleSettings.setConfigSetting(TAGS_SETTINGS_NAME, TAG_NAMES_SETTING_KEY, setting.toString());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
private void addNewTagNameToTagsSettings(TagName tagName) {
|
||||
String setting = ModuleSettings.getConfigSetting(TAGS_SETTINGS_NAME, TAG_NAMES_SETTING_KEY);
|
||||
if (setting == null || setting.isEmpty()) {
|
||||
setting = "";
|
||||
}
|
||||
else {
|
||||
setting += ";";
|
||||
}
|
||||
setting += tagName.getDisplayName() + "," + tagName.getDescription() + "," + tagName.getColor().name();
|
||||
ModuleSettings.setConfigSetting(TAGS_SETTINGS_NAME, TAG_NAMES_SETTING_KEY, setting);
|
||||
}
|
||||
|
||||
/**
|
||||
* Exception thrown if there is an attempt to add a duplicate tag name.
|
||||
*/
|
||||
|
||||
@@ -13,10 +13,13 @@ import java.util.TreeSet;
|
||||
import java.util.logging.Level;
|
||||
import javax.swing.DefaultListModel;
|
||||
import org.netbeans.spi.options.OptionsPanelController;
|
||||
import org.openide.util.Exceptions;
|
||||
import org.openide.util.NbBundle;
|
||||
import org.sleuthkit.autopsy.casemodule.Case;
|
||||
import org.sleuthkit.autopsy.corecomponents.OptionsPanel;
|
||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||
import org.sleuthkit.autopsy.coreutils.ModuleSettings;
|
||||
import org.sleuthkit.datamodel.TskCoreException;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -31,7 +34,7 @@ public class TagsManagerOptionsPanel extends javax.swing.JPanel implements Optio
|
||||
private static final String DEFAULT_COLOR_STRING = "NONE";
|
||||
|
||||
private final DefaultListModel<CustomTagName> tagNamesListModel;
|
||||
private final Set<CustomTagName> tagNames;
|
||||
private Set<CustomTagName> tagNames;
|
||||
|
||||
/**
|
||||
* Creates new form TagsManagerPanel
|
||||
@@ -41,27 +44,23 @@ public class TagsManagerOptionsPanel extends javax.swing.JPanel implements Optio
|
||||
|
||||
tagNamesListModel = new DefaultListModel<>();
|
||||
tagNamesList.setModel(tagNamesListModel);
|
||||
tagNames = new TreeSet<>();
|
||||
|
||||
customizeComponents();
|
||||
}
|
||||
|
||||
private void customizeComponents() {
|
||||
addTagNamesFromTagsSettings();
|
||||
|
||||
tagNames = getTagNamesFromTagsSettings();
|
||||
userTagNameTextField.setText("");
|
||||
tagNameErrLabel.setText("");
|
||||
}
|
||||
|
||||
private void addTagNamesFromTagsSettings() {
|
||||
private Set<CustomTagName> getTagNamesFromTagsSettings() {
|
||||
Set<CustomTagName> tagNamesFromSettings = new TreeSet<>();
|
||||
String setting = ModuleSettings.getConfigSetting(TAGS_SETTINGS_NAME, TAG_NAMES_SETTING_KEY);
|
||||
if ((setting != null) && !setting.isEmpty()) {
|
||||
List<String> tagNameTuples = Arrays.asList(setting.split(";"));
|
||||
for (String tagNameTuple : tagNameTuples) {
|
||||
String[] tagNameAttributes = tagNameTuple.split(",");
|
||||
CustomTagName tagName = new CustomTagName(tagNameAttributes[0], tagNameAttributes[1], tagNameAttributes[2]);
|
||||
tagNames.add(tagName);
|
||||
tagNamesFromSettings.add(tagName);
|
||||
}
|
||||
}
|
||||
return tagNamesFromSettings;
|
||||
}
|
||||
|
||||
private void updateTagNamesListModel() {
|
||||
@@ -222,8 +221,8 @@ public class TagsManagerOptionsPanel extends javax.swing.JPanel implements Optio
|
||||
}
|
||||
|
||||
CustomTagName tagName = new CustomTagName(newTagName, DEFAULT_DESCRIPTION, DEFAULT_COLOR_STRING);
|
||||
boolean added = tagNames.add(tagName);
|
||||
if (!added) {
|
||||
boolean addedToTagNames = tagNames.add(tagName);
|
||||
if (!addedToTagNames) {
|
||||
tagNameErrLabel.setText(NbBundle.getMessage(TagsManagerOptionsPanel.class, "TagsManagerOptionsPanel.addTagNameButton.alreadyExists"));
|
||||
return;
|
||||
}
|
||||
@@ -237,16 +236,19 @@ public class TagsManagerOptionsPanel extends javax.swing.JPanel implements Optio
|
||||
|
||||
private void deleteTagNameButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deleteTagNameButtonActionPerformed
|
||||
CustomTagName tagName = tagNamesList.getSelectedValue();
|
||||
if (tagName != null) {
|
||||
tagNames.remove(tagName);
|
||||
updateTagNamesListModel();
|
||||
if (tagName == null) {
|
||||
tagNameErrLabel.setText("No tag name selected.");
|
||||
} else {
|
||||
tagNames.remove(tagName);
|
||||
updateTagNamesListModel();
|
||||
|
||||
|
||||
if (!tagNamesListModel.isEmpty()) {
|
||||
tagNamesList.setSelectedIndex(0);
|
||||
}
|
||||
|
||||
if (!tagNamesListModel.isEmpty()) {
|
||||
tagNamesList.setSelectedIndex(0);
|
||||
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
||||
}
|
||||
|
||||
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
||||
}
|
||||
}//GEN-LAST:event_deleteTagNameButtonActionPerformed
|
||||
|
||||
|
||||
@@ -281,9 +283,16 @@ public class TagsManagerOptionsPanel extends javax.swing.JPanel implements Optio
|
||||
|
||||
@Override
|
||||
public void load() {
|
||||
addTagNamesFromTagsSettings();
|
||||
tagNames = getTagNamesFromTagsSettings();
|
||||
updateTagNamesListModel();
|
||||
//throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
if (!tagNamesListModel.isEmpty()) {
|
||||
tagNamesList.setSelectedIndex(0);
|
||||
}
|
||||
tagNameErrLabel.setText("");
|
||||
}
|
||||
|
||||
public void cancelChanges() {
|
||||
tagNames = getTagNamesFromTagsSettings();
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+4
-1
@@ -42,7 +42,10 @@ public final class TagsManagerOptionsPanelController extends OptionsPanelControl
|
||||
|
||||
@Override
|
||||
public void cancel() {
|
||||
//throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
|
||||
if (changed) {
|
||||
getPanel().cancelChanges();
|
||||
changed = false;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
Reference in New Issue
Block a user