mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-15 09:17:42 +00:00
Merge pull request #4093 from dgrove727/4154_UserPreferencesPanel
4154 user preferences panel
This commit is contained in:
commit
08a60af0df
141
Core/src/org/sleuthkit/autopsy/casemodule/CasePreferences.java
Executable file
141
Core/src/org/sleuthkit/autopsy/casemodule/CasePreferences.java
Executable file
@ -0,0 +1,141 @@
|
|||||||
|
/*
|
||||||
|
* Autopsy Forensic Browser
|
||||||
|
*
|
||||||
|
* Copyright 2018 Basis Technology Corp.
|
||||||
|
* Contact: carrier <at> sleuthkit <dot> org
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.sleuthkit.autopsy.casemodule;
|
||||||
|
|
||||||
|
import java.beans.PropertyChangeEvent;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
import java.nio.file.Paths;
|
||||||
|
import java.util.EnumSet;
|
||||||
|
import java.util.Properties;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
|
import org.sleuthkit.autopsy.directorytree.DirectoryTreeTopComponent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Read and update case preference file values.
|
||||||
|
*/
|
||||||
|
public final class CasePreferences {
|
||||||
|
|
||||||
|
private static final String SETTINGS_FILE = "CasePreferences.properties"; //NON-NLS
|
||||||
|
private static final String KEY_GROUP_BY_DATA_SOURCE = "groupByDataSource"; //NON-NLS
|
||||||
|
private static final String VALUE_TRUE = "true"; //NON-NLS
|
||||||
|
private static final String VALUE_FALSE = "false"; //NON-NLS
|
||||||
|
|
||||||
|
private static final Logger logger = Logger.getLogger(CasePreferences.class.getName());
|
||||||
|
|
||||||
|
private static Boolean groupItemsInTreeByDataSource = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Prevent instantiation.
|
||||||
|
*/
|
||||||
|
private CasePreferences() {
|
||||||
|
}
|
||||||
|
|
||||||
|
static {
|
||||||
|
Case.addEventTypeSubscriber(EnumSet.of(Case.Events.CURRENT_CASE), (PropertyChangeEvent evt) -> {
|
||||||
|
if (evt.getNewValue() != null) {
|
||||||
|
loadFromStorage((Case) evt.getNewValue());
|
||||||
|
} else {
|
||||||
|
saveToStorage((Case) evt.getOldValue());
|
||||||
|
clear();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
try {
|
||||||
|
loadFromStorage(Case.getCurrentCaseThrows());
|
||||||
|
} catch (NoCurrentCaseException ex) {
|
||||||
|
logger.log(Level.SEVERE, "No current case open.", ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the 'groupItemsInTreeByDataSource' value. This can be true, false, or
|
||||||
|
* null.
|
||||||
|
*
|
||||||
|
* @return The value.
|
||||||
|
*/
|
||||||
|
public static Boolean getGroupItemsInTreeByDataSource() {
|
||||||
|
return groupItemsInTreeByDataSource;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the 'groupItemsInTreeByDataSource' value to true or false.
|
||||||
|
*
|
||||||
|
* @param value The value to use for the value change.
|
||||||
|
*/
|
||||||
|
public static void setGroupItemsInTreeByDataSource(boolean value) {
|
||||||
|
groupItemsInTreeByDataSource = value;
|
||||||
|
DirectoryTreeTopComponent.getDefault().refreshContentTreeSafe();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load case preferences from the settings file.
|
||||||
|
*/
|
||||||
|
private static void loadFromStorage(Case currentCase) {
|
||||||
|
Path settingsFile = Paths.get(currentCase.getConfigDirectory(), SETTINGS_FILE); //NON-NLS
|
||||||
|
if (settingsFile.toFile().exists()) {
|
||||||
|
// Read the settings
|
||||||
|
try (InputStream inputStream = Files.newInputStream(settingsFile)) {
|
||||||
|
Properties props = new Properties();
|
||||||
|
props.load(inputStream);
|
||||||
|
String groupByDataSourceValue = props.getProperty(KEY_GROUP_BY_DATA_SOURCE);
|
||||||
|
switch (groupByDataSourceValue) {
|
||||||
|
case VALUE_TRUE:
|
||||||
|
groupItemsInTreeByDataSource = true;
|
||||||
|
break;
|
||||||
|
case VALUE_FALSE:
|
||||||
|
groupItemsInTreeByDataSource = false;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
groupItemsInTreeByDataSource = null;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} catch (IOException ex) {
|
||||||
|
logger.log(Level.SEVERE, "Error reading settings file", ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reset all values to their default states.
|
||||||
|
*/
|
||||||
|
private static void clear() {
|
||||||
|
groupItemsInTreeByDataSource = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Store case preferences in the settings file.
|
||||||
|
*/
|
||||||
|
private static void saveToStorage(Case currentCase) {
|
||||||
|
Path settingsFile = Paths.get(currentCase.getConfigDirectory(), SETTINGS_FILE); //NON-NLS
|
||||||
|
Properties props = new Properties();
|
||||||
|
if (groupItemsInTreeByDataSource != null) {
|
||||||
|
props.setProperty(KEY_GROUP_BY_DATA_SOURCE, (groupItemsInTreeByDataSource ? VALUE_TRUE : VALUE_FALSE));
|
||||||
|
}
|
||||||
|
|
||||||
|
try (OutputStream fos = Files.newOutputStream(settingsFile)) {
|
||||||
|
props.store(fos, ""); //NON-NLS
|
||||||
|
} catch (IOException ex) {
|
||||||
|
logger.log(Level.SEVERE, "Error writing settings file", ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -31,7 +31,7 @@ import org.openide.util.Lookup;
|
|||||||
iconBase = "org/sleuthkit/autopsy/casemodule/services/tag-options-panel-icon.png",
|
iconBase = "org/sleuthkit/autopsy/casemodule/services/tag-options-panel-icon.png",
|
||||||
keywords = "#OptionsCategory_TagNames",
|
keywords = "#OptionsCategory_TagNames",
|
||||||
keywordsCategory = "CustomTagNames",
|
keywordsCategory = "CustomTagNames",
|
||||||
position = 11
|
position = 12
|
||||||
)
|
)
|
||||||
|
|
||||||
public final class TagsOptionsPanelController extends OptionsPanelController {
|
public final class TagsOptionsPanelController extends OptionsPanelController {
|
||||||
|
@ -35,7 +35,7 @@ import org.sleuthkit.autopsy.coreutils.Logger;
|
|||||||
*/
|
*/
|
||||||
@OptionsPanelController.TopLevelRegistration(categoryName = "#OptionsCategory_Name_Central_Repository_Options",
|
@OptionsPanelController.TopLevelRegistration(categoryName = "#OptionsCategory_Name_Central_Repository_Options",
|
||||||
iconBase = "org/sleuthkit/autopsy/centralrepository/images/options-icon.png",
|
iconBase = "org/sleuthkit/autopsy/centralrepository/images/options-icon.png",
|
||||||
position = 14,
|
position = 15,
|
||||||
keywords = "#OptionsCategory_Keywords_Central_Repository_Options",
|
keywords = "#OptionsCategory_Keywords_Central_Repository_Options",
|
||||||
keywordsCategory = "CentralRepository")
|
keywordsCategory = "CentralRepository")
|
||||||
public final class EamOptionsPanelController extends OptionsPanelController {
|
public final class EamOptionsPanelController extends OptionsPanelController {
|
||||||
|
@ -189,10 +189,12 @@ public final class UserPreferences {
|
|||||||
preferences.putInt(NUMBER_OF_FILE_INGEST_THREADS, value);
|
preferences.putInt(NUMBER_OF_FILE_INGEST_THREADS, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public static boolean groupItemsInTreeByDatasource() {
|
public static boolean groupItemsInTreeByDatasource() {
|
||||||
return preferences.getBoolean(GROUP_ITEMS_IN_TREE_BY_DATASOURCE, false);
|
return preferences.getBoolean(GROUP_ITEMS_IN_TREE_BY_DATASOURCE, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
public static void setGroupItemsInTreeByDatasource(boolean value) {
|
public static void setGroupItemsInTreeByDatasource(boolean value) {
|
||||||
preferences.putBoolean(GROUP_ITEMS_IN_TREE_BY_DATASOURCE, value);
|
preferences.putBoolean(GROUP_ITEMS_IN_TREE_BY_DATASOURCE, value);
|
||||||
}
|
}
|
||||||
|
@ -35,7 +35,7 @@
|
|||||||
<DimensionLayout dim="1">
|
<DimensionLayout dim="1">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Group type="102" alignment="0" attributes="0">
|
<Group type="102" alignment="0" attributes="0">
|
||||||
<Component id="jScrollPane1" pref="479" max="32767" attributes="0"/>
|
<Component id="jScrollPane1" max="32767" attributes="0"/>
|
||||||
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
@ -64,15 +64,11 @@
|
|||||||
<Layout>
|
<Layout>
|
||||||
<DimensionLayout dim="0">
|
<DimensionLayout dim="0">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Group type="102" alignment="1" attributes="0">
|
<Group type="102" attributes="0">
|
||||||
<EmptySpace min="-2" max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="1" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Component id="logoPanel" pref="1010" max="32767" attributes="0"/>
|
<Component id="runtimePanel" max="32767" attributes="0"/>
|
||||||
<Group type="102" attributes="0">
|
<Component id="logoPanel" alignment="0" pref="1002" max="32767" attributes="0"/>
|
||||||
<Component id="viewPanel" min="-2" max="-2" attributes="0"/>
|
|
||||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
|
||||||
<Component id="runtimePanel" max="32767" attributes="0"/>
|
|
||||||
</Group>
|
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
@ -81,14 +77,11 @@
|
|||||||
<DimensionLayout dim="1">
|
<DimensionLayout dim="1">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Group type="102" alignment="0" attributes="0">
|
<Group type="102" alignment="0" attributes="0">
|
||||||
<EmptySpace min="0" pref="0" max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="0" max="-2" attributes="0">
|
<Component id="runtimePanel" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="viewPanel" max="32767" attributes="0"/>
|
|
||||||
<Component id="runtimePanel" max="32767" attributes="0"/>
|
|
||||||
</Group>
|
|
||||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||||
<Component id="logoPanel" min="-2" max="-2" attributes="0"/>
|
<Component id="logoPanel" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace pref="185" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
@ -128,7 +121,7 @@
|
|||||||
</Group>
|
</Group>
|
||||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||||
<Component id="agencyLogoPreview" min="-2" max="-2" attributes="0"/>
|
<Component id="agencyLogoPreview" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace max="32767" attributes="0"/>
|
<EmptySpace pref="479" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
@ -232,219 +225,6 @@
|
|||||||
</Component>
|
</Component>
|
||||||
</SubComponents>
|
</SubComponents>
|
||||||
</Container>
|
</Container>
|
||||||
<Container class="javax.swing.JPanel" name="viewPanel">
|
|
||||||
<Properties>
|
|
||||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
|
||||||
<Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
|
|
||||||
<TitledBorder title="View">
|
|
||||||
<ResourceString PropertyName="titleX" bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="AutopsyOptionsPanel.viewPanel.border.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
|
||||||
</TitledBorder>
|
|
||||||
</Border>
|
|
||||||
</Property>
|
|
||||||
</Properties>
|
|
||||||
|
|
||||||
<Layout>
|
|
||||||
<DimensionLayout dim="0">
|
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
|
||||||
<Group type="102" alignment="1" attributes="0">
|
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
|
||||||
<Group type="102" alignment="0" attributes="0">
|
|
||||||
<EmptySpace min="-2" pref="10" max="-2" attributes="0"/>
|
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
|
||||||
<Group type="102" attributes="0">
|
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
|
||||||
<Component id="useGMTTimeRB" alignment="0" min="-2" max="-2" attributes="0"/>
|
|
||||||
<Component id="keepCurrentViewerRB" min="-2" max="-2" attributes="0"/>
|
|
||||||
<Component id="useBestViewerRB" min="-2" max="-2" attributes="0"/>
|
|
||||||
<Component id="dataSourcesHideKnownCB" alignment="0" min="-2" max="-2" attributes="0"/>
|
|
||||||
<Component id="viewsHideKnownCB" alignment="0" min="-2" max="-2" attributes="0"/>
|
|
||||||
</Group>
|
|
||||||
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
|
||||||
</Group>
|
|
||||||
<Group type="102" attributes="0">
|
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
|
||||||
<Component id="dataSourcesHideSlackCB" alignment="0" min="-2" max="-2" attributes="0"/>
|
|
||||||
<Component id="viewsHideSlackCB" alignment="0" min="-2" max="-2" attributes="0"/>
|
|
||||||
<Component id="useLocalTimeRB" alignment="0" min="-2" max="-2" attributes="0"/>
|
|
||||||
</Group>
|
|
||||||
<EmptySpace pref="158" max="32767" attributes="0"/>
|
|
||||||
</Group>
|
|
||||||
</Group>
|
|
||||||
</Group>
|
|
||||||
<Group type="102" attributes="0">
|
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
|
||||||
<Component id="jLabelHideSlackFiles" alignment="0" min="-2" max="-2" attributes="0"/>
|
|
||||||
<Component id="jLabelTimeDisplay" alignment="0" min="-2" max="-2" attributes="0"/>
|
|
||||||
<Component id="jLabelHideKnownFiles" alignment="0" min="-2" max="-2" attributes="0"/>
|
|
||||||
<Component id="jLabelSelectFile" min="-2" max="-2" attributes="0"/>
|
|
||||||
</Group>
|
|
||||||
<EmptySpace min="-2" pref="30" max="-2" attributes="0"/>
|
|
||||||
</Group>
|
|
||||||
</Group>
|
|
||||||
</Group>
|
|
||||||
</Group>
|
|
||||||
</DimensionLayout>
|
|
||||||
<DimensionLayout dim="1">
|
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
|
||||||
<Group type="102" alignment="1" attributes="0">
|
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
|
||||||
<Component id="jLabelSelectFile" min="-2" max="-2" attributes="0"/>
|
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
|
||||||
<Component id="useBestViewerRB" min="-2" max="-2" attributes="0"/>
|
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
|
||||||
<Component id="keepCurrentViewerRB" min="-2" max="-2" attributes="0"/>
|
|
||||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
|
||||||
<Component id="jLabelHideKnownFiles" min="-2" max="-2" attributes="0"/>
|
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
|
||||||
<Component id="dataSourcesHideKnownCB" min="-2" max="-2" attributes="0"/>
|
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
|
||||||
<Component id="viewsHideKnownCB" min="-2" max="-2" attributes="0"/>
|
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
|
||||||
<Component id="jLabelHideSlackFiles" min="-2" max="-2" attributes="0"/>
|
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
|
||||||
<Component id="dataSourcesHideSlackCB" min="-2" max="-2" attributes="0"/>
|
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
|
||||||
<Component id="viewsHideSlackCB" min="-2" max="-2" attributes="0"/>
|
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
|
||||||
<Component id="jLabelTimeDisplay" min="-2" max="-2" attributes="0"/>
|
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
|
||||||
<Component id="useLocalTimeRB" min="-2" max="-2" attributes="0"/>
|
|
||||||
<EmptySpace min="-2" max="-2" attributes="0"/>
|
|
||||||
<Component id="useGMTTimeRB" min="-2" max="-2" attributes="0"/>
|
|
||||||
</Group>
|
|
||||||
</Group>
|
|
||||||
</DimensionLayout>
|
|
||||||
</Layout>
|
|
||||||
<SubComponents>
|
|
||||||
<Component class="javax.swing.JLabel" name="jLabelSelectFile">
|
|
||||||
<Properties>
|
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="AutopsyOptionsPanel.jLabelSelectFile.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
|
||||||
</Property>
|
|
||||||
</Properties>
|
|
||||||
</Component>
|
|
||||||
<Component class="javax.swing.JRadioButton" name="useBestViewerRB">
|
|
||||||
<Properties>
|
|
||||||
<Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
|
|
||||||
<ComponentRef name="fileSelectionButtonGroup"/>
|
|
||||||
</Property>
|
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="AutopsyOptionsPanel.useBestViewerRB.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
|
||||||
</Property>
|
|
||||||
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="AutopsyOptionsPanel.useBestViewerRB.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
|
||||||
</Property>
|
|
||||||
</Properties>
|
|
||||||
<Events>
|
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="useBestViewerRBActionPerformed"/>
|
|
||||||
</Events>
|
|
||||||
</Component>
|
|
||||||
<Component class="javax.swing.JRadioButton" name="keepCurrentViewerRB">
|
|
||||||
<Properties>
|
|
||||||
<Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
|
|
||||||
<ComponentRef name="fileSelectionButtonGroup"/>
|
|
||||||
</Property>
|
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="AutopsyOptionsPanel.keepCurrentViewerRB.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
|
||||||
</Property>
|
|
||||||
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="AutopsyOptionsPanel.keepCurrentViewerRB.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
|
||||||
</Property>
|
|
||||||
</Properties>
|
|
||||||
<Events>
|
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="keepCurrentViewerRBActionPerformed"/>
|
|
||||||
</Events>
|
|
||||||
</Component>
|
|
||||||
<Component class="javax.swing.JLabel" name="jLabelHideKnownFiles">
|
|
||||||
<Properties>
|
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="AutopsyOptionsPanel.jLabelHideKnownFiles.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
|
||||||
</Property>
|
|
||||||
</Properties>
|
|
||||||
</Component>
|
|
||||||
<Component class="javax.swing.JCheckBox" name="dataSourcesHideKnownCB">
|
|
||||||
<Properties>
|
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="AutopsyOptionsPanel.dataSourcesHideKnownCB.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
|
||||||
</Property>
|
|
||||||
</Properties>
|
|
||||||
<Events>
|
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="dataSourcesHideKnownCBActionPerformed"/>
|
|
||||||
</Events>
|
|
||||||
</Component>
|
|
||||||
<Component class="javax.swing.JCheckBox" name="viewsHideKnownCB">
|
|
||||||
<Properties>
|
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="AutopsyOptionsPanel.viewsHideKnownCB.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
|
||||||
</Property>
|
|
||||||
</Properties>
|
|
||||||
<Events>
|
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="viewsHideKnownCBActionPerformed"/>
|
|
||||||
</Events>
|
|
||||||
</Component>
|
|
||||||
<Component class="javax.swing.JLabel" name="jLabelHideSlackFiles">
|
|
||||||
<Properties>
|
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="AutopsyOptionsPanel.jLabelHideSlackFiles.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
|
||||||
</Property>
|
|
||||||
</Properties>
|
|
||||||
</Component>
|
|
||||||
<Component class="javax.swing.JCheckBox" name="dataSourcesHideSlackCB">
|
|
||||||
<Properties>
|
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="AutopsyOptionsPanel.dataSourcesHideSlackCB.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
|
||||||
</Property>
|
|
||||||
</Properties>
|
|
||||||
<Events>
|
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="dataSourcesHideSlackCBActionPerformed"/>
|
|
||||||
</Events>
|
|
||||||
</Component>
|
|
||||||
<Component class="javax.swing.JCheckBox" name="viewsHideSlackCB">
|
|
||||||
<Properties>
|
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="AutopsyOptionsPanel.viewsHideSlackCB.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
|
||||||
</Property>
|
|
||||||
</Properties>
|
|
||||||
<Events>
|
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="viewsHideSlackCBActionPerformed"/>
|
|
||||||
</Events>
|
|
||||||
</Component>
|
|
||||||
<Component class="javax.swing.JLabel" name="jLabelTimeDisplay">
|
|
||||||
<Properties>
|
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="AutopsyOptionsPanel.jLabelTimeDisplay.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
|
||||||
</Property>
|
|
||||||
</Properties>
|
|
||||||
</Component>
|
|
||||||
<Component class="javax.swing.JRadioButton" name="useLocalTimeRB">
|
|
||||||
<Properties>
|
|
||||||
<Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
|
|
||||||
<ComponentRef name="displayTimesButtonGroup"/>
|
|
||||||
</Property>
|
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="AutopsyOptionsPanel.useLocalTimeRB.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
|
||||||
</Property>
|
|
||||||
</Properties>
|
|
||||||
<Events>
|
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="useLocalTimeRBActionPerformed"/>
|
|
||||||
</Events>
|
|
||||||
</Component>
|
|
||||||
<Component class="javax.swing.JRadioButton" name="useGMTTimeRB">
|
|
||||||
<Properties>
|
|
||||||
<Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
|
|
||||||
<ComponentRef name="displayTimesButtonGroup"/>
|
|
||||||
</Property>
|
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="AutopsyOptionsPanel.useGMTTimeRB.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
|
||||||
</Property>
|
|
||||||
</Properties>
|
|
||||||
<Events>
|
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="useGMTTimeRBActionPerformed"/>
|
|
||||||
</Events>
|
|
||||||
</Component>
|
|
||||||
</SubComponents>
|
|
||||||
</Container>
|
|
||||||
<Container class="javax.swing.JPanel" name="runtimePanel">
|
<Container class="javax.swing.JPanel" name="runtimePanel">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||||
@ -471,7 +251,7 @@
|
|||||||
<Group type="102" attributes="0">
|
<Group type="102" attributes="0">
|
||||||
<Component id="maxMemoryUnitsLabel1" min="-2" max="-2" attributes="0"/>
|
<Component id="maxMemoryUnitsLabel1" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||||
<Component id="restartNecessaryWarning" max="32767" attributes="0"/>
|
<Component id="restartNecessaryWarning" pref="783" max="32767" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<Group type="102" attributes="0">
|
<Group type="102" attributes="0">
|
||||||
<Component id="maxMemoryUnitsLabel" min="-2" max="-2" attributes="0"/>
|
<Component id="maxMemoryUnitsLabel" min="-2" max="-2" attributes="0"/>
|
||||||
|
@ -285,16 +285,6 @@ final class AutopsyOptionsPanel extends javax.swing.JPanel {
|
|||||||
* Load the saved user preferences.
|
* Load the saved user preferences.
|
||||||
*/
|
*/
|
||||||
void load() {
|
void load() {
|
||||||
boolean keepPreferredViewer = UserPreferences.keepPreferredContentViewer();
|
|
||||||
keepCurrentViewerRB.setSelected(keepPreferredViewer);
|
|
||||||
useBestViewerRB.setSelected(!keepPreferredViewer);
|
|
||||||
dataSourcesHideKnownCB.setSelected(UserPreferences.hideKnownFilesInDataSourcesTree());
|
|
||||||
viewsHideKnownCB.setSelected(UserPreferences.hideKnownFilesInViewsTree());
|
|
||||||
dataSourcesHideSlackCB.setSelected(UserPreferences.hideSlackFilesInDataSourcesTree());
|
|
||||||
viewsHideSlackCB.setSelected(UserPreferences.hideSlackFilesInViewsTree());
|
|
||||||
boolean useLocalTime = UserPreferences.displayTimesInLocalTime();
|
|
||||||
useLocalTimeRB.setSelected(useLocalTime);
|
|
||||||
useGMTTimeRB.setSelected(!useLocalTime);
|
|
||||||
String path = ModuleSettings.getConfigSetting(ReportBranding.MODULE_NAME, ReportBranding.AGENCY_LOGO_PATH_PROP);
|
String path = ModuleSettings.getConfigSetting(ReportBranding.MODULE_NAME, ReportBranding.AGENCY_LOGO_PATH_PROP);
|
||||||
boolean useDefault = (path == null || path.isEmpty());
|
boolean useDefault = (path == null || path.isEmpty());
|
||||||
defaultLogoRB.setSelected(useDefault);
|
defaultLogoRB.setSelected(useDefault);
|
||||||
@ -350,12 +340,6 @@ final class AutopsyOptionsPanel extends javax.swing.JPanel {
|
|||||||
* Store the current user preferences.
|
* Store the current user preferences.
|
||||||
*/
|
*/
|
||||||
void store() {
|
void store() {
|
||||||
UserPreferences.setKeepPreferredContentViewer(keepCurrentViewerRB.isSelected());
|
|
||||||
UserPreferences.setHideKnownFilesInDataSourcesTree(dataSourcesHideKnownCB.isSelected());
|
|
||||||
UserPreferences.setHideKnownFilesInViewsTree(viewsHideKnownCB.isSelected());
|
|
||||||
UserPreferences.setHideSlackFilesInDataSourcesTree(dataSourcesHideSlackCB.isSelected());
|
|
||||||
UserPreferences.setHideSlackFilesInViewsTree(viewsHideSlackCB.isSelected());
|
|
||||||
UserPreferences.setDisplayTimesInLocalTime(useLocalTimeRB.isSelected());
|
|
||||||
UserPreferences.setLogFileCount(Integer.parseInt(logFileCount.getText()));
|
UserPreferences.setLogFileCount(Integer.parseInt(logFileCount.getText()));
|
||||||
if (!agencyLogoPathField.getText().isEmpty()) {
|
if (!agencyLogoPathField.getText().isEmpty()) {
|
||||||
File file = new File(agencyLogoPathField.getText());
|
File file = new File(agencyLogoPathField.getText());
|
||||||
@ -535,19 +519,6 @@ final class AutopsyOptionsPanel extends javax.swing.JPanel {
|
|||||||
defaultLogoRB = new javax.swing.JRadioButton();
|
defaultLogoRB = new javax.swing.JRadioButton();
|
||||||
specifyLogoRB = new javax.swing.JRadioButton();
|
specifyLogoRB = new javax.swing.JRadioButton();
|
||||||
agencyLogoPathFieldValidationLabel = new javax.swing.JLabel();
|
agencyLogoPathFieldValidationLabel = new javax.swing.JLabel();
|
||||||
viewPanel = new javax.swing.JPanel();
|
|
||||||
jLabelSelectFile = new javax.swing.JLabel();
|
|
||||||
useBestViewerRB = new javax.swing.JRadioButton();
|
|
||||||
keepCurrentViewerRB = new javax.swing.JRadioButton();
|
|
||||||
jLabelHideKnownFiles = new javax.swing.JLabel();
|
|
||||||
dataSourcesHideKnownCB = new javax.swing.JCheckBox();
|
|
||||||
viewsHideKnownCB = new javax.swing.JCheckBox();
|
|
||||||
jLabelHideSlackFiles = new javax.swing.JLabel();
|
|
||||||
dataSourcesHideSlackCB = new javax.swing.JCheckBox();
|
|
||||||
viewsHideSlackCB = new javax.swing.JCheckBox();
|
|
||||||
jLabelTimeDisplay = new javax.swing.JLabel();
|
|
||||||
useLocalTimeRB = new javax.swing.JRadioButton();
|
|
||||||
useGMTTimeRB = new javax.swing.JRadioButton();
|
|
||||||
runtimePanel = new javax.swing.JPanel();
|
runtimePanel = new javax.swing.JPanel();
|
||||||
maxMemoryLabel = new javax.swing.JLabel();
|
maxMemoryLabel = new javax.swing.JLabel();
|
||||||
maxMemoryUnitsLabel = new javax.swing.JLabel();
|
maxMemoryUnitsLabel = new javax.swing.JLabel();
|
||||||
@ -624,7 +595,7 @@ final class AutopsyOptionsPanel extends javax.swing.JPanel {
|
|||||||
.addComponent(agencyLogoPathFieldValidationLabel))
|
.addComponent(agencyLogoPathFieldValidationLabel))
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||||
.addComponent(agencyLogoPreview, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(agencyLogoPreview, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
.addContainerGap(479, Short.MAX_VALUE))
|
||||||
);
|
);
|
||||||
logoPanelLayout.setVerticalGroup(
|
logoPanelLayout.setVerticalGroup(
|
||||||
logoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
logoPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
@ -643,139 +614,6 @@ final class AutopsyOptionsPanel extends javax.swing.JPanel {
|
|||||||
.addGap(0, 0, Short.MAX_VALUE))
|
.addGap(0, 0, Short.MAX_VALUE))
|
||||||
);
|
);
|
||||||
|
|
||||||
viewPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.viewPanel.border.title"))); // NOI18N
|
|
||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(jLabelSelectFile, org.openide.util.NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.jLabelSelectFile.text")); // NOI18N
|
|
||||||
|
|
||||||
fileSelectionButtonGroup.add(useBestViewerRB);
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(useBestViewerRB, org.openide.util.NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.useBestViewerRB.text")); // NOI18N
|
|
||||||
useBestViewerRB.setToolTipText(org.openide.util.NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.useBestViewerRB.toolTipText")); // NOI18N
|
|
||||||
useBestViewerRB.addActionListener(new java.awt.event.ActionListener() {
|
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
||||||
useBestViewerRBActionPerformed(evt);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
fileSelectionButtonGroup.add(keepCurrentViewerRB);
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(keepCurrentViewerRB, org.openide.util.NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.keepCurrentViewerRB.text")); // NOI18N
|
|
||||||
keepCurrentViewerRB.setToolTipText(org.openide.util.NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.keepCurrentViewerRB.toolTipText")); // NOI18N
|
|
||||||
keepCurrentViewerRB.addActionListener(new java.awt.event.ActionListener() {
|
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
||||||
keepCurrentViewerRBActionPerformed(evt);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(jLabelHideKnownFiles, org.openide.util.NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.jLabelHideKnownFiles.text")); // NOI18N
|
|
||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(dataSourcesHideKnownCB, org.openide.util.NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.dataSourcesHideKnownCB.text")); // NOI18N
|
|
||||||
dataSourcesHideKnownCB.addActionListener(new java.awt.event.ActionListener() {
|
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
||||||
dataSourcesHideKnownCBActionPerformed(evt);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(viewsHideKnownCB, org.openide.util.NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.viewsHideKnownCB.text")); // NOI18N
|
|
||||||
viewsHideKnownCB.addActionListener(new java.awt.event.ActionListener() {
|
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
||||||
viewsHideKnownCBActionPerformed(evt);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(jLabelHideSlackFiles, org.openide.util.NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.jLabelHideSlackFiles.text")); // NOI18N
|
|
||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(dataSourcesHideSlackCB, org.openide.util.NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.dataSourcesHideSlackCB.text")); // NOI18N
|
|
||||||
dataSourcesHideSlackCB.addActionListener(new java.awt.event.ActionListener() {
|
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
||||||
dataSourcesHideSlackCBActionPerformed(evt);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(viewsHideSlackCB, org.openide.util.NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.viewsHideSlackCB.text")); // NOI18N
|
|
||||||
viewsHideSlackCB.addActionListener(new java.awt.event.ActionListener() {
|
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
||||||
viewsHideSlackCBActionPerformed(evt);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(jLabelTimeDisplay, org.openide.util.NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.jLabelTimeDisplay.text")); // NOI18N
|
|
||||||
|
|
||||||
displayTimesButtonGroup.add(useLocalTimeRB);
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(useLocalTimeRB, org.openide.util.NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.useLocalTimeRB.text")); // NOI18N
|
|
||||||
useLocalTimeRB.addActionListener(new java.awt.event.ActionListener() {
|
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
||||||
useLocalTimeRBActionPerformed(evt);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
displayTimesButtonGroup.add(useGMTTimeRB);
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(useGMTTimeRB, org.openide.util.NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.useGMTTimeRB.text")); // NOI18N
|
|
||||||
useGMTTimeRB.addActionListener(new java.awt.event.ActionListener() {
|
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
||||||
useGMTTimeRBActionPerformed(evt);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
javax.swing.GroupLayout viewPanelLayout = new javax.swing.GroupLayout(viewPanel);
|
|
||||||
viewPanel.setLayout(viewPanelLayout);
|
|
||||||
viewPanelLayout.setHorizontalGroup(
|
|
||||||
viewPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
||||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, viewPanelLayout.createSequentialGroup()
|
|
||||||
.addContainerGap()
|
|
||||||
.addGroup(viewPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
||||||
.addGroup(viewPanelLayout.createSequentialGroup()
|
|
||||||
.addGap(10, 10, 10)
|
|
||||||
.addGroup(viewPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
||||||
.addGroup(viewPanelLayout.createSequentialGroup()
|
|
||||||
.addGroup(viewPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
||||||
.addComponent(useGMTTimeRB)
|
|
||||||
.addComponent(keepCurrentViewerRB)
|
|
||||||
.addComponent(useBestViewerRB)
|
|
||||||
.addComponent(dataSourcesHideKnownCB)
|
|
||||||
.addComponent(viewsHideKnownCB))
|
|
||||||
.addGap(0, 0, Short.MAX_VALUE))
|
|
||||||
.addGroup(viewPanelLayout.createSequentialGroup()
|
|
||||||
.addGroup(viewPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
||||||
.addComponent(dataSourcesHideSlackCB)
|
|
||||||
.addComponent(viewsHideSlackCB)
|
|
||||||
.addComponent(useLocalTimeRB))
|
|
||||||
.addContainerGap(158, Short.MAX_VALUE))))
|
|
||||||
.addGroup(viewPanelLayout.createSequentialGroup()
|
|
||||||
.addGroup(viewPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
||||||
.addComponent(jLabelHideSlackFiles)
|
|
||||||
.addComponent(jLabelTimeDisplay)
|
|
||||||
.addComponent(jLabelHideKnownFiles)
|
|
||||||
.addComponent(jLabelSelectFile))
|
|
||||||
.addGap(30, 30, 30))))
|
|
||||||
);
|
|
||||||
viewPanelLayout.setVerticalGroup(
|
|
||||||
viewPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
||||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, viewPanelLayout.createSequentialGroup()
|
|
||||||
.addContainerGap()
|
|
||||||
.addComponent(jLabelSelectFile)
|
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
||||||
.addComponent(useBestViewerRB)
|
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
||||||
.addComponent(keepCurrentViewerRB)
|
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
|
||||||
.addComponent(jLabelHideKnownFiles)
|
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
||||||
.addComponent(dataSourcesHideKnownCB)
|
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
||||||
.addComponent(viewsHideKnownCB)
|
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
||||||
.addComponent(jLabelHideSlackFiles)
|
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
||||||
.addComponent(dataSourcesHideSlackCB)
|
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
||||||
.addComponent(viewsHideSlackCB)
|
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
||||||
.addComponent(jLabelTimeDisplay)
|
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
||||||
.addComponent(useLocalTimeRB)
|
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
||||||
.addComponent(useGMTTimeRB))
|
|
||||||
);
|
|
||||||
|
|
||||||
runtimePanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.runtimePanel.border.title"))); // NOI18N
|
runtimePanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.runtimePanel.border.title"))); // NOI18N
|
||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(maxMemoryLabel, org.openide.util.NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.maxMemoryLabel.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(maxMemoryLabel, org.openide.util.NbBundle.getMessage(AutopsyOptionsPanel.class, "AutopsyOptionsPanel.maxMemoryLabel.text")); // NOI18N
|
||||||
@ -831,7 +669,7 @@ final class AutopsyOptionsPanel extends javax.swing.JPanel {
|
|||||||
.addGroup(runtimePanelLayout.createSequentialGroup()
|
.addGroup(runtimePanelLayout.createSequentialGroup()
|
||||||
.addComponent(maxMemoryUnitsLabel1)
|
.addComponent(maxMemoryUnitsLabel1)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||||
.addComponent(restartNecessaryWarning, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
.addComponent(restartNecessaryWarning, javax.swing.GroupLayout.DEFAULT_SIZE, 783, Short.MAX_VALUE))
|
||||||
.addGroup(runtimePanelLayout.createSequentialGroup()
|
.addGroup(runtimePanelLayout.createSequentialGroup()
|
||||||
.addComponent(maxMemoryUnitsLabel)
|
.addComponent(maxMemoryUnitsLabel)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||||
@ -884,26 +722,21 @@ final class AutopsyOptionsPanel extends javax.swing.JPanel {
|
|||||||
jPanel1.setLayout(jPanel1Layout);
|
jPanel1.setLayout(jPanel1Layout);
|
||||||
jPanel1Layout.setHorizontalGroup(
|
jPanel1Layout.setHorizontalGroup(
|
||||||
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, jPanel1Layout.createSequentialGroup()
|
.addGroup(jPanel1Layout.createSequentialGroup()
|
||||||
.addContainerGap()
|
.addContainerGap()
|
||||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addComponent(logoPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 1010, Short.MAX_VALUE)
|
.addComponent(runtimePanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||||
.addGroup(jPanel1Layout.createSequentialGroup()
|
.addComponent(logoPanel, javax.swing.GroupLayout.DEFAULT_SIZE, 1002, Short.MAX_VALUE))
|
||||||
.addComponent(viewPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
|
||||||
.addComponent(runtimePanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
|
|
||||||
.addContainerGap())
|
.addContainerGap())
|
||||||
);
|
);
|
||||||
jPanel1Layout.setVerticalGroup(
|
jPanel1Layout.setVerticalGroup(
|
||||||
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(jPanel1Layout.createSequentialGroup()
|
.addGroup(jPanel1Layout.createSequentialGroup()
|
||||||
.addGap(0, 0, 0)
|
.addContainerGap()
|
||||||
.addGroup(jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
.addComponent(runtimePanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(viewPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
||||||
.addComponent(runtimePanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||||
.addComponent(logoPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(logoPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addContainerGap())
|
.addContainerGap(185, Short.MAX_VALUE))
|
||||||
);
|
);
|
||||||
|
|
||||||
jScrollPane1.setViewportView(jPanel1);
|
jScrollPane1.setViewportView(jPanel1);
|
||||||
@ -917,7 +750,7 @@ final class AutopsyOptionsPanel extends javax.swing.JPanel {
|
|||||||
layout.setVerticalGroup(
|
layout.setVerticalGroup(
|
||||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(layout.createSequentialGroup()
|
.addGroup(layout.createSequentialGroup()
|
||||||
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 479, Short.MAX_VALUE)
|
.addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||||
.addGap(0, 0, Short.MAX_VALUE))
|
.addGap(0, 0, Short.MAX_VALUE))
|
||||||
);
|
);
|
||||||
}// </editor-fold>//GEN-END:initComponents
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
@ -940,38 +773,6 @@ final class AutopsyOptionsPanel extends javax.swing.JPanel {
|
|||||||
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
||||||
}//GEN-LAST:event_memFieldKeyReleased
|
}//GEN-LAST:event_memFieldKeyReleased
|
||||||
|
|
||||||
private void useGMTTimeRBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_useGMTTimeRBActionPerformed
|
|
||||||
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
|
||||||
}//GEN-LAST:event_useGMTTimeRBActionPerformed
|
|
||||||
|
|
||||||
private void useLocalTimeRBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_useLocalTimeRBActionPerformed
|
|
||||||
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
|
||||||
}//GEN-LAST:event_useLocalTimeRBActionPerformed
|
|
||||||
|
|
||||||
private void viewsHideSlackCBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_viewsHideSlackCBActionPerformed
|
|
||||||
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
|
||||||
}//GEN-LAST:event_viewsHideSlackCBActionPerformed
|
|
||||||
|
|
||||||
private void dataSourcesHideSlackCBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_dataSourcesHideSlackCBActionPerformed
|
|
||||||
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
|
||||||
}//GEN-LAST:event_dataSourcesHideSlackCBActionPerformed
|
|
||||||
|
|
||||||
private void viewsHideKnownCBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_viewsHideKnownCBActionPerformed
|
|
||||||
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
|
||||||
}//GEN-LAST:event_viewsHideKnownCBActionPerformed
|
|
||||||
|
|
||||||
private void dataSourcesHideKnownCBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_dataSourcesHideKnownCBActionPerformed
|
|
||||||
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
|
||||||
}//GEN-LAST:event_dataSourcesHideKnownCBActionPerformed
|
|
||||||
|
|
||||||
private void keepCurrentViewerRBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_keepCurrentViewerRBActionPerformed
|
|
||||||
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
|
||||||
}//GEN-LAST:event_keepCurrentViewerRBActionPerformed
|
|
||||||
|
|
||||||
private void useBestViewerRBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_useBestViewerRBActionPerformed
|
|
||||||
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
|
||||||
}//GEN-LAST:event_useBestViewerRBActionPerformed
|
|
||||||
|
|
||||||
private void specifyLogoRBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_specifyLogoRBActionPerformed
|
private void specifyLogoRBActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_specifyLogoRBActionPerformed
|
||||||
agencyLogoPathField.setEnabled(true);
|
agencyLogoPathField.setEnabled(true);
|
||||||
browseLogosButton.setEnabled(true);
|
browseLogosButton.setEnabled(true);
|
||||||
@ -1028,18 +829,11 @@ final class AutopsyOptionsPanel extends javax.swing.JPanel {
|
|||||||
private javax.swing.JLabel agencyLogoPathFieldValidationLabel;
|
private javax.swing.JLabel agencyLogoPathFieldValidationLabel;
|
||||||
private javax.swing.JLabel agencyLogoPreview;
|
private javax.swing.JLabel agencyLogoPreview;
|
||||||
private javax.swing.JButton browseLogosButton;
|
private javax.swing.JButton browseLogosButton;
|
||||||
private javax.swing.JCheckBox dataSourcesHideKnownCB;
|
|
||||||
private javax.swing.JCheckBox dataSourcesHideSlackCB;
|
|
||||||
private javax.swing.JRadioButton defaultLogoRB;
|
private javax.swing.JRadioButton defaultLogoRB;
|
||||||
private javax.swing.ButtonGroup displayTimesButtonGroup;
|
private javax.swing.ButtonGroup displayTimesButtonGroup;
|
||||||
private javax.swing.ButtonGroup fileSelectionButtonGroup;
|
private javax.swing.ButtonGroup fileSelectionButtonGroup;
|
||||||
private javax.swing.JLabel jLabelHideKnownFiles;
|
|
||||||
private javax.swing.JLabel jLabelHideSlackFiles;
|
|
||||||
private javax.swing.JLabel jLabelSelectFile;
|
|
||||||
private javax.swing.JLabel jLabelTimeDisplay;
|
|
||||||
private javax.swing.JPanel jPanel1;
|
private javax.swing.JPanel jPanel1;
|
||||||
private javax.swing.JScrollPane jScrollPane1;
|
private javax.swing.JScrollPane jScrollPane1;
|
||||||
private javax.swing.JRadioButton keepCurrentViewerRB;
|
|
||||||
private javax.swing.JTextField logFileCount;
|
private javax.swing.JTextField logFileCount;
|
||||||
private javax.swing.JTextField logNumAlert;
|
private javax.swing.JTextField logNumAlert;
|
||||||
private javax.swing.JPanel logoPanel;
|
private javax.swing.JPanel logoPanel;
|
||||||
@ -1055,12 +849,6 @@ final class AutopsyOptionsPanel extends javax.swing.JPanel {
|
|||||||
private javax.swing.JRadioButton specifyLogoRB;
|
private javax.swing.JRadioButton specifyLogoRB;
|
||||||
private javax.swing.JLabel systemMemoryTotal;
|
private javax.swing.JLabel systemMemoryTotal;
|
||||||
private javax.swing.JLabel totalMemoryLabel;
|
private javax.swing.JLabel totalMemoryLabel;
|
||||||
private javax.swing.JRadioButton useBestViewerRB;
|
|
||||||
private javax.swing.JRadioButton useGMTTimeRB;
|
|
||||||
private javax.swing.JRadioButton useLocalTimeRB;
|
|
||||||
private javax.swing.JPanel viewPanel;
|
|
||||||
private javax.swing.JCheckBox viewsHideKnownCB;
|
|
||||||
private javax.swing.JCheckBox viewsHideSlackCB;
|
|
||||||
// End of variables declaration//GEN-END:variables
|
// End of variables declaration//GEN-END:variables
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -96,17 +96,6 @@ DataResultViewerThumbnail.comboBox.mediumThumbnails=Medium Thumbnails
|
|||||||
DataResultViewerThumbnail.comboBox.largeThumbnails=Large Thumbnails
|
DataResultViewerThumbnail.comboBox.largeThumbnails=Large Thumbnails
|
||||||
DataResultViewerThumbnail.switchPage.done.errMsg=Error making thumbnails\: {0}
|
DataResultViewerThumbnail.switchPage.done.errMsg=Error making thumbnails\: {0}
|
||||||
AboutWindowPanel.actVerboseLogging.text=Activate verbose logging
|
AboutWindowPanel.actVerboseLogging.text=Activate verbose logging
|
||||||
AutopsyOptionsPanel.viewsHideKnownCB.text=Views area
|
|
||||||
AutopsyOptionsPanel.dataSourcesHideKnownCB.text=Data Sources area (the directory hierarchy)
|
|
||||||
AutopsyOptionsPanel.useBestViewerRB.toolTipText=For example, change from Hex to Media when a JPEG is selected.
|
|
||||||
AutopsyOptionsPanel.useBestViewerRB.text=Change to the most specific file viewer
|
|
||||||
AutopsyOptionsPanel.useGMTTimeRB.text=Use GMT
|
|
||||||
AutopsyOptionsPanel.useLocalTimeRB.text=Use local time zone
|
|
||||||
AutopsyOptionsPanel.keepCurrentViewerRB.toolTipText=For example, stay in Hex view when a JPEG is selected.
|
|
||||||
AutopsyOptionsPanel.keepCurrentViewerRB.text=Stay on the same file viewer
|
|
||||||
AutopsyOptionsPanel.jLabelSelectFile.text=When selecting a file:
|
|
||||||
AutopsyOptionsPanel.jLabelHideKnownFiles.text=Hide known files (i.e. those in the NIST NSRL) in the:
|
|
||||||
AutopsyOptionsPanel.jLabelTimeDisplay.text=When displaying times:
|
|
||||||
OptionsCategory_Name_Multi_User_Settings=Multi-User
|
OptionsCategory_Name_Multi_User_Settings=Multi-User
|
||||||
OptionsCategory_Keywords_Multi_User_Options=Multi-User Settings
|
OptionsCategory_Keywords_Multi_User_Options=Multi-User Settings
|
||||||
MultiUserSettingsPanel.lbSolrSettings.text=Solr Settings
|
MultiUserSettingsPanel.lbSolrSettings.text=Solr Settings
|
||||||
@ -153,9 +142,6 @@ MultiUserSettingsPanel.lbTestSolrWarning.text=
|
|||||||
MultiUserSettingsPanel.lbTestDbWarning.text=
|
MultiUserSettingsPanel.lbTestDbWarning.text=
|
||||||
MultiUserSettingsPanel.KeywordSearchNull=Cannot find keyword search service
|
MultiUserSettingsPanel.KeywordSearchNull=Cannot find keyword search service
|
||||||
MultiUserSettingsPanel.InvalidPortNumber=Invalid port number
|
MultiUserSettingsPanel.InvalidPortNumber=Invalid port number
|
||||||
AutopsyOptionsPanel.jLabelHideSlackFiles.text=Hide slack files in the:
|
|
||||||
AutopsyOptionsPanel.dataSourcesHideSlackCB.text=Data Sources area (the directory hierarchy)
|
|
||||||
AutopsyOptionsPanel.viewsHideSlackCB.text=Views area
|
|
||||||
AutopsyOptionsPanel.agencyLogoImageLabel.toolTipText=
|
AutopsyOptionsPanel.agencyLogoImageLabel.toolTipText=
|
||||||
AutopsyOptionsPanel.agencyLogoPathField.text=
|
AutopsyOptionsPanel.agencyLogoPathField.text=
|
||||||
SortChooserDialog.label=remove
|
SortChooserDialog.label=remove
|
||||||
@ -177,7 +163,29 @@ AutopsyOptionsPanel.specifyLogoRB.text=Specify a logo
|
|||||||
AutopsyOptionsPanel.agencyLogoPreview.text=<html><div style='text-align: center;'>No logo<br>selected</div></html>
|
AutopsyOptionsPanel.agencyLogoPreview.text=<html><div style='text-align: center;'>No logo<br>selected</div></html>
|
||||||
AutopsyOptionsPanel.logoPanel.border.title=Logo
|
AutopsyOptionsPanel.logoPanel.border.title=Logo
|
||||||
AutopsyOptionsPanel.runtimePanel.border.title=Runtime
|
AutopsyOptionsPanel.runtimePanel.border.title=Runtime
|
||||||
AutopsyOptionsPanel.viewPanel.border.title=View
|
|
||||||
DataResultPanel.matchLabel.text=Results
|
DataResultPanel.matchLabel.text=Results
|
||||||
DataResultPanel.numberOfChildNodesLabel.text=0
|
DataResultPanel.numberOfChildNodesLabel.text=0
|
||||||
DataResultPanel.descriptionLabel.text=directoryPath
|
DataResultPanel.descriptionLabel.text=directoryPath
|
||||||
|
ViewPreferencesPanel.selectFileLabel.text=When selecting a file:
|
||||||
|
ViewPreferencesPanel.globalSettingsPanel.border.title=Global Settings
|
||||||
|
ViewPreferencesPanel.displayTimeLabel.text=When displaying times:
|
||||||
|
ViewPreferencesPanel.hideSlackFilesLabel.text=Hide slack files in the:
|
||||||
|
ViewPreferencesPanel.groupByDataSourceCheckbox.text=Group by data source
|
||||||
|
ViewPreferencesPanel.hideKnownFilesLabel.text=Hide known files (i.e. those in the NIST NSRL) in the:
|
||||||
|
ViewPreferencesPanel.hideOtherUsersTagsCheckbox.text=Tags area in the tree
|
||||||
|
ViewPreferencesPanel.currentCaseSettingsPanel.border.title=Current Case Settings
|
||||||
|
OptionsCategory_Name_View=View
|
||||||
|
OptionsCategory_Keywords_View=View
|
||||||
|
ViewPreferencesPanel.useBestViewerRadioButton.toolTipText=For example, change from Hex to Media when a JPEG is selected.
|
||||||
|
ViewPreferencesPanel.useBestViewerRadioButton.text=Change to the most specific file viewer
|
||||||
|
ViewPreferencesPanel.keepCurrentViewerRadioButton.toolTipText=For example, stay in Hex view when a JPEG is selected.
|
||||||
|
ViewPreferencesPanel.keepCurrentViewerRadioButton.text=Stay on the same file viewer
|
||||||
|
ViewPreferencesPanel.useLocalTimeRadioButton.text=Use local time zone
|
||||||
|
ViewPreferencesPanel.useGMTTimeRadioButton.text=Use GMT
|
||||||
|
ViewPreferencesPanel.dataSourcesHideKnownCheckbox.text=Data Sources area (the directory hierarchy)
|
||||||
|
ViewPreferencesPanel.viewsHideKnownCheckbox.text=Views area
|
||||||
|
ViewPreferencesPanel.dataSourcesHideSlackCheckbox.text=Data Sources area (the directory hierarchy)
|
||||||
|
ViewPreferencesPanel.viewsHideSlackCheckbox.text=Views area
|
||||||
|
ViewPreferencesPanel.currentSessionSettingsPanel.border.title=Current Session Settings
|
||||||
|
ViewPreferencesPanel.hideRejectedResultsCheckbox.text=Hide rejected results
|
||||||
|
ViewPreferencesPanel.hideOtherUsersTagsLabel.text=Hide other user's tags in the:
|
||||||
|
@ -79,17 +79,6 @@ DataResultViewerThumbnail.comboBox.mediumThumbnails=\u30b5\u30e0\u30cd\u30a4\u30
|
|||||||
DataResultViewerThumbnail.comboBox.largeThumbnails=\u30b5\u30e0\u30cd\u30a4\u30eb\uff08\u5927\uff09
|
DataResultViewerThumbnail.comboBox.largeThumbnails=\u30b5\u30e0\u30cd\u30a4\u30eb\uff08\u5927\uff09
|
||||||
DataResultViewerThumbnail.switchPage.done.errMsg=\u30b5\u30e0\u30cd\u30a4\u30eb\u4f5c\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\uff1a {0}
|
DataResultViewerThumbnail.switchPage.done.errMsg=\u30b5\u30e0\u30cd\u30a4\u30eb\u4f5c\u6210\u4e2d\u306b\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\uff1a {0}
|
||||||
AboutWindowPanel.actVerboseLogging.text=Verbose\u30ed\u30b0\u3092\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30c8
|
AboutWindowPanel.actVerboseLogging.text=Verbose\u30ed\u30b0\u3092\u30a2\u30af\u30c6\u30a3\u30d9\u30fc\u30c8
|
||||||
AutopsyOptionsPanel.viewsHideKnownCB.text=\u30d3\u30e5\u30fc\u30a8\u30ea\u30a2
|
|
||||||
AutopsyOptionsPanel.dataSourcesHideKnownCB.text=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u30a8\u30ea\u30a2\uff08\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u968e\u5c64\uff09
|
|
||||||
AutopsyOptionsPanel.useBestViewerRB.toolTipText=\u4f8b\u3048\u3070\u3001JPEG\u304c\u9078\u629e\u3055\u308c\u305f\u5834\u5408\u306b\u306fHEX\u304b\u3089\u30e1\u30c7\u30a3\u30a2\u306b\u5909\u66f4\u3059\u308b\u3002
|
|
||||||
AutopsyOptionsPanel.useBestViewerRB.text=\u6700\u3082\u5c02\u9580\u7684\u306a\u30d5\u30a1\u30a4\u30eb\u30d3\u30e5\u30fc\u30a2\u306b\u5909\u66f4
|
|
||||||
AutopsyOptionsPanel.useGMTTimeRB.text=GMT\u3092\u4f7f\u7528
|
|
||||||
AutopsyOptionsPanel.useLocalTimeRB.text=\u30ed\u30fc\u30ab\u30eb\u30bf\u30a4\u30e0\u30be\u30fc\u30f3\u3092\u4f7f\u7528
|
|
||||||
AutopsyOptionsPanel.keepCurrentViewerRB.toolTipText=\u4f8b\u3048\u3070\u3001JPEG\u304c\u9078\u629e\u3055\u308c\u305f\u5834\u5408\u306b\u305d\u306e\u307e\u307eHEX\u30d3\u30e5\u30fc\u3092\u4f7f\u7528\u3002
|
|
||||||
AutopsyOptionsPanel.keepCurrentViewerRB.text=\u305d\u306e\u307e\u307e\u540c\u3058\u30d5\u30a1\u30a4\u30eb\u30d3\u30e5\u30fc\u30a2\u3092\u4f7f\u7528
|
|
||||||
AutopsyOptionsPanel.jLabelSelectFile.text=\u30d5\u30a1\u30a4\u30eb\u3092\u9078\u629e\u3059\u308b\u5834\u5408\uff1a
|
|
||||||
AutopsyOptionsPanel.jLabelHideKnownFiles.text=\u65e2\u77e5\u30d5\u30a1\u30a4\u30eb\uff08NIST NSRL\u5185\u306e\uff09\u3092\u6b21\u306b\u96a0\u3059\uff1a
|
|
||||||
AutopsyOptionsPanel.jLabelTimeDisplay.text=\u6642\u9593\u3092\u8868\u793a\u3059\u308b\u5834\u5408\uff1a
|
|
||||||
OptionsCategory_Name_Multi_User_Settings=\u8907\u6570\u306e\u30e6\u30fc\u30b6\u30fc
|
OptionsCategory_Name_Multi_User_Settings=\u8907\u6570\u306e\u30e6\u30fc\u30b6\u30fc
|
||||||
OptionsCategory_Keywords_Multi_User_Options=\u8907\u6570\u306e\u30e6\u30fc\u30b6\u30fc\u30aa\u30d7\u30b7\u30e7\u30f3
|
OptionsCategory_Keywords_Multi_User_Options=\u8907\u6570\u306e\u30e6\u30fc\u30b6\u30fc\u30aa\u30d7\u30b7\u30e7\u30f3
|
||||||
MultiUserSettingsPanel.lbSolrSettings.text=Solr\u8a2d\u5b9a
|
MultiUserSettingsPanel.lbSolrSettings.text=Solr\u8a2d\u5b9a
|
||||||
@ -131,3 +120,14 @@ MediaViewImagePanel.externalViewerButton.text=\u5916\u90e8\u30d3\u30e5\u30fc\u30
|
|||||||
DataResultPanel.matchLabel.text=\u7d50\u679c
|
DataResultPanel.matchLabel.text=\u7d50\u679c
|
||||||
DataResultPanel.numberOfChildNodesLabel.text=0
|
DataResultPanel.numberOfChildNodesLabel.text=0
|
||||||
DataResultPanel.descriptionLabel.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30d1\u30b9
|
DataResultPanel.descriptionLabel.text=\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u30d1\u30b9
|
||||||
|
ViewPreferencesPanel.selectFileLabel.text=\u30d5\u30a1\u30a4\u30eb\u3092\u9078\u629e\u3059\u308b\u5834\u5408\uff1a
|
||||||
|
ViewPreferencesPanel.displayTimeLabel.text=\u6642\u9593\u3092\u8868\u793a\u3059\u308b\u5834\u5408\uff1a
|
||||||
|
ViewPreferencesPanel.hideKnownFilesLabel.text=\u65e2\u77e5\u30d5\u30a1\u30a4\u30eb\uff08NIST NSRL\u5185\u306e\uff09\u3092\u6b21\u306b\u96a0\u3059\uff1a
|
||||||
|
ViewPreferencesPanel.useBestViewerRadioButton.toolTipText=\u4f8b\u3048\u3070\u3001JPEG\u304c\u9078\u629e\u3055\u308c\u305f\u5834\u5408\u306b\u306fHEX\u304b\u3089\u30e1\u30c7\u30a3\u30a2\u306b\u5909\u66f4\u3059\u308b\u3002
|
||||||
|
ViewPreferencesPanel.useBestViewerRadioButton.text=\u6700\u3082\u5c02\u9580\u7684\u306a\u30d5\u30a1\u30a4\u30eb\u30d3\u30e5\u30fc\u30a2\u306b\u5909\u66f4
|
||||||
|
ViewPreferencesPanel.keepCurrentViewerRadioButton.text=\u305d\u306e\u307e\u307e\u540c\u3058\u30d5\u30a1\u30a4\u30eb\u30d3\u30e5\u30fc\u30a2\u3092\u4f7f\u7528
|
||||||
|
ViewPreferencesPanel.keepCurrentViewerRadioButton.toolTipText=\u4f8b\u3048\u3070\u3001JPEG\u304c\u9078\u629e\u3055\u308c\u305f\u5834\u5408\u306b\u305d\u306e\u307e\u307eHEX\u30d3\u30e5\u30fc\u3092\u4f7f\u7528\u3002
|
||||||
|
ViewPreferencesPanel.useLocalTimeRadioButton.text=\u30ed\u30fc\u30ab\u30eb\u30bf\u30a4\u30e0\u30be\u30fc\u30f3\u3092\u4f7f\u7528
|
||||||
|
ViewPreferencesPanel.useGMTTimeRadioButton.text=GMT\u3092\u4f7f\u7528
|
||||||
|
ViewPreferencesPanel.dataSourcesHideKnownCheckbox.text=\u30c7\u30fc\u30bf\u30bd\u30fc\u30b9\u30a8\u30ea\u30a2\uff08\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u968e\u5c64\uff09
|
||||||
|
ViewPreferencesPanel.viewsHideKnownCheckbox.text=\u30d3\u30e5\u30fc\u30a8\u30ea\u30a2
|
||||||
|
@ -31,7 +31,7 @@ import org.sleuthkit.autopsy.coreutils.Logger;
|
|||||||
|
|
||||||
@OptionsPanelController.TopLevelRegistration(categoryName = "#OptionsCategory_Name_Multi_User_Settings",
|
@OptionsPanelController.TopLevelRegistration(categoryName = "#OptionsCategory_Name_Multi_User_Settings",
|
||||||
iconBase = "org/sleuthkit/autopsy/images/User-Group-icon-green32.png",
|
iconBase = "org/sleuthkit/autopsy/images/User-Group-icon-green32.png",
|
||||||
position = 3,
|
position = 4,
|
||||||
keywords = "#OptionsCategory_Keywords_Multi_User_Options",
|
keywords = "#OptionsCategory_Keywords_Multi_User_Options",
|
||||||
keywordsCategory = "Multi-User")
|
keywordsCategory = "Multi-User")
|
||||||
public final class MultiUserSettingsPanelController extends OptionsPanelController {
|
public final class MultiUserSettingsPanelController extends OptionsPanelController {
|
||||||
|
398
Core/src/org/sleuthkit/autopsy/corecomponents/ViewPreferencesPanel.form
Executable file
398
Core/src/org/sleuthkit/autopsy/corecomponents/ViewPreferencesPanel.form
Executable file
@ -0,0 +1,398 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
|
||||||
|
<Form version="1.4" maxVersion="1.9" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
|
||||||
|
<AuxValues>
|
||||||
|
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
|
||||||
|
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_generateFQN" type="java.lang.Boolean" value="true"/>
|
||||||
|
<AuxValue name="FormSettings_generateMnemonicsCode" type="java.lang.Boolean" value="true"/>
|
||||||
|
<AuxValue name="FormSettings_i18nAutoMode" type="java.lang.Boolean" value="true"/>
|
||||||
|
<AuxValue name="FormSettings_layoutCodeTarget" type="java.lang.Integer" value="1"/>
|
||||||
|
<AuxValue name="FormSettings_listenerGenerationStyle" type="java.lang.Integer" value="0"/>
|
||||||
|
<AuxValue name="FormSettings_variablesLocal" type="java.lang.Boolean" value="false"/>
|
||||||
|
<AuxValue name="FormSettings_variablesModifier" type="java.lang.Integer" value="2"/>
|
||||||
|
</AuxValues>
|
||||||
|
|
||||||
|
<Layout>
|
||||||
|
<DimensionLayout dim="0">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Component id="viewPreferencesScrollPane" alignment="0" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
<DimensionLayout dim="1">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Component id="viewPreferencesScrollPane" alignment="0" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
</Layout>
|
||||||
|
<SubComponents>
|
||||||
|
<Container class="javax.swing.JScrollPane" name="viewPreferencesScrollPane">
|
||||||
|
<Properties>
|
||||||
|
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||||
|
<Border info="null"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
|
||||||
|
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||||
|
<SubComponents>
|
||||||
|
<Container class="javax.swing.JPanel" name="viewPreferencesPanel">
|
||||||
|
|
||||||
|
<Layout>
|
||||||
|
<DimensionLayout dim="0">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="1" attributes="0">
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Group type="103" groupAlignment="1" attributes="0">
|
||||||
|
<Component id="currentSessionSettingsPanel" max="32767" attributes="0"/>
|
||||||
|
<Component id="currentCaseSettingsPanel" max="32767" attributes="0"/>
|
||||||
|
<Component id="globalSettingsPanel" max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
<DimensionLayout dim="1">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<Component id="globalSettingsPanel" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||||
|
<Component id="currentCaseSettingsPanel" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||||
|
<Component id="currentSessionSettingsPanel" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
</Layout>
|
||||||
|
<SubComponents>
|
||||||
|
<Container class="javax.swing.JPanel" name="globalSettingsPanel">
|
||||||
|
<Properties>
|
||||||
|
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||||
|
<Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
|
||||||
|
<TitledBorder title="Global Settings">
|
||||||
|
<ResourceString PropertyName="titleX" bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="ViewPreferencesPanel.globalSettingsPanel.border.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</TitledBorder>
|
||||||
|
</Border>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
|
||||||
|
<Layout>
|
||||||
|
<DimensionLayout dim="0">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" attributes="0">
|
||||||
|
<EmptySpace min="10" pref="10" max="-2" attributes="0"/>
|
||||||
|
<Component id="hideOtherUsersTagsCheckbox" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Component id="hideKnownFilesLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Group type="103" alignment="0" groupAlignment="1" attributes="0">
|
||||||
|
<Group type="103" alignment="1" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace min="-2" pref="10" max="-2" attributes="0"/>
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Component id="dataSourcesHideSlackCheckbox" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="viewsHideSlackCheckbox" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
<Component id="hideSlackFilesLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
<Group type="102" alignment="1" attributes="0">
|
||||||
|
<EmptySpace min="-2" pref="10" max="-2" attributes="0"/>
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Component id="dataSourcesHideKnownCheckbox" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="viewsHideKnownCheckbox" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
<EmptySpace type="separate" max="-2" attributes="0"/>
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Component id="displayTimeLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace min="10" pref="10" max="-2" attributes="0"/>
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Component id="keepCurrentViewerRadioButton" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="useBestViewerRadioButton" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="useGMTTimeRadioButton" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="useLocalTimeRadioButton" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
<Component id="selectFileLabel" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
<Component id="hideOtherUsersTagsLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
<EmptySpace max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
<DimensionLayout dim="1">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace max="32767" attributes="0"/>
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<Component id="hideKnownFilesLabel" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="dataSourcesHideKnownCheckbox" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="viewsHideKnownCheckbox" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||||
|
<Component id="hideSlackFilesLabel" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="dataSourcesHideSlackCheckbox" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="viewsHideSlackCheckbox" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<Component id="selectFileLabel" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="useBestViewerRadioButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="keepCurrentViewerRadioButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||||
|
<Component id="displayTimeLabel" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="useLocalTimeRadioButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" max="-2" attributes="0"/>
|
||||||
|
<Component id="useGMTTimeRadioButton" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||||
|
<Component id="hideOtherUsersTagsLabel" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="hideOtherUsersTagsCheckbox" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
</Layout>
|
||||||
|
<SubComponents>
|
||||||
|
<Component class="javax.swing.JLabel" name="selectFileLabel">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="ViewPreferencesPanel.selectFileLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JRadioButton" name="useBestViewerRadioButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="ViewPreferencesPanel.useBestViewerRadioButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="ViewPreferencesPanel.useBestViewerRadioButton.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="useBestViewerRadioButtonActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JRadioButton" name="keepCurrentViewerRadioButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="ViewPreferencesPanel.keepCurrentViewerRadioButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="toolTipText" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="ViewPreferencesPanel.keepCurrentViewerRadioButton.toolTipText" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="keepCurrentViewerRadioButtonActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JLabel" name="hideKnownFilesLabel">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="ViewPreferencesPanel.hideKnownFilesLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JCheckBox" name="dataSourcesHideKnownCheckbox">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="ViewPreferencesPanel.dataSourcesHideKnownCheckbox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="dataSourcesHideKnownCheckboxActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JCheckBox" name="viewsHideKnownCheckbox">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="ViewPreferencesPanel.viewsHideKnownCheckbox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="viewsHideKnownCheckboxActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JLabel" name="hideSlackFilesLabel">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="ViewPreferencesPanel.hideSlackFilesLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JCheckBox" name="dataSourcesHideSlackCheckbox">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="ViewPreferencesPanel.dataSourcesHideSlackCheckbox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="dataSourcesHideSlackCheckboxActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JCheckBox" name="viewsHideSlackCheckbox">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="ViewPreferencesPanel.viewsHideSlackCheckbox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="viewsHideSlackCheckboxActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JLabel" name="displayTimeLabel">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="ViewPreferencesPanel.displayTimeLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JRadioButton" name="useLocalTimeRadioButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="ViewPreferencesPanel.useLocalTimeRadioButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="useLocalTimeRadioButtonActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JRadioButton" name="useGMTTimeRadioButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="ViewPreferencesPanel.useGMTTimeRadioButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="useGMTTimeRadioButtonActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JCheckBox" name="hideOtherUsersTagsCheckbox">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="ViewPreferencesPanel.hideOtherUsersTagsCheckbox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="hideOtherUsersTagsCheckboxActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JLabel" name="hideOtherUsersTagsLabel">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="ViewPreferencesPanel.hideOtherUsersTagsLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
</Component>
|
||||||
|
</SubComponents>
|
||||||
|
</Container>
|
||||||
|
<Container class="javax.swing.JPanel" name="currentCaseSettingsPanel">
|
||||||
|
<Properties>
|
||||||
|
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||||
|
<Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
|
||||||
|
<TitledBorder title="Current Case Settings">
|
||||||
|
<ResourceString PropertyName="titleX" bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="ViewPreferencesPanel.currentCaseSettingsPanel.border.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</TitledBorder>
|
||||||
|
</Border>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
|
||||||
|
<Layout>
|
||||||
|
<DimensionLayout dim="0">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" attributes="0">
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="groupByDataSourceCheckbox" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
<DimensionLayout dim="1">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace max="32767" attributes="0"/>
|
||||||
|
<Component id="groupByDataSourceCheckbox" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
</Layout>
|
||||||
|
<SubComponents>
|
||||||
|
<Component class="javax.swing.JCheckBox" name="groupByDataSourceCheckbox">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="ViewPreferencesPanel.groupByDataSourceCheckbox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="groupByDataSourceCheckboxActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
</SubComponents>
|
||||||
|
</Container>
|
||||||
|
<Container class="javax.swing.JPanel" name="currentSessionSettingsPanel">
|
||||||
|
<Properties>
|
||||||
|
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||||
|
<Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
|
||||||
|
<TitledBorder title="Current Session Settings">
|
||||||
|
<ResourceString PropertyName="titleX" bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="ViewPreferencesPanel.currentSessionSettingsPanel.border.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</TitledBorder>
|
||||||
|
</Border>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
|
||||||
|
<Layout>
|
||||||
|
<DimensionLayout dim="0">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Component id="hideRejectedResultsCheckbox" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace max="32767" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
<DimensionLayout dim="1">
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace max="32767" attributes="0"/>
|
||||||
|
<Component id="hideRejectedResultsCheckbox" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
|
</DimensionLayout>
|
||||||
|
</Layout>
|
||||||
|
<SubComponents>
|
||||||
|
<Component class="javax.swing.JCheckBox" name="hideRejectedResultsCheckbox">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/corecomponents/Bundle.properties" key="ViewPreferencesPanel.hideRejectedResultsCheckbox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="hideRejectedResultsCheckboxActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
</SubComponents>
|
||||||
|
</Container>
|
||||||
|
</SubComponents>
|
||||||
|
</Container>
|
||||||
|
</SubComponents>
|
||||||
|
</Container>
|
||||||
|
</SubComponents>
|
||||||
|
</Form>
|
497
Core/src/org/sleuthkit/autopsy/corecomponents/ViewPreferencesPanel.java
Executable file
497
Core/src/org/sleuthkit/autopsy/corecomponents/ViewPreferencesPanel.java
Executable file
@ -0,0 +1,497 @@
|
|||||||
|
/*
|
||||||
|
* Autopsy Forensic Browser
|
||||||
|
*
|
||||||
|
* Copyright 2018 Basis Technology Corp.
|
||||||
|
* Contact: carrier <at> sleuthkit <dot> org
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.sleuthkit.autopsy.corecomponents;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
import javax.swing.JPanel;
|
||||||
|
import org.netbeans.spi.options.OptionsPanelController;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.CasePreferences;
|
||||||
|
import org.sleuthkit.autopsy.core.UserPreferences;
|
||||||
|
import org.sleuthkit.autopsy.directorytree.DirectoryTreeTopComponent;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Panel for configuring view preferences.
|
||||||
|
*/
|
||||||
|
public class ViewPreferencesPanel extends JPanel implements OptionsPanel {
|
||||||
|
|
||||||
|
private final boolean immediateUpdates;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates new form ViewPreferencesPanel
|
||||||
|
*
|
||||||
|
* @param immediateUpdates If true, value changes will be persisted at the
|
||||||
|
* moment they occur.
|
||||||
|
*/
|
||||||
|
public ViewPreferencesPanel(boolean immediateUpdates) {
|
||||||
|
initComponents();
|
||||||
|
this.immediateUpdates = immediateUpdates;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void load() {
|
||||||
|
// Global Settings
|
||||||
|
boolean keepPreferredViewer = UserPreferences.keepPreferredContentViewer();
|
||||||
|
keepCurrentViewerRadioButton.setSelected(keepPreferredViewer);
|
||||||
|
useBestViewerRadioButton.setSelected(!keepPreferredViewer);
|
||||||
|
|
||||||
|
boolean useLocalTime = UserPreferences.displayTimesInLocalTime();
|
||||||
|
useLocalTimeRadioButton.setSelected(useLocalTime);
|
||||||
|
useGMTTimeRadioButton.setSelected(!useLocalTime);
|
||||||
|
|
||||||
|
dataSourcesHideKnownCheckbox.setSelected(UserPreferences.hideKnownFilesInDataSourcesTree());
|
||||||
|
viewsHideKnownCheckbox.setSelected(UserPreferences.hideKnownFilesInViewsTree());
|
||||||
|
|
||||||
|
dataSourcesHideSlackCheckbox.setSelected(UserPreferences.hideSlackFilesInDataSourcesTree());
|
||||||
|
viewsHideSlackCheckbox.setSelected(UserPreferences.hideSlackFilesInViewsTree());
|
||||||
|
|
||||||
|
// Current Case Settings
|
||||||
|
boolean caseIsOpen = Case.isCaseOpen();
|
||||||
|
currentCaseSettingsPanel.setEnabled(caseIsOpen);
|
||||||
|
groupByDataSourceCheckbox.setEnabled(caseIsOpen);
|
||||||
|
|
||||||
|
hideOtherUsersTagsCheckbox.setSelected(UserPreferences.showOnlyCurrentUserTags());
|
||||||
|
groupByDataSourceCheckbox.setSelected(Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true));
|
||||||
|
|
||||||
|
// Current Session Settings
|
||||||
|
hideRejectedResultsCheckbox.setSelected(DirectoryTreeTopComponent.getDefault().getShowRejectedResults() == false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void store() {
|
||||||
|
UserPreferences.setKeepPreferredContentViewer(keepCurrentViewerRadioButton.isSelected());
|
||||||
|
UserPreferences.setDisplayTimesInLocalTime(useLocalTimeRadioButton.isSelected());
|
||||||
|
UserPreferences.setHideKnownFilesInDataSourcesTree(dataSourcesHideKnownCheckbox.isSelected());
|
||||||
|
UserPreferences.setHideKnownFilesInViewsTree(viewsHideKnownCheckbox.isSelected());
|
||||||
|
UserPreferences.setHideSlackFilesInDataSourcesTree(dataSourcesHideSlackCheckbox.isSelected());
|
||||||
|
UserPreferences.setHideSlackFilesInViewsTree(viewsHideSlackCheckbox.isSelected());
|
||||||
|
UserPreferences.setShowOnlyCurrentUserTags(hideOtherUsersTagsCheckbox.isSelected());
|
||||||
|
|
||||||
|
storeGroupItemsInTreeByDataSource();
|
||||||
|
|
||||||
|
DirectoryTreeTopComponent.getDefault().setShowRejectedResults(hideRejectedResultsCheckbox.isSelected() == false);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Store the 'groupByDataSourceCheckbox' value.
|
||||||
|
*
|
||||||
|
* Note: The value will not be stored if the value hasn't previously been
|
||||||
|
* stored and the checkbox isn't selected. This is so GroupDataSourcesDialog
|
||||||
|
* can prompt the user for this in the event the value hasn't been
|
||||||
|
* initialized.
|
||||||
|
*/
|
||||||
|
private void storeGroupItemsInTreeByDataSource() {
|
||||||
|
if (Case.isCaseOpen() && (CasePreferences.getGroupItemsInTreeByDataSource() != null || groupByDataSourceCheckbox.isSelected())) {
|
||||||
|
CasePreferences.setGroupItemsInTreeByDataSource(groupByDataSourceCheckbox.isSelected());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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
|
||||||
|
* regenerated by the Form Editor.
|
||||||
|
*/
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||||
|
private void initComponents() {
|
||||||
|
|
||||||
|
viewPreferencesScrollPane = new javax.swing.JScrollPane();
|
||||||
|
viewPreferencesPanel = new javax.swing.JPanel();
|
||||||
|
globalSettingsPanel = new javax.swing.JPanel();
|
||||||
|
selectFileLabel = new javax.swing.JLabel();
|
||||||
|
useBestViewerRadioButton = new javax.swing.JRadioButton();
|
||||||
|
keepCurrentViewerRadioButton = new javax.swing.JRadioButton();
|
||||||
|
hideKnownFilesLabel = new javax.swing.JLabel();
|
||||||
|
dataSourcesHideKnownCheckbox = new javax.swing.JCheckBox();
|
||||||
|
viewsHideKnownCheckbox = new javax.swing.JCheckBox();
|
||||||
|
hideSlackFilesLabel = new javax.swing.JLabel();
|
||||||
|
dataSourcesHideSlackCheckbox = new javax.swing.JCheckBox();
|
||||||
|
viewsHideSlackCheckbox = new javax.swing.JCheckBox();
|
||||||
|
displayTimeLabel = new javax.swing.JLabel();
|
||||||
|
useLocalTimeRadioButton = new javax.swing.JRadioButton();
|
||||||
|
useGMTTimeRadioButton = new javax.swing.JRadioButton();
|
||||||
|
hideOtherUsersTagsCheckbox = new javax.swing.JCheckBox();
|
||||||
|
hideOtherUsersTagsLabel = new javax.swing.JLabel();
|
||||||
|
currentCaseSettingsPanel = new javax.swing.JPanel();
|
||||||
|
groupByDataSourceCheckbox = new javax.swing.JCheckBox();
|
||||||
|
currentSessionSettingsPanel = new javax.swing.JPanel();
|
||||||
|
hideRejectedResultsCheckbox = new javax.swing.JCheckBox();
|
||||||
|
|
||||||
|
viewPreferencesScrollPane.setBorder(null);
|
||||||
|
|
||||||
|
globalSettingsPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.globalSettingsPanel.border.title"))); // NOI18N
|
||||||
|
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(selectFileLabel, org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.selectFileLabel.text")); // NOI18N
|
||||||
|
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(useBestViewerRadioButton, org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.useBestViewerRadioButton.text")); // NOI18N
|
||||||
|
useBestViewerRadioButton.setToolTipText(org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.useBestViewerRadioButton.toolTipText")); // NOI18N
|
||||||
|
useBestViewerRadioButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
useBestViewerRadioButtonActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(keepCurrentViewerRadioButton, org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.keepCurrentViewerRadioButton.text")); // NOI18N
|
||||||
|
keepCurrentViewerRadioButton.setToolTipText(org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.keepCurrentViewerRadioButton.toolTipText")); // NOI18N
|
||||||
|
keepCurrentViewerRadioButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
keepCurrentViewerRadioButtonActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(hideKnownFilesLabel, org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.hideKnownFilesLabel.text")); // NOI18N
|
||||||
|
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(dataSourcesHideKnownCheckbox, org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.dataSourcesHideKnownCheckbox.text")); // NOI18N
|
||||||
|
dataSourcesHideKnownCheckbox.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
dataSourcesHideKnownCheckboxActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(viewsHideKnownCheckbox, org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.viewsHideKnownCheckbox.text")); // NOI18N
|
||||||
|
viewsHideKnownCheckbox.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
viewsHideKnownCheckboxActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(hideSlackFilesLabel, org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.hideSlackFilesLabel.text")); // NOI18N
|
||||||
|
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(dataSourcesHideSlackCheckbox, org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.dataSourcesHideSlackCheckbox.text")); // NOI18N
|
||||||
|
dataSourcesHideSlackCheckbox.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
dataSourcesHideSlackCheckboxActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(viewsHideSlackCheckbox, org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.viewsHideSlackCheckbox.text")); // NOI18N
|
||||||
|
viewsHideSlackCheckbox.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
viewsHideSlackCheckboxActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(displayTimeLabel, org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.displayTimeLabel.text")); // NOI18N
|
||||||
|
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(useLocalTimeRadioButton, org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.useLocalTimeRadioButton.text")); // NOI18N
|
||||||
|
useLocalTimeRadioButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
useLocalTimeRadioButtonActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(useGMTTimeRadioButton, org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.useGMTTimeRadioButton.text")); // NOI18N
|
||||||
|
useGMTTimeRadioButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
useGMTTimeRadioButtonActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(hideOtherUsersTagsCheckbox, org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.hideOtherUsersTagsCheckbox.text")); // NOI18N
|
||||||
|
hideOtherUsersTagsCheckbox.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
hideOtherUsersTagsCheckboxActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(hideOtherUsersTagsLabel, org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.hideOtherUsersTagsLabel.text")); // NOI18N
|
||||||
|
|
||||||
|
javax.swing.GroupLayout globalSettingsPanelLayout = new javax.swing.GroupLayout(globalSettingsPanel);
|
||||||
|
globalSettingsPanel.setLayout(globalSettingsPanelLayout);
|
||||||
|
globalSettingsPanelLayout.setHorizontalGroup(
|
||||||
|
globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(globalSettingsPanelLayout.createSequentialGroup()
|
||||||
|
.addContainerGap()
|
||||||
|
.addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(globalSettingsPanelLayout.createSequentialGroup()
|
||||||
|
.addGap(10, 10, 10)
|
||||||
|
.addComponent(hideOtherUsersTagsCheckbox))
|
||||||
|
.addGroup(globalSettingsPanelLayout.createSequentialGroup()
|
||||||
|
.addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addComponent(hideKnownFilesLabel)
|
||||||
|
.addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||||
|
.addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(globalSettingsPanelLayout.createSequentialGroup()
|
||||||
|
.addGap(10, 10, 10)
|
||||||
|
.addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addComponent(dataSourcesHideSlackCheckbox)
|
||||||
|
.addComponent(viewsHideSlackCheckbox)))
|
||||||
|
.addComponent(hideSlackFilesLabel))
|
||||||
|
.addGroup(globalSettingsPanelLayout.createSequentialGroup()
|
||||||
|
.addGap(10, 10, 10)
|
||||||
|
.addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addComponent(dataSourcesHideKnownCheckbox)
|
||||||
|
.addComponent(viewsHideKnownCheckbox)))))
|
||||||
|
.addGap(18, 18, 18)
|
||||||
|
.addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addComponent(displayTimeLabel)
|
||||||
|
.addGroup(globalSettingsPanelLayout.createSequentialGroup()
|
||||||
|
.addGap(10, 10, 10)
|
||||||
|
.addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addComponent(keepCurrentViewerRadioButton)
|
||||||
|
.addComponent(useBestViewerRadioButton)
|
||||||
|
.addComponent(useGMTTimeRadioButton)
|
||||||
|
.addComponent(useLocalTimeRadioButton)))
|
||||||
|
.addComponent(selectFileLabel)))
|
||||||
|
.addComponent(hideOtherUsersTagsLabel))
|
||||||
|
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||||
|
);
|
||||||
|
globalSettingsPanelLayout.setVerticalGroup(
|
||||||
|
globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(globalSettingsPanelLayout.createSequentialGroup()
|
||||||
|
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||||
|
.addGroup(globalSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(globalSettingsPanelLayout.createSequentialGroup()
|
||||||
|
.addComponent(hideKnownFilesLabel)
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
|
.addComponent(dataSourcesHideKnownCheckbox)
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
|
.addComponent(viewsHideKnownCheckbox)
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||||
|
.addComponent(hideSlackFilesLabel)
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
|
.addComponent(dataSourcesHideSlackCheckbox)
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
|
.addComponent(viewsHideSlackCheckbox))
|
||||||
|
.addGroup(globalSettingsPanelLayout.createSequentialGroup()
|
||||||
|
.addComponent(selectFileLabel)
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
|
.addComponent(useBestViewerRadioButton)
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
|
.addComponent(keepCurrentViewerRadioButton)
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||||
|
.addComponent(displayTimeLabel)
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
|
.addComponent(useLocalTimeRadioButton)
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
|
.addComponent(useGMTTimeRadioButton)))
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||||
|
.addComponent(hideOtherUsersTagsLabel)
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
|
.addComponent(hideOtherUsersTagsCheckbox))
|
||||||
|
);
|
||||||
|
|
||||||
|
currentCaseSettingsPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.currentCaseSettingsPanel.border.title"))); // NOI18N
|
||||||
|
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(groupByDataSourceCheckbox, org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.groupByDataSourceCheckbox.text")); // NOI18N
|
||||||
|
groupByDataSourceCheckbox.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
groupByDataSourceCheckboxActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
javax.swing.GroupLayout currentCaseSettingsPanelLayout = new javax.swing.GroupLayout(currentCaseSettingsPanel);
|
||||||
|
currentCaseSettingsPanel.setLayout(currentCaseSettingsPanelLayout);
|
||||||
|
currentCaseSettingsPanelLayout.setHorizontalGroup(
|
||||||
|
currentCaseSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(currentCaseSettingsPanelLayout.createSequentialGroup()
|
||||||
|
.addContainerGap()
|
||||||
|
.addComponent(groupByDataSourceCheckbox)
|
||||||
|
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||||
|
);
|
||||||
|
currentCaseSettingsPanelLayout.setVerticalGroup(
|
||||||
|
currentCaseSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(currentCaseSettingsPanelLayout.createSequentialGroup()
|
||||||
|
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||||
|
.addComponent(groupByDataSourceCheckbox))
|
||||||
|
);
|
||||||
|
|
||||||
|
currentSessionSettingsPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.currentSessionSettingsPanel.border.title"))); // NOI18N
|
||||||
|
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(hideRejectedResultsCheckbox, org.openide.util.NbBundle.getMessage(ViewPreferencesPanel.class, "ViewPreferencesPanel.hideRejectedResultsCheckbox.text")); // NOI18N
|
||||||
|
hideRejectedResultsCheckbox.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
hideRejectedResultsCheckboxActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
javax.swing.GroupLayout currentSessionSettingsPanelLayout = new javax.swing.GroupLayout(currentSessionSettingsPanel);
|
||||||
|
currentSessionSettingsPanel.setLayout(currentSessionSettingsPanelLayout);
|
||||||
|
currentSessionSettingsPanelLayout.setHorizontalGroup(
|
||||||
|
currentSessionSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(currentSessionSettingsPanelLayout.createSequentialGroup()
|
||||||
|
.addContainerGap()
|
||||||
|
.addComponent(hideRejectedResultsCheckbox)
|
||||||
|
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||||
|
);
|
||||||
|
currentSessionSettingsPanelLayout.setVerticalGroup(
|
||||||
|
currentSessionSettingsPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(currentSessionSettingsPanelLayout.createSequentialGroup()
|
||||||
|
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||||
|
.addComponent(hideRejectedResultsCheckbox))
|
||||||
|
);
|
||||||
|
|
||||||
|
javax.swing.GroupLayout viewPreferencesPanelLayout = new javax.swing.GroupLayout(viewPreferencesPanel);
|
||||||
|
viewPreferencesPanel.setLayout(viewPreferencesPanelLayout);
|
||||||
|
viewPreferencesPanelLayout.setHorizontalGroup(
|
||||||
|
viewPreferencesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, viewPreferencesPanelLayout.createSequentialGroup()
|
||||||
|
.addContainerGap()
|
||||||
|
.addGroup(viewPreferencesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||||
|
.addComponent(currentSessionSettingsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||||
|
.addComponent(currentCaseSettingsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||||
|
.addComponent(globalSettingsPanel, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||||
|
.addContainerGap())
|
||||||
|
);
|
||||||
|
viewPreferencesPanelLayout.setVerticalGroup(
|
||||||
|
viewPreferencesPanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(viewPreferencesPanelLayout.createSequentialGroup()
|
||||||
|
.addComponent(globalSettingsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||||
|
.addComponent(currentCaseSettingsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||||
|
.addComponent(currentSessionSettingsPanel, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
||||||
|
);
|
||||||
|
|
||||||
|
viewPreferencesScrollPane.setViewportView(viewPreferencesPanel);
|
||||||
|
|
||||||
|
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
||||||
|
this.setLayout(layout);
|
||||||
|
layout.setHorizontalGroup(
|
||||||
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addComponent(viewPreferencesScrollPane)
|
||||||
|
);
|
||||||
|
layout.setVerticalGroup(
|
||||||
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addComponent(viewPreferencesScrollPane)
|
||||||
|
);
|
||||||
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
|
private void useBestViewerRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_useBestViewerRadioButtonActionPerformed
|
||||||
|
useBestViewerRadioButton.setSelected(true);
|
||||||
|
keepCurrentViewerRadioButton.setSelected(false);
|
||||||
|
if (immediateUpdates) {
|
||||||
|
UserPreferences.setKeepPreferredContentViewer(false);
|
||||||
|
} else {
|
||||||
|
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
||||||
|
}
|
||||||
|
}//GEN-LAST:event_useBestViewerRadioButtonActionPerformed
|
||||||
|
|
||||||
|
private void keepCurrentViewerRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_keepCurrentViewerRadioButtonActionPerformed
|
||||||
|
useBestViewerRadioButton.setSelected(false);
|
||||||
|
keepCurrentViewerRadioButton.setSelected(true);
|
||||||
|
if (immediateUpdates) {
|
||||||
|
UserPreferences.setKeepPreferredContentViewer(true);
|
||||||
|
} else {
|
||||||
|
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
||||||
|
}
|
||||||
|
}//GEN-LAST:event_keepCurrentViewerRadioButtonActionPerformed
|
||||||
|
|
||||||
|
private void useLocalTimeRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_useLocalTimeRadioButtonActionPerformed
|
||||||
|
useLocalTimeRadioButton.setSelected(true);
|
||||||
|
useGMTTimeRadioButton.setSelected(false);
|
||||||
|
if (immediateUpdates) {
|
||||||
|
UserPreferences.setDisplayTimesInLocalTime(true);
|
||||||
|
} else {
|
||||||
|
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
||||||
|
}
|
||||||
|
}//GEN-LAST:event_useLocalTimeRadioButtonActionPerformed
|
||||||
|
|
||||||
|
private void useGMTTimeRadioButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_useGMTTimeRadioButtonActionPerformed
|
||||||
|
useLocalTimeRadioButton.setSelected(false);
|
||||||
|
useGMTTimeRadioButton.setSelected(true);
|
||||||
|
if (immediateUpdates) {
|
||||||
|
UserPreferences.setDisplayTimesInLocalTime(false);
|
||||||
|
} else {
|
||||||
|
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
||||||
|
}
|
||||||
|
}//GEN-LAST:event_useGMTTimeRadioButtonActionPerformed
|
||||||
|
|
||||||
|
private void dataSourcesHideKnownCheckboxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_dataSourcesHideKnownCheckboxActionPerformed
|
||||||
|
if (immediateUpdates) {
|
||||||
|
UserPreferences.setHideKnownFilesInDataSourcesTree(dataSourcesHideKnownCheckbox.isSelected());
|
||||||
|
} else {
|
||||||
|
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
||||||
|
}
|
||||||
|
}//GEN-LAST:event_dataSourcesHideKnownCheckboxActionPerformed
|
||||||
|
|
||||||
|
private void viewsHideKnownCheckboxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_viewsHideKnownCheckboxActionPerformed
|
||||||
|
if (immediateUpdates) {
|
||||||
|
UserPreferences.setHideKnownFilesInViewsTree(viewsHideKnownCheckbox.isSelected());
|
||||||
|
} else {
|
||||||
|
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
||||||
|
}
|
||||||
|
}//GEN-LAST:event_viewsHideKnownCheckboxActionPerformed
|
||||||
|
|
||||||
|
private void dataSourcesHideSlackCheckboxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_dataSourcesHideSlackCheckboxActionPerformed
|
||||||
|
if (immediateUpdates) {
|
||||||
|
UserPreferences.setHideSlackFilesInDataSourcesTree(dataSourcesHideSlackCheckbox.isSelected());
|
||||||
|
} else {
|
||||||
|
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
||||||
|
}
|
||||||
|
}//GEN-LAST:event_dataSourcesHideSlackCheckboxActionPerformed
|
||||||
|
|
||||||
|
private void viewsHideSlackCheckboxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_viewsHideSlackCheckboxActionPerformed
|
||||||
|
if (immediateUpdates) {
|
||||||
|
UserPreferences.setHideSlackFilesInViewsTree(viewsHideSlackCheckbox.isSelected());
|
||||||
|
} else {
|
||||||
|
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
||||||
|
}
|
||||||
|
}//GEN-LAST:event_viewsHideSlackCheckboxActionPerformed
|
||||||
|
|
||||||
|
private void hideOtherUsersTagsCheckboxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_hideOtherUsersTagsCheckboxActionPerformed
|
||||||
|
if (immediateUpdates) {
|
||||||
|
UserPreferences.setShowOnlyCurrentUserTags(hideOtherUsersTagsCheckbox.isSelected());
|
||||||
|
} else {
|
||||||
|
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
||||||
|
}
|
||||||
|
}//GEN-LAST:event_hideOtherUsersTagsCheckboxActionPerformed
|
||||||
|
|
||||||
|
private void groupByDataSourceCheckboxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_groupByDataSourceCheckboxActionPerformed
|
||||||
|
if (immediateUpdates) {
|
||||||
|
storeGroupItemsInTreeByDataSource();
|
||||||
|
} else {
|
||||||
|
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
||||||
|
}
|
||||||
|
}//GEN-LAST:event_groupByDataSourceCheckboxActionPerformed
|
||||||
|
|
||||||
|
private void hideRejectedResultsCheckboxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_hideRejectedResultsCheckboxActionPerformed
|
||||||
|
if (immediateUpdates) {
|
||||||
|
DirectoryTreeTopComponent.getDefault().setShowRejectedResults(hideRejectedResultsCheckbox.isSelected() == false);
|
||||||
|
} else {
|
||||||
|
firePropertyChange(OptionsPanelController.PROP_CHANGED, null, null);
|
||||||
|
}
|
||||||
|
}//GEN-LAST:event_hideRejectedResultsCheckboxActionPerformed
|
||||||
|
|
||||||
|
|
||||||
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
|
private javax.swing.JPanel currentCaseSettingsPanel;
|
||||||
|
private javax.swing.JPanel currentSessionSettingsPanel;
|
||||||
|
private javax.swing.JCheckBox dataSourcesHideKnownCheckbox;
|
||||||
|
private javax.swing.JCheckBox dataSourcesHideSlackCheckbox;
|
||||||
|
private javax.swing.JLabel displayTimeLabel;
|
||||||
|
private javax.swing.JPanel globalSettingsPanel;
|
||||||
|
private javax.swing.JCheckBox groupByDataSourceCheckbox;
|
||||||
|
private javax.swing.JLabel hideKnownFilesLabel;
|
||||||
|
private javax.swing.JCheckBox hideOtherUsersTagsCheckbox;
|
||||||
|
private javax.swing.JLabel hideOtherUsersTagsLabel;
|
||||||
|
private javax.swing.JCheckBox hideRejectedResultsCheckbox;
|
||||||
|
private javax.swing.JLabel hideSlackFilesLabel;
|
||||||
|
private javax.swing.JRadioButton keepCurrentViewerRadioButton;
|
||||||
|
private javax.swing.JLabel selectFileLabel;
|
||||||
|
private javax.swing.JRadioButton useBestViewerRadioButton;
|
||||||
|
private javax.swing.JRadioButton useGMTTimeRadioButton;
|
||||||
|
private javax.swing.JRadioButton useLocalTimeRadioButton;
|
||||||
|
private javax.swing.JPanel viewPreferencesPanel;
|
||||||
|
private javax.swing.JScrollPane viewPreferencesScrollPane;
|
||||||
|
private javax.swing.JCheckBox viewsHideKnownCheckbox;
|
||||||
|
private javax.swing.JCheckBox viewsHideSlackCheckbox;
|
||||||
|
// End of variables declaration//GEN-END:variables
|
||||||
|
}
|
@ -0,0 +1,149 @@
|
|||||||
|
/*
|
||||||
|
* Autopsy Forensic Browser
|
||||||
|
*
|
||||||
|
* Copyright 2018 Basis Technology Corp.
|
||||||
|
* Contact: carrier <at> sleuthkit <dot> org
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.sleuthkit.autopsy.corecomponents;
|
||||||
|
|
||||||
|
import java.beans.PropertyChangeEvent;
|
||||||
|
import java.beans.PropertyChangeListener;
|
||||||
|
import java.beans.PropertyChangeSupport;
|
||||||
|
import javax.swing.JComponent;
|
||||||
|
import org.netbeans.spi.options.OptionsPanelController;
|
||||||
|
import org.openide.util.HelpCtx;
|
||||||
|
import org.openide.util.Lookup;
|
||||||
|
import org.sleuthkit.autopsy.coreutils.MessageNotifyUtil;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
import org.openide.util.NbBundle.Messages;
|
||||||
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Controller for the main settings panel
|
||||||
|
*/
|
||||||
|
@OptionsPanelController.TopLevelRegistration(categoryName = "#OptionsCategory_Name_View",
|
||||||
|
iconBase = "org/sleuthkit/autopsy/images/view-preferences-32.png",
|
||||||
|
position = 2,
|
||||||
|
keywords = "#OptionsCategory_Keywords_View",
|
||||||
|
keywordsCategory = "View")
|
||||||
|
public final class ViewPreferencesPanelController extends OptionsPanelController {
|
||||||
|
|
||||||
|
private ViewPreferencesPanel panel;
|
||||||
|
private final PropertyChangeSupport pcs = new PropertyChangeSupport(this);
|
||||||
|
private boolean changed;
|
||||||
|
private static final Logger logger = Logger.getLogger(ViewPreferencesPanelController.class.getName());
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void update() {
|
||||||
|
getPanel().load();
|
||||||
|
changed = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void applyChanges() {
|
||||||
|
getPanel().store();
|
||||||
|
changed = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void cancel() {
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isValid() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isChanged() {
|
||||||
|
return changed;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public HelpCtx getHelpCtx() {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public JComponent getComponent(Lookup masterLookup) {
|
||||||
|
return getPanel();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addPropertyChangeListener(PropertyChangeListener l) {
|
||||||
|
if (pcs.getPropertyChangeListeners().length == 0) {
|
||||||
|
pcs.addPropertyChangeListener(l);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void removePropertyChangeListener(PropertyChangeListener l) {
|
||||||
|
/**
|
||||||
|
* Note the NetBeans Framework does not appear to call this at all. We
|
||||||
|
* are using NetBeans 7.3.1 Build 201306052037. Perhaps in a future
|
||||||
|
* version of the Framework this will be resolved, but for now, simply
|
||||||
|
* don't unregister anything and add one time only in the
|
||||||
|
* addPropertyChangeListener() method above.
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve an instance of the ViewPreferencesPanel.
|
||||||
|
*
|
||||||
|
* @return A ViewPreferencesPanel instance.
|
||||||
|
*/
|
||||||
|
private ViewPreferencesPanel getPanel() {
|
||||||
|
if (panel == null) {
|
||||||
|
panel = new ViewPreferencesPanel(false);
|
||||||
|
panel.addPropertyChangeListener((PropertyChangeEvent evt) -> {
|
||||||
|
if (evt.getPropertyName().equals(OptionsPanelController.PROP_CHANGED)) {
|
||||||
|
changed();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
return panel;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Executed whenever a property change occurs.
|
||||||
|
*/
|
||||||
|
@Messages({"ViewOptionsController.moduleErr=Error processing value changes.",
|
||||||
|
"ViewOptionsController.moduleErr.msg=Value change processing failed."})
|
||||||
|
void changed() {
|
||||||
|
if (!changed) {
|
||||||
|
changed = true;
|
||||||
|
|
||||||
|
try {
|
||||||
|
pcs.firePropertyChange(OptionsPanelController.PROP_CHANGED, false, true);
|
||||||
|
} catch (Exception ex) {
|
||||||
|
logger.log(Level.SEVERE, "Error processing property change", ex); //NON-NLS
|
||||||
|
MessageNotifyUtil.Notify.show(
|
||||||
|
Bundle.ViewOptionsController_moduleErr(),
|
||||||
|
Bundle.ViewOptionsController_moduleErr_msg(),
|
||||||
|
MessageNotifyUtil.MessageType.ERROR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
pcs.firePropertyChange(OptionsPanelController.PROP_VALID, null, null);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.log(Level.SEVERE, "Error processing property change validation.", e); //NON-NLS
|
||||||
|
MessageNotifyUtil.Notify.show(
|
||||||
|
Bundle.ViewOptionsController_moduleErr(),
|
||||||
|
Bundle.ViewOptionsController_moduleErr_msg(),
|
||||||
|
MessageNotifyUtil.MessageType.ERROR);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -24,10 +24,12 @@ import java.util.ArrayList;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import org.openide.nodes.ChildFactory;
|
import org.openide.nodes.ChildFactory;
|
||||||
import org.openide.nodes.Node;
|
import org.openide.nodes.Node;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.CasePreferences;
|
||||||
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
||||||
import org.sleuthkit.autopsy.core.UserPreferences;
|
import org.sleuthkit.autopsy.core.UserPreferences;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
@ -53,10 +55,10 @@ public final class AutopsyTreeChildFactory extends ChildFactory.Detachable<Objec
|
|||||||
public void propertyChange(PropertyChangeEvent evt) {
|
public void propertyChange(PropertyChangeEvent evt) {
|
||||||
String eventType = evt.getPropertyName();
|
String eventType = evt.getPropertyName();
|
||||||
if (eventType.equals(Case.Events.DATA_SOURCE_ADDED.toString()) &&
|
if (eventType.equals(Case.Events.DATA_SOURCE_ADDED.toString()) &&
|
||||||
UserPreferences.groupItemsInTreeByDatasource()) {
|
Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)) {
|
||||||
refreshChildren();
|
refreshChildren();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -83,7 +85,7 @@ public final class AutopsyTreeChildFactory extends ChildFactory.Detachable<Objec
|
|||||||
try {
|
try {
|
||||||
SleuthkitCase tskCase = Case.getCurrentCaseThrows().getSleuthkitCase();
|
SleuthkitCase tskCase = Case.getCurrentCaseThrows().getSleuthkitCase();
|
||||||
|
|
||||||
if (UserPreferences.groupItemsInTreeByDatasource()) {
|
if (Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)) {
|
||||||
List<DataSource> dataSources = tskCase.getDataSources();
|
List<DataSource> dataSources = tskCase.getDataSources();
|
||||||
List<DataSourceGrouping> keys = new ArrayList<>();
|
List<DataSourceGrouping> keys = new ArrayList<>();
|
||||||
dataSources.forEach((datasource) -> {
|
dataSources.forEach((datasource) -> {
|
||||||
|
@ -24,6 +24,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Observable;
|
import java.util.Observable;
|
||||||
import java.util.Observer;
|
import java.util.Observer;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@ -39,6 +40,7 @@ import org.openide.util.NbBundle;
|
|||||||
import org.openide.util.lookup.Lookups;
|
import org.openide.util.lookup.Lookups;
|
||||||
import org.openide.windows.WindowManager;
|
import org.openide.windows.WindowManager;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.CasePreferences;
|
||||||
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
||||||
import org.sleuthkit.autopsy.core.UserPreferences;
|
import org.sleuthkit.autopsy.core.UserPreferences;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
@ -460,7 +462,7 @@ public class DeletedContent implements AutopsyVisitableItem {
|
|||||||
+ " OR known IS NULL)"; //NON-NLS
|
+ " OR known IS NULL)"; //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
if (UserPreferences.groupItemsInTreeByDatasource()) {
|
if (Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)) {
|
||||||
query += " AND data_source_obj_id = " + filteringDSObjId;
|
query += " AND data_source_obj_id = " + filteringDSObjId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -28,6 +28,7 @@ import java.util.HashMap;
|
|||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Observable;
|
import java.util.Observable;
|
||||||
import java.util.Observer;
|
import java.util.Observer;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@ -39,6 +40,7 @@ import org.openide.nodes.Sheet;
|
|||||||
import org.openide.util.NbBundle;
|
import org.openide.util.NbBundle;
|
||||||
import org.openide.util.lookup.Lookups;
|
import org.openide.util.lookup.Lookups;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.CasePreferences;
|
||||||
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
||||||
import org.sleuthkit.autopsy.core.UserPreferences;
|
import org.sleuthkit.autopsy.core.UserPreferences;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
@ -161,7 +163,7 @@ public class EmailExtracted implements AutopsyVisitableItem {
|
|||||||
+ "attribute_type_id=" + pathAttrId //NON-NLS
|
+ "attribute_type_id=" + pathAttrId //NON-NLS
|
||||||
+ " AND blackboard_attributes.artifact_id=blackboard_artifacts.artifact_id" //NON-NLS
|
+ " AND blackboard_attributes.artifact_id=blackboard_artifacts.artifact_id" //NON-NLS
|
||||||
+ " AND blackboard_artifacts.artifact_type_id=" + artId; //NON-NLS
|
+ " AND blackboard_artifacts.artifact_type_id=" + artId; //NON-NLS
|
||||||
if (UserPreferences.groupItemsInTreeByDatasource()) {
|
if (Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)) {
|
||||||
query += " AND blackboard_artifacts.data_source_obj_id = " + datasourceObjId;
|
query += " AND blackboard_artifacts.data_source_obj_id = " + datasourceObjId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -26,6 +26,7 @@ import java.util.Comparator;
|
|||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import org.openide.nodes.ChildFactory;
|
import org.openide.nodes.ChildFactory;
|
||||||
import org.openide.nodes.Children;
|
import org.openide.nodes.Children;
|
||||||
@ -34,6 +35,7 @@ import org.openide.nodes.Sheet;
|
|||||||
import org.openide.util.NbBundle;
|
import org.openide.util.NbBundle;
|
||||||
import org.openide.util.lookup.Lookups;
|
import org.openide.util.lookup.Lookups;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.CasePreferences;
|
||||||
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
||||||
import org.sleuthkit.autopsy.core.UserPreferences;
|
import org.sleuthkit.autopsy.core.UserPreferences;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
@ -288,10 +290,9 @@ public class ExtractedContent implements AutopsyVisitableItem {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected boolean createKeys(List<BlackboardArtifact.Type> list) {
|
protected boolean createKeys(List<BlackboardArtifact.Type> list) {
|
||||||
//TEST COMMENT
|
|
||||||
if (skCase != null) {
|
if (skCase != null) {
|
||||||
try {
|
try {
|
||||||
List<BlackboardArtifact.Type> types = (UserPreferences.groupItemsInTreeByDatasource()) ?
|
List<BlackboardArtifact.Type> types = Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true) ?
|
||||||
blackboard.getArtifactTypesInUse(datasourceObjId) :
|
blackboard.getArtifactTypesInUse(datasourceObjId) :
|
||||||
skCase.getArtifactTypesInUse() ;
|
skCase.getArtifactTypesInUse() ;
|
||||||
|
|
||||||
@ -356,7 +357,7 @@ public class ExtractedContent implements AutopsyVisitableItem {
|
|||||||
// a performance increase might be had by adding a
|
// a performance increase might be had by adding a
|
||||||
// "getBlackboardArtifactCount()" method to skCase
|
// "getBlackboardArtifactCount()" method to skCase
|
||||||
try {
|
try {
|
||||||
this.childCount = UserPreferences.groupItemsInTreeByDatasource() ?
|
this.childCount = Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true) ?
|
||||||
blackboard.getArtifactsCount(type.getTypeID(), datasourceObjId) :
|
blackboard.getArtifactsCount(type.getTypeID(), datasourceObjId) :
|
||||||
skCase.getBlackboardArtifactsTypeCount(type.getTypeID());
|
skCase.getBlackboardArtifactsTypeCount(type.getTypeID());
|
||||||
} catch (TskException ex) {
|
} catch (TskException ex) {
|
||||||
@ -481,7 +482,7 @@ public class ExtractedContent implements AutopsyVisitableItem {
|
|||||||
if (skCase != null) {
|
if (skCase != null) {
|
||||||
try {
|
try {
|
||||||
List<BlackboardArtifact> arts =
|
List<BlackboardArtifact> arts =
|
||||||
UserPreferences.groupItemsInTreeByDatasource() ?
|
Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true) ?
|
||||||
blackboard.getArtifacts(type.getTypeID(), datasourceObjId) :
|
blackboard.getArtifacts(type.getTypeID(), datasourceObjId) :
|
||||||
skCase.getBlackboardArtifacts(type.getTypeID());
|
skCase.getBlackboardArtifacts(type.getTypeID());
|
||||||
list.addAll(arts);
|
list.addAll(arts);
|
||||||
|
@ -24,6 +24,7 @@ import java.util.ArrayList;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Observable;
|
import java.util.Observable;
|
||||||
import java.util.Observer;
|
import java.util.Observer;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@ -36,6 +37,7 @@ import org.openide.nodes.Sheet;
|
|||||||
import org.openide.util.NbBundle;
|
import org.openide.util.NbBundle;
|
||||||
import org.openide.util.lookup.Lookups;
|
import org.openide.util.lookup.Lookups;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.CasePreferences;
|
||||||
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
||||||
import org.sleuthkit.autopsy.core.UserPreferences;
|
import org.sleuthkit.autopsy.core.UserPreferences;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
@ -445,8 +447,8 @@ public class FileSize implements AutopsyVisitableItem {
|
|||||||
query += " AND (type != " + TskData.TSK_DB_FILES_TYPE_ENUM.SLACK.getFileType() + ")"; //NON-NLS
|
query += " AND (type != " + TskData.TSK_DB_FILES_TYPE_ENUM.SLACK.getFileType() + ")"; //NON-NLS
|
||||||
}
|
}
|
||||||
|
|
||||||
// filter by datasource if indicated in user preferences
|
// filter by datasource if indicated in case preferences
|
||||||
if (UserPreferences.groupItemsInTreeByDatasource()) {
|
if (Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)) {
|
||||||
query += " AND data_source_obj_id = " + filteringDSObjId;
|
query += " AND data_source_obj_id = " + filteringDSObjId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@ import java.beans.PropertyChangeListener;
|
|||||||
import java.util.Arrays;
|
import java.util.Arrays;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Observable;
|
import java.util.Observable;
|
||||||
import java.util.Observer;
|
import java.util.Observer;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@ -37,6 +38,7 @@ import org.openide.util.NbBundle;
|
|||||||
import org.openide.util.NbBundle.Messages;
|
import org.openide.util.NbBundle.Messages;
|
||||||
import org.openide.util.lookup.Lookups;
|
import org.openide.util.lookup.Lookups;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.CasePreferences;
|
||||||
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
||||||
import org.sleuthkit.autopsy.core.UserPreferences;
|
import org.sleuthkit.autopsy.core.UserPreferences;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
@ -363,7 +365,7 @@ public final class FileTypesByExtension implements AutopsyVisitableItem {
|
|||||||
+ (UserPreferences.hideKnownFilesInViewsTree()
|
+ (UserPreferences.hideKnownFilesInViewsTree()
|
||||||
? " AND (known IS NULL OR known != " + TskData.FileKnown.KNOWN.getFileKnownValue() + ")"
|
? " AND (known IS NULL OR known != " + TskData.FileKnown.KNOWN.getFileKnownValue() + ")"
|
||||||
: " ")
|
: " ")
|
||||||
+ (UserPreferences.groupItemsInTreeByDatasource()
|
+ (Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)
|
||||||
? " AND data_source_obj_id = " + filteringDataSourceObjId()
|
? " AND data_source_obj_id = " + filteringDataSourceObjId()
|
||||||
: " ")
|
: " ")
|
||||||
+ " AND (extension IN (" + filter.getFilter().stream()
|
+ " AND (extension IN (" + filter.getFilter().stream()
|
||||||
|
@ -28,6 +28,7 @@ import java.util.EnumSet;
|
|||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Observable;
|
import java.util.Observable;
|
||||||
import java.util.Observer;
|
import java.util.Observer;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@ -41,6 +42,7 @@ import org.openide.nodes.Sheet;
|
|||||||
import org.openide.util.NbBundle;
|
import org.openide.util.NbBundle;
|
||||||
import org.openide.util.lookup.Lookups;
|
import org.openide.util.lookup.Lookups;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.CasePreferences;
|
||||||
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
||||||
import org.sleuthkit.autopsy.core.UserPreferences;
|
import org.sleuthkit.autopsy.core.UserPreferences;
|
||||||
import static org.sleuthkit.autopsy.core.UserPreferences.hideKnownFilesInViewsTree;
|
import static org.sleuthkit.autopsy.core.UserPreferences.hideKnownFilesInViewsTree;
|
||||||
@ -101,7 +103,7 @@ public final class FileTypesByMimeType extends Observable implements AutopsyVisi
|
|||||||
+ TskData.TSK_DB_FILES_TYPE_ENUM.LOCAL.ordinal()
|
+ TskData.TSK_DB_FILES_TYPE_ENUM.LOCAL.ordinal()
|
||||||
+ (hideSlackFilesInViewsTree() ? "" : ("," + TskData.TSK_DB_FILES_TYPE_ENUM.SLACK.ordinal()))
|
+ (hideSlackFilesInViewsTree() ? "" : ("," + TskData.TSK_DB_FILES_TYPE_ENUM.SLACK.ordinal()))
|
||||||
+ "))"
|
+ "))"
|
||||||
+ ( UserPreferences.groupItemsInTreeByDatasource() ? " AND data_source_obj_id = " + this.filteringDataSourceObjId() : " ")
|
+ ( Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true) ? " AND data_source_obj_id = " + this.filteringDataSourceObjId() : " ")
|
||||||
+ (hideKnownFilesInViewsTree() ? (" AND (known IS NULL OR known != " + TskData.FileKnown.KNOWN.getFileKnownValue() + ")") : "");
|
+ (hideKnownFilesInViewsTree() ? (" AND (known IS NULL OR known != " + TskData.FileKnown.KNOWN.getFileKnownValue() + ")") : "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,6 +30,7 @@ import java.util.HashSet;
|
|||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Observable;
|
import java.util.Observable;
|
||||||
import java.util.Observer;
|
import java.util.Observer;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@ -41,6 +42,7 @@ import org.openide.nodes.Sheet;
|
|||||||
import org.openide.util.NbBundle;
|
import org.openide.util.NbBundle;
|
||||||
import org.openide.util.lookup.Lookups;
|
import org.openide.util.lookup.Lookups;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.CasePreferences;
|
||||||
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
||||||
import org.sleuthkit.autopsy.core.UserPreferences;
|
import org.sleuthkit.autopsy.core.UserPreferences;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
@ -141,7 +143,7 @@ public class HashsetHits implements AutopsyVisitableItem {
|
|||||||
+ "attribute_type_id=" + setNameId //NON-NLS
|
+ "attribute_type_id=" + setNameId //NON-NLS
|
||||||
+ " AND blackboard_attributes.artifact_id=blackboard_artifacts.artifact_id" //NON-NLS
|
+ " AND blackboard_attributes.artifact_id=blackboard_artifacts.artifact_id" //NON-NLS
|
||||||
+ " AND blackboard_artifacts.artifact_type_id=" + artId; //NON-NLS
|
+ " AND blackboard_artifacts.artifact_type_id=" + artId; //NON-NLS
|
||||||
if (UserPreferences.groupItemsInTreeByDatasource()) {
|
if (Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)) {
|
||||||
query += " AND blackboard_artifacts.data_source_obj_id = " + datasourceObjId;
|
query += " AND blackboard_artifacts.data_source_obj_id = " + datasourceObjId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,6 +30,7 @@ import java.util.HashSet;
|
|||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Observable;
|
import java.util.Observable;
|
||||||
import java.util.Observer;
|
import java.util.Observer;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@ -41,6 +42,7 @@ import org.openide.nodes.Sheet;
|
|||||||
import org.openide.util.NbBundle;
|
import org.openide.util.NbBundle;
|
||||||
import org.openide.util.lookup.Lookups;
|
import org.openide.util.lookup.Lookups;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.CasePreferences;
|
||||||
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
||||||
import org.sleuthkit.autopsy.core.UserPreferences;
|
import org.sleuthkit.autopsy.core.UserPreferences;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
@ -132,7 +134,7 @@ public class InterestingHits implements AutopsyVisitableItem {
|
|||||||
+ "attribute_type_id=" + setNameId //NON-NLS
|
+ "attribute_type_id=" + setNameId //NON-NLS
|
||||||
+ " AND blackboard_attributes.artifact_id=blackboard_artifacts.artifact_id" //NON-NLS
|
+ " AND blackboard_attributes.artifact_id=blackboard_artifacts.artifact_id" //NON-NLS
|
||||||
+ " AND blackboard_artifacts.artifact_type_id=" + artId; //NON-NLS
|
+ " AND blackboard_artifacts.artifact_type_id=" + artId; //NON-NLS
|
||||||
if (UserPreferences.groupItemsInTreeByDatasource()) {
|
if (Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)) {
|
||||||
query += " AND blackboard_artifacts.data_source_obj_id = " + datasourceObjId;
|
query += " AND blackboard_artifacts.data_source_obj_id = " + datasourceObjId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,6 +29,7 @@ import java.util.HashSet;
|
|||||||
import java.util.LinkedHashMap;
|
import java.util.LinkedHashMap;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Observable;
|
import java.util.Observable;
|
||||||
import java.util.Observer;
|
import java.util.Observer;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@ -43,6 +44,7 @@ import org.openide.util.Lookup;
|
|||||||
import org.openide.util.NbBundle;
|
import org.openide.util.NbBundle;
|
||||||
import org.openide.util.lookup.Lookups;
|
import org.openide.util.lookup.Lookups;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.CasePreferences;
|
||||||
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
||||||
import org.sleuthkit.autopsy.core.UserPreferences;
|
import org.sleuthkit.autopsy.core.UserPreferences;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
@ -321,7 +323,7 @@ public class KeywordHits implements AutopsyVisitableItem {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String queryStr = KEYWORD_HIT_ATTRIBUTES_QUERY;
|
String queryStr = KEYWORD_HIT_ATTRIBUTES_QUERY;
|
||||||
if (UserPreferences.groupItemsInTreeByDatasource()) {
|
if (Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)) {
|
||||||
queryStr += " AND blackboard_artifacts.data_source_obj_id = " + datasourceObjId;
|
queryStr += " AND blackboard_artifacts.data_source_obj_id = " + datasourceObjId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,6 +23,7 @@ import java.beans.PropertyChangeListener;
|
|||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
import java.util.Objects;
|
||||||
import java.util.Observable;
|
import java.util.Observable;
|
||||||
import java.util.Observer;
|
import java.util.Observer;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
@ -34,6 +35,7 @@ import org.openide.nodes.Sheet;
|
|||||||
import org.openide.util.NbBundle;
|
import org.openide.util.NbBundle;
|
||||||
import org.openide.util.lookup.Lookups;
|
import org.openide.util.lookup.Lookups;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.CasePreferences;
|
||||||
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
||||||
import org.sleuthkit.autopsy.casemodule.services.TagsManager;
|
import org.sleuthkit.autopsy.casemodule.services.TagsManager;
|
||||||
import org.sleuthkit.autopsy.core.UserPreferences;
|
import org.sleuthkit.autopsy.core.UserPreferences;
|
||||||
@ -244,11 +246,11 @@ public class Tags implements AutopsyVisitableItem {
|
|||||||
List<TagName> tagNamesInUse;
|
List<TagName> tagNamesInUse;
|
||||||
if (UserPreferences.showOnlyCurrentUserTags()) {
|
if (UserPreferences.showOnlyCurrentUserTags()) {
|
||||||
String userName = System.getProperty(USER_NAME_PROPERTY);
|
String userName = System.getProperty(USER_NAME_PROPERTY);
|
||||||
tagNamesInUse = UserPreferences.groupItemsInTreeByDatasource()
|
tagNamesInUse = Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)
|
||||||
? Case.getCurrentCaseThrows().getServices().getTagsManager().getTagNamesInUseForUser(datasourceObjId, userName)
|
? Case.getCurrentCaseThrows().getServices().getTagsManager().getTagNamesInUseForUser(datasourceObjId, userName)
|
||||||
: Case.getCurrentCaseThrows().getServices().getTagsManager().getTagNamesInUseForUser(userName);
|
: Case.getCurrentCaseThrows().getServices().getTagsManager().getTagNamesInUseForUser(userName);
|
||||||
} else {
|
} else {
|
||||||
tagNamesInUse = UserPreferences.groupItemsInTreeByDatasource()
|
tagNamesInUse = Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)
|
||||||
? Case.getCurrentCaseThrows().getServices().getTagsManager().getTagNamesInUse(datasourceObjId)
|
? Case.getCurrentCaseThrows().getServices().getTagsManager().getTagNamesInUse(datasourceObjId)
|
||||||
: Case.getCurrentCaseThrows().getServices().getTagsManager().getTagNamesInUse();
|
: Case.getCurrentCaseThrows().getServices().getTagsManager().getTagNamesInUse();
|
||||||
}
|
}
|
||||||
@ -301,7 +303,7 @@ public class Tags implements AutopsyVisitableItem {
|
|||||||
TagsManager tm = Case.getCurrentCaseThrows().getServices().getTagsManager();
|
TagsManager tm = Case.getCurrentCaseThrows().getServices().getTagsManager();
|
||||||
if (UserPreferences.showOnlyCurrentUserTags()) {
|
if (UserPreferences.showOnlyCurrentUserTags()) {
|
||||||
String userName = System.getProperty(USER_NAME_PROPERTY);
|
String userName = System.getProperty(USER_NAME_PROPERTY);
|
||||||
if (UserPreferences.groupItemsInTreeByDatasource()) {
|
if (Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)) {
|
||||||
tagsCount = tm.getContentTagsCountByTagNameForUser(tagName, datasourceObjId, userName);
|
tagsCount = tm.getContentTagsCountByTagNameForUser(tagName, datasourceObjId, userName);
|
||||||
tagsCount += tm.getBlackboardArtifactTagsCountByTagNameForUser(tagName, datasourceObjId, userName);
|
tagsCount += tm.getBlackboardArtifactTagsCountByTagNameForUser(tagName, datasourceObjId, userName);
|
||||||
} else {
|
} else {
|
||||||
@ -309,7 +311,7 @@ public class Tags implements AutopsyVisitableItem {
|
|||||||
tagsCount += tm.getBlackboardArtifactTagsCountByTagNameForUser(tagName, userName);
|
tagsCount += tm.getBlackboardArtifactTagsCountByTagNameForUser(tagName, userName);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (UserPreferences.groupItemsInTreeByDatasource()) {
|
if (Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)) {
|
||||||
tagsCount = tm.getContentTagsCountByTagName(tagName, datasourceObjId);
|
tagsCount = tm.getContentTagsCountByTagName(tagName, datasourceObjId);
|
||||||
tagsCount += tm.getBlackboardArtifactTagsCountByTagName(tagName, datasourceObjId);
|
tagsCount += tm.getBlackboardArtifactTagsCountByTagName(tagName, datasourceObjId);
|
||||||
} else {
|
} else {
|
||||||
@ -422,11 +424,11 @@ public class Tags implements AutopsyVisitableItem {
|
|||||||
|
|
||||||
if (UserPreferences.showOnlyCurrentUserTags()) {
|
if (UserPreferences.showOnlyCurrentUserTags()) {
|
||||||
String userName = System.getProperty(USER_NAME_PROPERTY);
|
String userName = System.getProperty(USER_NAME_PROPERTY);
|
||||||
tagsCount = UserPreferences.groupItemsInTreeByDatasource()
|
tagsCount = Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)
|
||||||
? Case.getCurrentCaseThrows().getServices().getTagsManager().getContentTagsCountByTagNameForUser(tagName, datasourceObjId, userName)
|
? Case.getCurrentCaseThrows().getServices().getTagsManager().getContentTagsCountByTagNameForUser(tagName, datasourceObjId, userName)
|
||||||
: Case.getCurrentCaseThrows().getServices().getTagsManager().getContentTagsCountByTagNameForUser(tagName, userName);
|
: Case.getCurrentCaseThrows().getServices().getTagsManager().getContentTagsCountByTagNameForUser(tagName, userName);
|
||||||
} else {
|
} else {
|
||||||
tagsCount = UserPreferences.groupItemsInTreeByDatasource()
|
tagsCount = Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)
|
||||||
? Case.getCurrentCaseThrows().getServices().getTagsManager().getContentTagsCountByTagName(tagName, datasourceObjId)
|
? Case.getCurrentCaseThrows().getServices().getTagsManager().getContentTagsCountByTagName(tagName, datasourceObjId)
|
||||||
: Case.getCurrentCaseThrows().getServices().getTagsManager().getContentTagsCountByTagName(tagName);
|
: Case.getCurrentCaseThrows().getServices().getTagsManager().getContentTagsCountByTagName(tagName);
|
||||||
}
|
}
|
||||||
@ -484,7 +486,7 @@ public class Tags implements AutopsyVisitableItem {
|
|||||||
protected boolean createKeys(List<ContentTag> keys) {
|
protected boolean createKeys(List<ContentTag> keys) {
|
||||||
// Use the content tags bearing the specified tag name as the keys.
|
// Use the content tags bearing the specified tag name as the keys.
|
||||||
try {
|
try {
|
||||||
List<ContentTag> contentTags = UserPreferences.groupItemsInTreeByDatasource()
|
List<ContentTag> contentTags = Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)
|
||||||
? Case.getCurrentCaseThrows().getServices().getTagsManager().getContentTagsByTagName(tagName, datasourceObjId)
|
? Case.getCurrentCaseThrows().getServices().getTagsManager().getContentTagsByTagName(tagName, datasourceObjId)
|
||||||
: Case.getCurrentCaseThrows().getServices().getTagsManager().getContentTagsByTagName(tagName);
|
: Case.getCurrentCaseThrows().getServices().getTagsManager().getContentTagsByTagName(tagName);
|
||||||
if (UserPreferences.showOnlyCurrentUserTags()) {
|
if (UserPreferences.showOnlyCurrentUserTags()) {
|
||||||
@ -542,11 +544,11 @@ public class Tags implements AutopsyVisitableItem {
|
|||||||
try {
|
try {
|
||||||
if (UserPreferences.showOnlyCurrentUserTags()) {
|
if (UserPreferences.showOnlyCurrentUserTags()) {
|
||||||
String userName = System.getProperty(USER_NAME_PROPERTY);
|
String userName = System.getProperty(USER_NAME_PROPERTY);
|
||||||
tagsCount = UserPreferences.groupItemsInTreeByDatasource()
|
tagsCount = Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)
|
||||||
? Case.getCurrentCaseThrows().getServices().getTagsManager().getBlackboardArtifactTagsCountByTagNameForUser(tagName, datasourceObjId, userName)
|
? Case.getCurrentCaseThrows().getServices().getTagsManager().getBlackboardArtifactTagsCountByTagNameForUser(tagName, datasourceObjId, userName)
|
||||||
: Case.getCurrentCaseThrows().getServices().getTagsManager().getBlackboardArtifactTagsCountByTagNameForUser(tagName, userName);
|
: Case.getCurrentCaseThrows().getServices().getTagsManager().getBlackboardArtifactTagsCountByTagNameForUser(tagName, userName);
|
||||||
} else {
|
} else {
|
||||||
tagsCount = UserPreferences.groupItemsInTreeByDatasource()
|
tagsCount = Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)
|
||||||
? Case.getCurrentCaseThrows().getServices().getTagsManager().getBlackboardArtifactTagsCountByTagName(tagName, datasourceObjId)
|
? Case.getCurrentCaseThrows().getServices().getTagsManager().getBlackboardArtifactTagsCountByTagName(tagName, datasourceObjId)
|
||||||
: Case.getCurrentCaseThrows().getServices().getTagsManager().getBlackboardArtifactTagsCountByTagName(tagName);
|
: Case.getCurrentCaseThrows().getServices().getTagsManager().getBlackboardArtifactTagsCountByTagName(tagName);
|
||||||
}
|
}
|
||||||
@ -604,7 +606,7 @@ public class Tags implements AutopsyVisitableItem {
|
|||||||
protected boolean createKeys(List<BlackboardArtifactTag> keys) {
|
protected boolean createKeys(List<BlackboardArtifactTag> keys) {
|
||||||
try {
|
try {
|
||||||
// Use the blackboard artifact tags bearing the specified tag name as the keys.
|
// Use the blackboard artifact tags bearing the specified tag name as the keys.
|
||||||
List<BlackboardArtifactTag> artifactTags = UserPreferences.groupItemsInTreeByDatasource()
|
List<BlackboardArtifactTag> artifactTags = Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)
|
||||||
? Case.getCurrentCaseThrows().getServices().getTagsManager().getBlackboardArtifactTagsByTagName(tagName, datasourceObjId)
|
? Case.getCurrentCaseThrows().getServices().getTagsManager().getBlackboardArtifactTagsByTagName(tagName, datasourceObjId)
|
||||||
: Case.getCurrentCaseThrows().getServices().getTagsManager().getBlackboardArtifactTagsByTagName(tagName);
|
: Case.getCurrentCaseThrows().getServices().getTagsManager().getBlackboardArtifactTagsByTagName(tagName);
|
||||||
if (UserPreferences.showOnlyCurrentUserTags()) {
|
if (UserPreferences.showOnlyCurrentUserTags()) {
|
||||||
|
@ -57,6 +57,7 @@ import org.openide.util.NbBundle;
|
|||||||
import org.openide.util.Utilities;
|
import org.openide.util.Utilities;
|
||||||
import org.openide.util.lookup.Lookups;
|
import org.openide.util.lookup.Lookups;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.CasePreferences;
|
||||||
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
||||||
import org.sleuthkit.autopsy.core.UserPreferences;
|
import org.sleuthkit.autopsy.core.UserPreferences;
|
||||||
import org.sleuthkit.autopsy.corecomponents.DataResultTopComponent;
|
import org.sleuthkit.autopsy.corecomponents.DataResultTopComponent;
|
||||||
@ -149,12 +150,14 @@ final public class Accounts implements AutopsyVisitableItem {
|
|||||||
* Returns the clause to filter artifacts by data source.
|
* Returns the clause to filter artifacts by data source.
|
||||||
*
|
*
|
||||||
* @return A clause that will or will not filter artifacts by datasource
|
* @return A clause that will or will not filter artifacts by datasource
|
||||||
* based on the UserPreferences groupItemsInTreeByDatasource setting
|
* based on the CasePreferences groupItemsInTreeByDataSource setting
|
||||||
*/
|
*/
|
||||||
private String getFilterByDataSourceClause() {
|
private String getFilterByDataSourceClause() {
|
||||||
return (UserPreferences.groupItemsInTreeByDatasource()) ?
|
if (Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)) {
|
||||||
" AND blackboard_artifacts.data_source_obj_id = " + datasourceObjId + " "
|
return " AND blackboard_artifacts.data_source_obj_id = " + datasourceObjId + " ";
|
||||||
: " ";
|
}
|
||||||
|
|
||||||
|
return " ";
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -164,6 +167,7 @@ final public class Accounts implements AutopsyVisitableItem {
|
|||||||
* @return An Action that will toggle whether rejected artifacts are shown
|
* @return An Action that will toggle whether rejected artifacts are shown
|
||||||
* in the tree rooted by this Accounts instance.
|
* in the tree rooted by this Accounts instance.
|
||||||
*/
|
*/
|
||||||
|
@Deprecated
|
||||||
public Action newToggleShowRejectedAction() {
|
public Action newToggleShowRejectedAction() {
|
||||||
return new ToggleShowRejected();
|
return new ToggleShowRejected();
|
||||||
}
|
}
|
||||||
@ -1686,6 +1690,7 @@ final public class Accounts implements AutopsyVisitableItem {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Deprecated
|
||||||
private final class ToggleShowRejected extends AbstractAction {
|
private final class ToggleShowRejected extends AbstractAction {
|
||||||
|
|
||||||
@NbBundle.Messages("ToggleShowRejected.name=Show Rejected Results")
|
@NbBundle.Messages("ToggleShowRejected.name=Show Rejected Results")
|
||||||
@ -1699,6 +1704,16 @@ final public class Accounts implements AutopsyVisitableItem {
|
|||||||
reviewStatusBus.post(new ReviewStatusChangeEvent(Collections.emptySet(), null));
|
reviewStatusBus.post(new ReviewStatusChangeEvent(Collections.emptySet(), null));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the user interface to show or hide rejected artifacts.
|
||||||
|
*
|
||||||
|
* @param showRejected Show rejected artifacts? Yes if true; otherwise no.
|
||||||
|
*/
|
||||||
|
public void setShowRejected(boolean showRejected) {
|
||||||
|
this.showRejected = showRejected;
|
||||||
|
reviewStatusBus.post(new ReviewStatusChangeEvent(Collections.emptySet(), null));
|
||||||
|
}
|
||||||
|
|
||||||
private abstract class ReviewStatusAction extends AbstractAction {
|
private abstract class ReviewStatusAction extends AbstractAction {
|
||||||
|
|
||||||
|
@ -59,7 +59,6 @@ DirectoryTreeFilterNode.action.collapseAll.text=Collapse All
|
|||||||
DirectoryTreeFilterNode.action.openFileSrcByAttr.text=Open File Search by Attributes
|
DirectoryTreeFilterNode.action.openFileSrcByAttr.text=Open File Search by Attributes
|
||||||
DirectoryTreeFilterNode.action.runIngestMods.text=Run Ingest Modules
|
DirectoryTreeFilterNode.action.runIngestMods.text=Run Ingest Modules
|
||||||
DirectoryTreeTopComponent.action.viewArtContent.text=View Artifact Content
|
DirectoryTreeTopComponent.action.viewArtContent.text=View Artifact Content
|
||||||
DirectoryTreeTopComponent.showRejectedCheckBox.text=Show Rejected Results
|
|
||||||
ExplorerNodeActionVisitor.action.imgDetails.title=Image Details
|
ExplorerNodeActionVisitor.action.imgDetails.title=Image Details
|
||||||
ExplorerNodeActionVisitor.action.extUnallocToSingleFiles=Extract Unallocated Space to Single Files
|
ExplorerNodeActionVisitor.action.extUnallocToSingleFiles=Extract Unallocated Space to Single Files
|
||||||
ExplorerNodeActionVisitor.action.fileSystemDetails.title=File System Details
|
ExplorerNodeActionVisitor.action.fileSystemDetails.title=File System Details
|
||||||
@ -119,10 +118,9 @@ AddExternalViewerRulePanel.browseButton.text=Browse
|
|||||||
AddExternalViewerRulePanel.exePathTextField.text=
|
AddExternalViewerRulePanel.exePathTextField.text=
|
||||||
AddExternalViewerRulePanel.exePathLabel.text=Path of the program to use for files with this type or extension
|
AddExternalViewerRulePanel.exePathLabel.text=Path of the program to use for files with this type or extension
|
||||||
AddExternalViewerRulePanel.extRadioButton.text=Extension
|
AddExternalViewerRulePanel.extRadioButton.text=Extension
|
||||||
DirectoryTreeTopComponent.groupByDatasourceCheckBox.text=Group by Data Source
|
|
||||||
GroupDataSourcesDialog.dataSourceCountLabel.text=jLabel1
|
GroupDataSourcesDialog.dataSourceCountLabel.text=jLabel1
|
||||||
GroupDataSourcesDialog.queryLabel.text=Would you like to group by data source for faster loading?
|
GroupDataSourcesDialog.queryLabel.text=Would you like to group by data source for faster loading?
|
||||||
GroupDataSourcesDialog.yesButton.text=Yes
|
GroupDataSourcesDialog.yesButton.text=Yes
|
||||||
GroupDataSourcesDialog.noButton.text=No
|
GroupDataSourcesDialog.noButton.text=No
|
||||||
GroupDataSourcesDialog.title=Group by Data Source?
|
GroupDataSourcesDialog.title=Group by Data Source?
|
||||||
DirectoryTreeTopComponent.showOnlyCurrentUserTagsCheckbox.text=Hide Other User's Tags
|
DirectoryTreeTopComponent.openViewPreferencesButton.text=
|
||||||
|
@ -1,6 +1,14 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" ?>
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
|
||||||
<Form version="1.4" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
|
<Form version="1.4" maxVersion="1.7" type="org.netbeans.modules.form.forminfo.JPanelFormInfo">
|
||||||
|
<NonVisualComponents>
|
||||||
|
<Container class="javax.swing.JPopupMenu" name="viewPreferencesPopupMenu">
|
||||||
|
|
||||||
|
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignAbsoluteLayout">
|
||||||
|
<Property name="useNullLayout" type="boolean" value="true"/>
|
||||||
|
</Layout>
|
||||||
|
</Container>
|
||||||
|
</NonVisualComponents>
|
||||||
<AuxValues>
|
<AuxValues>
|
||||||
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
|
<AuxValue name="FormSettings_autoResourcing" type="java.lang.Integer" value="1"/>
|
||||||
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
|
<AuxValue name="FormSettings_autoSetComponentName" type="java.lang.Boolean" value="false"/>
|
||||||
@ -16,46 +24,28 @@
|
|||||||
<Layout>
|
<Layout>
|
||||||
<DimensionLayout dim="0">
|
<DimensionLayout dim="0">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Component id="treeView" alignment="0" max="32767" attributes="0"/>
|
<Component id="treeView" max="32767" attributes="0"/>
|
||||||
<Group type="102" alignment="0" attributes="0">
|
<Group type="102" attributes="0">
|
||||||
<Component id="backButton" min="-2" max="-2" attributes="0"/>
|
<Component id="backButton" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="forwardButton" min="-2" max="-2" attributes="0"/>
|
<Component id="forwardButton" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace type="separate" max="-2" attributes="0"/>
|
<EmptySpace pref="264" max="32767" attributes="0"/>
|
||||||
<Component id="showOnlyCurrentUserTagsCheckbox" max="32767" attributes="0"/>
|
<Component id="openViewPreferencesButton" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace min="-2" max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
|
||||||
<Component id="showRejectedCheckBox" min="-2" max="-2" attributes="0"/>
|
|
||||||
<Component id="groupByDatasourceCheckBox" min="-2" max="-2" attributes="0"/>
|
|
||||||
</Group>
|
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
<DimensionLayout dim="1">
|
<DimensionLayout dim="1">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Group type="102" alignment="0" attributes="0">
|
<Group type="102" alignment="0" attributes="0">
|
||||||
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Group type="102" attributes="0">
|
<Component id="backButton" min="-2" max="-2" attributes="1"/>
|
||||||
<EmptySpace min="-2" pref="5" max="-2" attributes="0"/>
|
<Component id="forwardButton" min="-2" max="-2" attributes="1"/>
|
||||||
<Group type="103" groupAlignment="3" attributes="0">
|
<Component id="openViewPreferencesButton" min="-2" pref="31" max="-2" attributes="0"/>
|
||||||
<Component id="showRejectedCheckBox" alignment="3" min="-2" max="-2" attributes="0"/>
|
|
||||||
<Component id="showOnlyCurrentUserTagsCheckbox" alignment="3" min="-2" max="-2" attributes="0"/>
|
|
||||||
</Group>
|
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
|
||||||
<Component id="groupByDatasourceCheckBox" min="-2" max="-2" attributes="0"/>
|
|
||||||
</Group>
|
|
||||||
<Group type="102" alignment="0" attributes="0">
|
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
|
||||||
<Group type="103" groupAlignment="0" max="-2" attributes="0">
|
|
||||||
<Component id="forwardButton" max="32767" attributes="1"/>
|
|
||||||
<Component id="backButton" min="-2" max="-2" attributes="1"/>
|
|
||||||
</Group>
|
|
||||||
</Group>
|
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="treeView" pref="843" max="32767" attributes="0"/>
|
<Component id="treeView" pref="900" max="32767" attributes="0"/>
|
||||||
<EmptySpace min="0" pref="0" max="-2" attributes="0"/>
|
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
@ -139,31 +129,25 @@
|
|||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="forwardButtonActionPerformed"/>
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="forwardButtonActionPerformed"/>
|
||||||
</Events>
|
</Events>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JCheckBox" name="showRejectedCheckBox">
|
<Component class="javax.swing.JButton" name="openViewPreferencesButton">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="DirectoryTreeTopComponent.showRejectedCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<Image iconType="3" name="/org/sleuthkit/autopsy/directorytree/view-preferences-24.png"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
|
||||||
</Component>
|
|
||||||
<Component class="javax.swing.JCheckBox" name="groupByDatasourceCheckBox">
|
|
||||||
<Properties>
|
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="DirectoryTreeTopComponent.groupByDatasourceCheckBox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="DirectoryTreeTopComponent.openViewPreferencesButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||||
|
<Border info="org.netbeans.modules.form.compat2.border.SoftBevelBorderInfo">
|
||||||
|
<BevelBorder/>
|
||||||
|
</Border>
|
||||||
|
</Property>
|
||||||
|
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[30, 30]"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="groupByDatasourceCheckBoxActionPerformed"/>
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="openViewPreferencesButtonActionPerformed"/>
|
||||||
</Events>
|
|
||||||
</Component>
|
|
||||||
<Component class="javax.swing.JCheckBox" name="showOnlyCurrentUserTagsCheckbox">
|
|
||||||
<Properties>
|
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/directorytree/Bundle.properties" key="DirectoryTreeTopComponent.showOnlyCurrentUserTagsCheckbox.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
|
||||||
</Property>
|
|
||||||
</Properties>
|
|
||||||
<Events>
|
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="showOnlyCurrentUserTagsCheckboxActionPerformed"/>
|
|
||||||
</Events>
|
</Events>
|
||||||
</Component>
|
</Component>
|
||||||
</SubComponents>
|
</SubComponents>
|
||||||
|
@ -42,8 +42,11 @@ import java.util.prefs.PreferenceChangeEvent;
|
|||||||
import java.util.prefs.PreferenceChangeListener;
|
import java.util.prefs.PreferenceChangeListener;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
import javax.swing.Action;
|
import javax.swing.Action;
|
||||||
|
import javax.swing.JPopupMenu;
|
||||||
import javax.swing.SwingUtilities;
|
import javax.swing.SwingUtilities;
|
||||||
import javax.swing.SwingWorker;
|
import javax.swing.SwingWorker;
|
||||||
|
import javax.swing.event.PopupMenuEvent;
|
||||||
|
import javax.swing.event.PopupMenuListener;
|
||||||
import javax.swing.tree.TreeSelectionModel;
|
import javax.swing.tree.TreeSelectionModel;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.openide.explorer.ExplorerManager;
|
import org.openide.explorer.ExplorerManager;
|
||||||
@ -60,6 +63,7 @@ import org.openide.util.NbBundle.Messages;
|
|||||||
import org.openide.windows.TopComponent;
|
import org.openide.windows.TopComponent;
|
||||||
import org.openide.windows.WindowManager;
|
import org.openide.windows.WindowManager;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.CasePreferences;
|
||||||
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
||||||
import org.sleuthkit.autopsy.core.RuntimeProperties;
|
import org.sleuthkit.autopsy.core.RuntimeProperties;
|
||||||
import org.sleuthkit.autopsy.core.UserPreferences;
|
import org.sleuthkit.autopsy.core.UserPreferences;
|
||||||
@ -67,6 +71,7 @@ import org.sleuthkit.autopsy.corecomponentinterfaces.CoreComponentControl;
|
|||||||
import org.sleuthkit.autopsy.corecomponentinterfaces.DataExplorer;
|
import org.sleuthkit.autopsy.corecomponentinterfaces.DataExplorer;
|
||||||
import org.sleuthkit.autopsy.corecomponents.DataResultTopComponent;
|
import org.sleuthkit.autopsy.corecomponents.DataResultTopComponent;
|
||||||
import org.sleuthkit.autopsy.corecomponents.TableFilterNode;
|
import org.sleuthkit.autopsy.corecomponents.TableFilterNode;
|
||||||
|
import org.sleuthkit.autopsy.corecomponents.ViewPreferencesPanel;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
import org.sleuthkit.autopsy.coreutils.ModuleSettings;
|
import org.sleuthkit.autopsy.coreutils.ModuleSettings;
|
||||||
import org.sleuthkit.autopsy.datamodel.ArtifactNodeSelectionInfo;
|
import org.sleuthkit.autopsy.datamodel.ArtifactNodeSelectionInfo;
|
||||||
@ -105,12 +110,15 @@ public final class DirectoryTreeTopComponent extends TopComponent implements Dat
|
|||||||
private final transient ExplorerManager em = new ExplorerManager();
|
private final transient ExplorerManager em = new ExplorerManager();
|
||||||
private static DirectoryTreeTopComponent instance;
|
private static DirectoryTreeTopComponent instance;
|
||||||
private final DataResultTopComponent dataResult = new DataResultTopComponent(Bundle.DirectoryTreeTopComponent_resultsView_title());
|
private final DataResultTopComponent dataResult = new DataResultTopComponent(Bundle.DirectoryTreeTopComponent_resultsView_title());
|
||||||
|
private final ViewPreferencesPanel viewPreferencesPanel = new ViewPreferencesPanel(true);
|
||||||
private final LinkedList<String[]> backList;
|
private final LinkedList<String[]> backList;
|
||||||
private final LinkedList<String[]> forwardList;
|
private final LinkedList<String[]> forwardList;
|
||||||
private static final String PREFERRED_ID = "DirectoryTreeTopComponent"; //NON-NLS
|
private static final String PREFERRED_ID = "DirectoryTreeTopComponent"; //NON-NLS
|
||||||
private static final Logger LOGGER = Logger.getLogger(DirectoryTreeTopComponent.class.getName());
|
private static final Logger LOGGER = Logger.getLogger(DirectoryTreeTopComponent.class.getName());
|
||||||
private AutopsyTreeChildFactory autopsyTreeChildFactory;
|
private AutopsyTreeChildFactory autopsyTreeChildFactory;
|
||||||
private Children autopsyTreeChildren;
|
private Children autopsyTreeChildren;
|
||||||
|
private Accounts accounts;
|
||||||
|
private boolean showRejectedResults;
|
||||||
private static final long DEFAULT_DATASOURCE_GROUPING_THRESHOLD = 5; // Threshold for prompting the user about grouping by data source
|
private static final long DEFAULT_DATASOURCE_GROUPING_THRESHOLD = 5; // Threshold for prompting the user about grouping by data source
|
||||||
private static final String GROUPING_THRESHOLD_NAME = "GroupDataSourceThreshold";
|
private static final String GROUPING_THRESHOLD_NAME = "GroupDataSourceThreshold";
|
||||||
private static final String SETTINGS_FILE = "CasePreferences.properties"; //NON-NLS
|
private static final String SETTINGS_FILE = "CasePreferences.properties"; //NON-NLS
|
||||||
@ -136,9 +144,25 @@ public final class DirectoryTreeTopComponent extends TopComponent implements Dat
|
|||||||
this.forwardList = new LinkedList<>();
|
this.forwardList = new LinkedList<>();
|
||||||
backButton.setEnabled(false);
|
backButton.setEnabled(false);
|
||||||
forwardButton.setEnabled(false);
|
forwardButton.setEnabled(false);
|
||||||
|
|
||||||
|
viewPreferencesPopupMenu.add(viewPreferencesPanel);
|
||||||
|
viewPreferencesPopupMenu.setSize(viewPreferencesPanel.getPreferredSize().width + 6, viewPreferencesPanel.getPreferredSize().height + 6);
|
||||||
|
viewPreferencesPopupMenu.addPopupMenuListener(new PopupMenuListener() {
|
||||||
|
@Override
|
||||||
|
public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
|
||||||
|
openViewPreferencesButton.setSelected(true);
|
||||||
|
}
|
||||||
|
|
||||||
groupByDatasourceCheckBox.setSelected(UserPreferences.groupItemsInTreeByDatasource());
|
@Override
|
||||||
showOnlyCurrentUserTagsCheckbox.setSelected(UserPreferences.showOnlyCurrentUserTags());
|
public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
|
||||||
|
openViewPreferencesButton.setSelected(false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void popupMenuCanceled(PopupMenuEvent e) {
|
||||||
|
openViewPreferencesButton.setSelected(false);
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -151,7 +175,6 @@ public final class DirectoryTreeTopComponent extends TopComponent implements Dat
|
|||||||
switch (evt.getKey()) {
|
switch (evt.getKey()) {
|
||||||
case UserPreferences.HIDE_KNOWN_FILES_IN_DATA_SRCS_TREE:
|
case UserPreferences.HIDE_KNOWN_FILES_IN_DATA_SRCS_TREE:
|
||||||
case UserPreferences.HIDE_SLACK_FILES_IN_DATA_SRCS_TREE:
|
case UserPreferences.HIDE_SLACK_FILES_IN_DATA_SRCS_TREE:
|
||||||
case UserPreferences.GROUP_ITEMS_IN_TREE_BY_DATASOURCE:
|
|
||||||
refreshContentTreeSafe();
|
refreshContentTreeSafe();
|
||||||
break;
|
break;
|
||||||
case UserPreferences.SHOW_ONLY_CURRENT_USER_TAGS:
|
case UserPreferences.SHOW_ONLY_CURRENT_USER_TAGS:
|
||||||
@ -182,6 +205,28 @@ public final class DirectoryTreeTopComponent extends TopComponent implements Dat
|
|||||||
public DataResultTopComponent getDirectoryListing() {
|
public DataResultTopComponent getDirectoryListing() {
|
||||||
return this.dataResult;
|
return this.dataResult;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show rejected results?
|
||||||
|
*
|
||||||
|
* @return True if showing rejected results; otherwise false.
|
||||||
|
*/
|
||||||
|
public boolean getShowRejectedResults() {
|
||||||
|
return showRejectedResults;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Setter to determine if rejected results should be shown or not.
|
||||||
|
*
|
||||||
|
* @param showRejectedResults True if showing rejected results; otherwise
|
||||||
|
* false.
|
||||||
|
*/
|
||||||
|
public void setShowRejectedResults(boolean showRejectedResults) {
|
||||||
|
this.showRejectedResults = showRejectedResults;
|
||||||
|
if (accounts != null) {
|
||||||
|
accounts.setShowRejected(showRejectedResults);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This method is called from within the constructor to initialize the form.
|
* This method is called from within the constructor to initialize the form.
|
||||||
@ -191,12 +236,11 @@ public final class DirectoryTreeTopComponent extends TopComponent implements Dat
|
|||||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||||
private void initComponents() {
|
private void initComponents() {
|
||||||
|
|
||||||
|
viewPreferencesPopupMenu = new javax.swing.JPopupMenu();
|
||||||
treeView = new BeanTreeView();
|
treeView = new BeanTreeView();
|
||||||
backButton = new javax.swing.JButton();
|
backButton = new javax.swing.JButton();
|
||||||
forwardButton = new javax.swing.JButton();
|
forwardButton = new javax.swing.JButton();
|
||||||
showRejectedCheckBox = new javax.swing.JCheckBox();
|
openViewPreferencesButton = new javax.swing.JButton();
|
||||||
groupByDatasourceCheckBox = new javax.swing.JCheckBox();
|
|
||||||
showOnlyCurrentUserTagsCheckbox = new javax.swing.JCheckBox();
|
|
||||||
|
|
||||||
treeView.setBorder(null);
|
treeView.setBorder(null);
|
||||||
|
|
||||||
@ -232,19 +276,13 @@ public final class DirectoryTreeTopComponent extends TopComponent implements Dat
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(showRejectedCheckBox, org.openide.util.NbBundle.getMessage(DirectoryTreeTopComponent.class, "DirectoryTreeTopComponent.showRejectedCheckBox.text")); // NOI18N
|
openViewPreferencesButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/directorytree/view-preferences-24.png"))); // NOI18N
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(openViewPreferencesButton, org.openide.util.NbBundle.getMessage(DirectoryTreeTopComponent.class, "DirectoryTreeTopComponent.openViewPreferencesButton.text")); // NOI18N
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(groupByDatasourceCheckBox, org.openide.util.NbBundle.getMessage(DirectoryTreeTopComponent.class, "DirectoryTreeTopComponent.groupByDatasourceCheckBox.text")); // NOI18N
|
openViewPreferencesButton.setBorder(new javax.swing.border.SoftBevelBorder(javax.swing.border.BevelBorder.RAISED));
|
||||||
groupByDatasourceCheckBox.addActionListener(new java.awt.event.ActionListener() {
|
openViewPreferencesButton.setPreferredSize(new java.awt.Dimension(30, 30));
|
||||||
|
openViewPreferencesButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
groupByDatasourceCheckBoxActionPerformed(evt);
|
openViewPreferencesButtonActionPerformed(evt);
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(showOnlyCurrentUserTagsCheckbox, org.openide.util.NbBundle.getMessage(DirectoryTreeTopComponent.class, "DirectoryTreeTopComponent.showOnlyCurrentUserTagsCheckbox.text")); // NOI18N
|
|
||||||
showOnlyCurrentUserTagsCheckbox.addActionListener(new java.awt.event.ActionListener() {
|
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
|
||||||
showOnlyCurrentUserTagsCheckboxActionPerformed(evt);
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -257,33 +295,20 @@ public final class DirectoryTreeTopComponent extends TopComponent implements Dat
|
|||||||
.addComponent(backButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(backButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(forwardButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(forwardButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addGap(18, 18, 18)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 264, Short.MAX_VALUE)
|
||||||
.addComponent(showOnlyCurrentUserTagsCheckbox, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
.addComponent(openViewPreferencesButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
||||||
.addComponent(showRejectedCheckBox)
|
|
||||||
.addComponent(groupByDatasourceCheckBox))
|
|
||||||
.addContainerGap())
|
.addContainerGap())
|
||||||
);
|
);
|
||||||
layout.setVerticalGroup(
|
layout.setVerticalGroup(
|
||||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(layout.createSequentialGroup()
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addContainerGap()
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(layout.createSequentialGroup()
|
.addComponent(backButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addGap(5, 5, 5)
|
.addComponent(forwardButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
.addComponent(openViewPreferencesButton, javax.swing.GroupLayout.PREFERRED_SIZE, 31, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||||
.addComponent(showRejectedCheckBox)
|
|
||||||
.addComponent(showOnlyCurrentUserTagsCheckbox))
|
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
||||||
.addComponent(groupByDatasourceCheckBox))
|
|
||||||
.addGroup(layout.createSequentialGroup()
|
|
||||||
.addContainerGap()
|
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
|
||||||
.addComponent(forwardButton, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
|
||||||
.addComponent(backButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))))
|
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(treeView, javax.swing.GroupLayout.DEFAULT_SIZE, 843, Short.MAX_VALUE)
|
.addComponent(treeView, javax.swing.GroupLayout.DEFAULT_SIZE, 900, Short.MAX_VALUE))
|
||||||
.addGap(0, 0, 0))
|
|
||||||
);
|
);
|
||||||
}// </editor-fold>//GEN-END:initComponents
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
@ -336,21 +361,17 @@ public final class DirectoryTreeTopComponent extends TopComponent implements Dat
|
|||||||
this.setCursor(null);
|
this.setCursor(null);
|
||||||
}//GEN-LAST:event_forwardButtonActionPerformed
|
}//GEN-LAST:event_forwardButtonActionPerformed
|
||||||
|
|
||||||
private void groupByDatasourceCheckBoxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_groupByDatasourceCheckBoxActionPerformed
|
private void openViewPreferencesButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_openViewPreferencesButtonActionPerformed
|
||||||
UserPreferences.setGroupItemsInTreeByDatasource(this.groupByDatasourceCheckBox.isSelected());
|
viewPreferencesPanel.load();
|
||||||
}//GEN-LAST:event_groupByDatasourceCheckBoxActionPerformed
|
viewPreferencesPopupMenu.show(openViewPreferencesButton, 0, openViewPreferencesButton.getHeight() - 1);
|
||||||
|
}//GEN-LAST:event_openViewPreferencesButtonActionPerformed
|
||||||
private void showOnlyCurrentUserTagsCheckboxActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_showOnlyCurrentUserTagsCheckboxActionPerformed
|
|
||||||
UserPreferences.setShowOnlyCurrentUserTags(this.showOnlyCurrentUserTagsCheckbox.isSelected());
|
|
||||||
}//GEN-LAST:event_showOnlyCurrentUserTagsCheckboxActionPerformed
|
|
||||||
|
|
||||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
private javax.swing.JButton backButton;
|
private javax.swing.JButton backButton;
|
||||||
private javax.swing.JButton forwardButton;
|
private javax.swing.JButton forwardButton;
|
||||||
private javax.swing.JCheckBox groupByDatasourceCheckBox;
|
private javax.swing.JButton openViewPreferencesButton;
|
||||||
private javax.swing.JCheckBox showOnlyCurrentUserTagsCheckbox;
|
|
||||||
private javax.swing.JCheckBox showRejectedCheckBox;
|
|
||||||
private javax.swing.JScrollPane treeView;
|
private javax.swing.JScrollPane treeView;
|
||||||
|
private javax.swing.JPopupMenu viewPreferencesPopupMenu;
|
||||||
// End of variables declaration//GEN-END:variables
|
// End of variables declaration//GEN-END:variables
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -406,43 +427,17 @@ public final class DirectoryTreeTopComponent extends TopComponent implements Dat
|
|||||||
* Ask the user if they want to group by data source when opening a large
|
* Ask the user if they want to group by data source when opening a large
|
||||||
* case.
|
* case.
|
||||||
*
|
*
|
||||||
* @param currentCase
|
* @param dataSourceCount The number of data sources in the case.
|
||||||
* @param dataSourceCount
|
|
||||||
*/
|
*/
|
||||||
private void promptForDataSourceGrouping(Case currentCase, int dataSourceCount) {
|
private void promptForDataSourceGrouping(int dataSourceCount) {
|
||||||
Path settingsFile = Paths.get(currentCase.getConfigDirectory(), SETTINGS_FILE); //NON-NLS
|
if (CasePreferences.getGroupItemsInTreeByDataSource() == null) {
|
||||||
if (settingsFile.toFile().exists()) {
|
|
||||||
// Read the setting
|
|
||||||
try (InputStream inputStream = Files.newInputStream(settingsFile)) {
|
|
||||||
Properties props = new Properties();
|
|
||||||
props.load(inputStream);
|
|
||||||
if (props.getProperty("groupByDataSource", "false").equals("true")) {
|
|
||||||
UserPreferences.setGroupItemsInTreeByDatasource(true);
|
|
||||||
groupByDatasourceCheckBox.setSelected(true);
|
|
||||||
}
|
|
||||||
} catch (IOException ex) {
|
|
||||||
LOGGER.log(Level.SEVERE, "Error reading settings file", ex);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
GroupDataSourcesDialog dialog = new GroupDataSourcesDialog(dataSourceCount);
|
GroupDataSourcesDialog dialog = new GroupDataSourcesDialog(dataSourceCount);
|
||||||
dialog.display();
|
dialog.display();
|
||||||
if (dialog.groupByDataSourceSelected()) {
|
if (dialog.groupByDataSourceSelected()) {
|
||||||
UserPreferences.setGroupItemsInTreeByDatasource(true);
|
CasePreferences.setGroupItemsInTreeByDataSource(true);
|
||||||
groupByDatasourceCheckBox.setSelected(true);
|
refreshContentTreeSafe();
|
||||||
}
|
|
||||||
|
|
||||||
// Save the response
|
|
||||||
Properties props = new Properties();
|
|
||||||
if (dialog.groupByDataSourceSelected()) {
|
|
||||||
props.setProperty("groupByDataSource", "true");
|
|
||||||
} else {
|
} else {
|
||||||
props.setProperty("groupByDataSource", "false");
|
CasePreferences.setGroupItemsInTreeByDataSource(false);
|
||||||
}
|
|
||||||
|
|
||||||
try (OutputStream fos = Files.newOutputStream(settingsFile)) {
|
|
||||||
props.store(fos, ""); //NON-NLS
|
|
||||||
} catch (IOException ex) {
|
|
||||||
LOGGER.log(Level.SEVERE, "Error writing settings file", ex);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -488,9 +483,9 @@ public final class DirectoryTreeTopComponent extends TopComponent implements Dat
|
|||||||
|
|
||||||
try {
|
try {
|
||||||
int dataSourceCount = currentCase.getDataSources().size();
|
int dataSourceCount = currentCase.getDataSources().size();
|
||||||
if (!UserPreferences.groupItemsInTreeByDatasource()
|
if (!Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)
|
||||||
&& dataSourceCount > threshold) {
|
&& dataSourceCount > threshold) {
|
||||||
promptForDataSourceGrouping(currentCase, dataSourceCount);
|
promptForDataSourceGrouping(dataSourceCount);
|
||||||
}
|
}
|
||||||
} catch (TskCoreException ex) {
|
} catch (TskCoreException ex) {
|
||||||
LOGGER.log(Level.SEVERE, "Error loading data sources", ex);
|
LOGGER.log(Level.SEVERE, "Error loading data sources", ex);
|
||||||
@ -545,11 +540,7 @@ public final class DirectoryTreeTopComponent extends TopComponent implements Dat
|
|||||||
Children resultsChildren = results.getChildren();
|
Children resultsChildren = results.getChildren();
|
||||||
Arrays.stream(resultsChildren.getNodes()).forEach(tree::expandNode);
|
Arrays.stream(resultsChildren.getNodes()).forEach(tree::expandNode);
|
||||||
|
|
||||||
Accounts accounts = resultsChildren.findChild(Accounts.NAME).getLookup().lookup(Accounts.class);
|
accounts = resultsChildren.findChild(Accounts.NAME).getLookup().lookup(Accounts.class);
|
||||||
if (!Objects.isNull(accounts)) {
|
|
||||||
showRejectedCheckBox.setAction(accounts.newToggleShowRejectedAction());
|
|
||||||
showRejectedCheckBox.setSelected(false);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Node views = rootChildren.findChild(ViewsNode.NAME);
|
Node views = rootChildren.findChild(ViewsNode.NAME);
|
||||||
@ -917,8 +908,12 @@ public final class DirectoryTreeTopComponent extends TopComponent implements Dat
|
|||||||
*/
|
*/
|
||||||
private void refreshTagsTree() {
|
private void refreshTagsTree() {
|
||||||
SwingUtilities.invokeLater(() -> {
|
SwingUtilities.invokeLater(() -> {
|
||||||
// if no open case or has no data then there is no tree to rebuild
|
// Ensure the component children have been created first.
|
||||||
if (UserPreferences.groupItemsInTreeByDatasource()) {
|
if (autopsyTreeChildren == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)) {
|
||||||
for (Node dataSource : autopsyTreeChildren.getNodes()) {
|
for (Node dataSource : autopsyTreeChildren.getNodes()) {
|
||||||
Node tagsNode = dataSource.getChildren().findChild(Tags.getTagsDisplayName());
|
Node tagsNode = dataSource.getChildren().findChild(Tags.getTagsDisplayName());
|
||||||
if (tagsNode != null) {
|
if (tagsNode != null) {
|
||||||
|
@ -34,7 +34,7 @@ import org.openide.util.Lookup;
|
|||||||
iconBase = "org/sleuthkit/autopsy/directorytree/external-viewer-rules-32x32.png",
|
iconBase = "org/sleuthkit/autopsy/directorytree/external-viewer-rules-32x32.png",
|
||||||
keywords = "#OptionsCategory_Keywords_ExternalViewer",
|
keywords = "#OptionsCategory_Keywords_ExternalViewer",
|
||||||
keywordsCategory = "ExternalViewer",
|
keywordsCategory = "ExternalViewer",
|
||||||
position = 12
|
position = 13
|
||||||
)
|
)
|
||||||
public final class ExternalViewerOptionsPanelController extends OptionsPanelController {
|
public final class ExternalViewerOptionsPanelController extends OptionsPanelController {
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* Autopsy Forensic Browser
|
* Autopsy Forensic Browser
|
||||||
*
|
*
|
||||||
* Copyright 2011-2017 Basis Technology Corp.
|
* Copyright 2011-2018 Basis Technology Corp.
|
||||||
* Contact: carrier <at> sleuthkit <dot> org
|
* Contact: carrier <at> sleuthkit <dot> org
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
@ -35,6 +35,7 @@ import org.openide.nodes.Children;
|
|||||||
import org.openide.nodes.Node;
|
import org.openide.nodes.Node;
|
||||||
import org.openide.util.NbBundle.Messages;
|
import org.openide.util.NbBundle.Messages;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.CasePreferences;
|
||||||
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
||||||
import org.sleuthkit.autopsy.core.UserPreferences;
|
import org.sleuthkit.autopsy.core.UserPreferences;
|
||||||
import org.sleuthkit.autopsy.coreutils.MessageNotifyUtil;
|
import org.sleuthkit.autopsy.coreutils.MessageNotifyUtil;
|
||||||
@ -138,9 +139,8 @@ public class ViewContextAction extends AbstractAction {
|
|||||||
*/
|
*/
|
||||||
DirectoryTreeTopComponent treeViewTopComponent = DirectoryTreeTopComponent.findInstance();
|
DirectoryTreeTopComponent treeViewTopComponent = DirectoryTreeTopComponent.findInstance();
|
||||||
ExplorerManager treeViewExplorerMgr = treeViewTopComponent.getExplorerManager();
|
ExplorerManager treeViewExplorerMgr = treeViewTopComponent.getExplorerManager();
|
||||||
|
|
||||||
Node parentTreeViewNode;
|
Node parentTreeViewNode;
|
||||||
if (UserPreferences.groupItemsInTreeByDatasource()) { // 'Group by Data Source' view
|
if (Objects.equals(CasePreferences.getGroupItemsInTreeByDataSource(), true)) { // 'Group by Data Source' view
|
||||||
|
|
||||||
SleuthkitCase skCase;
|
SleuthkitCase skCase;
|
||||||
String dsname;
|
String dsname;
|
||||||
@ -162,7 +162,7 @@ public class ViewContextAction extends AbstractAction {
|
|||||||
logger.log(Level.SEVERE, "Failed to locate data source node in tree."); //NON-NLS
|
logger.log(Level.SEVERE, "Failed to locate data source node in tree."); //NON-NLS
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
} catch (NoCurrentCaseException| TskDataException | TskCoreException ex) {
|
} catch (NoCurrentCaseException | TskDataException | TskCoreException ex) {
|
||||||
MessageNotifyUtil.Message.error(Bundle.ViewContextAction_errorMessage_cannotFindNode());
|
MessageNotifyUtil.Message.error(Bundle.ViewContextAction_errorMessage_cannotFindNode());
|
||||||
logger.log(Level.SEVERE, "Failed to locate data source node in tree.", ex); //NON-NLS
|
logger.log(Level.SEVERE, "Failed to locate data source node in tree.", ex); //NON-NLS
|
||||||
return;
|
return;
|
||||||
|
BIN
Core/src/org/sleuthkit/autopsy/directorytree/view-preferences-24.png
Executable file
BIN
Core/src/org/sleuthkit/autopsy/directorytree/view-preferences-24.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 2.0 KiB |
BIN
Core/src/org/sleuthkit/autopsy/images/view-preferences-32.png
Executable file
BIN
Core/src/org/sleuthkit/autopsy/images/view-preferences-32.png
Executable file
Binary file not shown.
After Width: | Height: | Size: 873 B |
@ -30,7 +30,7 @@ import org.openide.util.Lookup;
|
|||||||
@OptionsPanelController.TopLevelRegistration(
|
@OptionsPanelController.TopLevelRegistration(
|
||||||
categoryName = "#OptionsCategory_Name_IngestOptions",
|
categoryName = "#OptionsCategory_Name_IngestOptions",
|
||||||
iconBase = "org/sleuthkit/autopsy/images/file_ingest_filter32x32.png",
|
iconBase = "org/sleuthkit/autopsy/images/file_ingest_filter32x32.png",
|
||||||
position = 2,
|
position = 3,
|
||||||
keywords = "#OptionsCategory_Keywords_IngestOptions",
|
keywords = "#OptionsCategory_Keywords_IngestOptions",
|
||||||
keywordsCategory = "IngestOptions")
|
keywordsCategory = "IngestOptions")
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ import org.sleuthkit.autopsy.coreutils.Logger;
|
|||||||
@OptionsPanelController.TopLevelRegistration(
|
@OptionsPanelController.TopLevelRegistration(
|
||||||
categoryName = "#OptionsCategory_Name_FileExtMismatchOptions",
|
categoryName = "#OptionsCategory_Name_FileExtMismatchOptions",
|
||||||
iconBase = "org/sleuthkit/autopsy/modules/fileextmismatch/options-icon.png",
|
iconBase = "org/sleuthkit/autopsy/modules/fileextmismatch/options-icon.png",
|
||||||
position = 8,
|
position = 9,
|
||||||
keywords = "#OptionsCategory_FileExtMismatch",
|
keywords = "#OptionsCategory_FileExtMismatch",
|
||||||
keywordsCategory = "KeywordSearchOptions")
|
keywordsCategory = "KeywordSearchOptions")
|
||||||
public final class FileExtMismatchOptionsPanelController extends OptionsPanelController {
|
public final class FileExtMismatchOptionsPanelController extends OptionsPanelController {
|
||||||
|
@ -31,7 +31,7 @@ import org.openide.util.Lookup;
|
|||||||
iconBase = "org/sleuthkit/autopsy/modules/filetypeid/user-defined-file-types-settings.png",
|
iconBase = "org/sleuthkit/autopsy/modules/filetypeid/user-defined-file-types-settings.png",
|
||||||
keywords = "#OptionsCategory_Keywords_FileTypeId",
|
keywords = "#OptionsCategory_Keywords_FileTypeId",
|
||||||
keywordsCategory = "FileTypeId",
|
keywordsCategory = "FileTypeId",
|
||||||
position = 9
|
position = 10
|
||||||
)
|
)
|
||||||
public final class FileTypeIdOptionsPanelController extends OptionsPanelController {
|
public final class FileTypeIdOptionsPanelController extends OptionsPanelController {
|
||||||
|
|
||||||
|
@ -30,7 +30,7 @@ import org.sleuthkit.autopsy.coreutils.Logger;
|
|||||||
@OptionsPanelController.TopLevelRegistration(
|
@OptionsPanelController.TopLevelRegistration(
|
||||||
categoryName = "#OptionsCategory_Name_HashDatabase",
|
categoryName = "#OptionsCategory_Name_HashDatabase",
|
||||||
iconBase = "org/sleuthkit/autopsy/modules/hashdatabase/options_icon.png",
|
iconBase = "org/sleuthkit/autopsy/modules/hashdatabase/options_icon.png",
|
||||||
position = 7,
|
position = 8,
|
||||||
keywords = "#OptionsCategory_Keywords_HashDatabase",
|
keywords = "#OptionsCategory_Keywords_HashDatabase",
|
||||||
keywordsCategory = "HashDatabase",
|
keywordsCategory = "HashDatabase",
|
||||||
id = "HashDatabase")
|
id = "HashDatabase")
|
||||||
|
@ -32,7 +32,7 @@ import org.openide.util.Lookup;
|
|||||||
iconBase = "org/sleuthkit/autopsy/images/interesting_item_32x32.png",
|
iconBase = "org/sleuthkit/autopsy/images/interesting_item_32x32.png",
|
||||||
keywords = "#OptionsCategory_Keywords_InterestingItemDefinitions",
|
keywords = "#OptionsCategory_Keywords_InterestingItemDefinitions",
|
||||||
keywordsCategory = "InterestingItemDefinitions",
|
keywordsCategory = "InterestingItemDefinitions",
|
||||||
position = 10
|
position = 11
|
||||||
)
|
)
|
||||||
public final class InterestingItemDefsOptionsPanelController extends OptionsPanelController {
|
public final class InterestingItemDefsOptionsPanelController extends OptionsPanelController {
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@ import org.sleuthkit.autopsy.coreutils.Logger;
|
|||||||
|
|
||||||
@OptionsPanelController.TopLevelRegistration(categoryName = "#OptionsCategory_Name_Auto_Ingest",
|
@OptionsPanelController.TopLevelRegistration(categoryName = "#OptionsCategory_Name_Auto_Ingest",
|
||||||
iconBase = "org/sleuthkit/autopsy/experimental/images/autoIngest32.png",
|
iconBase = "org/sleuthkit/autopsy/experimental/images/autoIngest32.png",
|
||||||
position = 4,
|
position = 5,
|
||||||
keywords = "#OptionsCategory_Keywords_Auto_Ingest_Settings",
|
keywords = "#OptionsCategory_Keywords_Auto_Ingest_Settings",
|
||||||
keywordsCategory = "Auto Ingest")
|
keywordsCategory = "Auto Ingest")
|
||||||
public final class AutoIngestSettingsPanelController extends OptionsPanelController {
|
public final class AutoIngestSettingsPanelController extends OptionsPanelController {
|
||||||
|
@ -102,7 +102,6 @@ public class SharedConfiguration {
|
|||||||
private boolean hideKnownFilesInViews;
|
private boolean hideKnownFilesInViews;
|
||||||
private boolean hideSlackFilesInDataSource;
|
private boolean hideSlackFilesInDataSource;
|
||||||
private boolean hideSlackFilesInViews;
|
private boolean hideSlackFilesInViews;
|
||||||
private boolean groupDatasources;
|
|
||||||
private boolean keepPreferredViewer;
|
private boolean keepPreferredViewer;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -353,7 +352,6 @@ public class SharedConfiguration {
|
|||||||
fileIngestThreads = UserPreferences.numberOfFileIngestThreads();
|
fileIngestThreads = UserPreferences.numberOfFileIngestThreads();
|
||||||
hideSlackFilesInDataSource = UserPreferences.hideSlackFilesInDataSourcesTree();
|
hideSlackFilesInDataSource = UserPreferences.hideSlackFilesInDataSourcesTree();
|
||||||
hideSlackFilesInViews = UserPreferences.hideSlackFilesInViewsTree();
|
hideSlackFilesInViews = UserPreferences.hideSlackFilesInViewsTree();
|
||||||
groupDatasources = UserPreferences.groupItemsInTreeByDatasource();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -369,8 +367,7 @@ public class SharedConfiguration {
|
|||||||
UserPreferences.setKeepPreferredContentViewer(keepPreferredViewer);
|
UserPreferences.setKeepPreferredContentViewer(keepPreferredViewer);
|
||||||
UserPreferences.setNumberOfFileIngestThreads(fileIngestThreads);
|
UserPreferences.setNumberOfFileIngestThreads(fileIngestThreads);
|
||||||
UserPreferences.setHideSlackFilesInDataSourcesTree(hideSlackFilesInDataSource);
|
UserPreferences.setHideSlackFilesInDataSourcesTree(hideSlackFilesInDataSource);
|
||||||
UserPreferences.setHideSlackFilesInViewsTree(hideSlackFilesInViews);
|
UserPreferences.setHideSlackFilesInViewsTree(hideSlackFilesInViews);
|
||||||
UserPreferences.setGroupItemsInTreeByDatasource(groupDatasources);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -34,7 +34,7 @@ import org.openide.util.Lookup;
|
|||||||
iconBase = "org/sleuthkit/autopsy/imagegallery/images/btn_icon_image_gallery_32.png",
|
iconBase = "org/sleuthkit/autopsy/imagegallery/images/btn_icon_image_gallery_32.png",
|
||||||
keywords = "#OptionsCategory_Keywords_Options",
|
keywords = "#OptionsCategory_Keywords_Options",
|
||||||
keywordsCategory = "Options",
|
keywordsCategory = "Options",
|
||||||
position = 14
|
position = 16
|
||||||
)
|
)
|
||||||
@org.openide.util.NbBundle.Messages({"OptionsCategory_Name_Options=Image / Video Gallery", "OptionsCategory_Keywords_Options=image video gallery category "})
|
@org.openide.util.NbBundle.Messages({"OptionsCategory_Name_Options=Image / Video Gallery", "OptionsCategory_Keywords_Options=image video gallery category "})
|
||||||
public final class ImageGalleryOptionsPanelController extends OptionsPanelController {
|
public final class ImageGalleryOptionsPanelController extends OptionsPanelController {
|
||||||
|
@ -30,7 +30,7 @@ import org.sleuthkit.autopsy.coreutils.Logger;
|
|||||||
@OptionsPanelController.TopLevelRegistration(
|
@OptionsPanelController.TopLevelRegistration(
|
||||||
categoryName = "#OptionsCategory_Name_KeywordSearchOptions",
|
categoryName = "#OptionsCategory_Name_KeywordSearchOptions",
|
||||||
iconBase = "org/sleuthkit/autopsy/keywordsearch/options-icon.png",
|
iconBase = "org/sleuthkit/autopsy/keywordsearch/options-icon.png",
|
||||||
position = 5,
|
position = 6,
|
||||||
keywords = "#OptionsCategory_Keywords_KeywordSearchOptions",
|
keywords = "#OptionsCategory_Keywords_KeywordSearchOptions",
|
||||||
keywordsCategory = "KeywordSearchOptions")
|
keywordsCategory = "KeywordSearchOptions")
|
||||||
public final class KeywordSearchOptionsPanelController extends OptionsPanelController {
|
public final class KeywordSearchOptionsPanelController extends OptionsPanelController {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user