mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-15 09:17:42 +00:00
Reworked 'Examiner' mode so it works without restart.
This commit is contained in:
parent
71cd591998
commit
cf6312cdb3
29
Core/src/org/sleuthkit/autopsy/casemodule/AutoIngestCasePanelInterface.java
Executable file
29
Core/src/org/sleuthkit/autopsy/casemodule/AutoIngestCasePanelInterface.java
Executable file
@ -0,0 +1,29 @@
|
|||||||
|
/*
|
||||||
|
* Autopsy Forensic Browser
|
||||||
|
*
|
||||||
|
* Copyright 2011-2017 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 javax.swing.JDialog;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Interface for startup window implementations
|
||||||
|
*/
|
||||||
|
public interface AutoIngestCasePanelInterface {
|
||||||
|
|
||||||
|
public void addWindowStateListener(JDialog parent);
|
||||||
|
}
|
@ -17,13 +17,7 @@ NewCaseVisualPanel1.jLabel2.text_1=Case data will be stored in the following dir
|
|||||||
NewCaseVisualPanel1.caseParentDirTextField.text=
|
NewCaseVisualPanel1.caseParentDirTextField.text=
|
||||||
NewCaseVisualPanel1.caseDirTextField.text_1=
|
NewCaseVisualPanel1.caseDirTextField.text_1=
|
||||||
CueBannerPanel.autopsyLogo.text=
|
CueBannerPanel.autopsyLogo.text=
|
||||||
CueBannerPanel.createNewLabel.text=Create New Case
|
|
||||||
CueBannerPanel.openLabel.text=Open Existing Case
|
|
||||||
CueBannerPanel.closeButton.text=Close
|
CueBannerPanel.closeButton.text=Close
|
||||||
CueBannerPanel.openRecentLabel.text=Open Recent Case
|
|
||||||
CueBannerPanel.newCaseButton.text=
|
|
||||||
CueBannerPanel.openCaseButton.text=
|
|
||||||
CueBannerPanel.openRecentButton.text=
|
|
||||||
OpenRecentCasePanel.cancelButton.text=Cancel
|
OpenRecentCasePanel.cancelButton.text=Cancel
|
||||||
OpenRecentCasePanel.jLabel1.text=Recent Cases
|
OpenRecentCasePanel.jLabel1.text=Recent Cases
|
||||||
NewCaseVisualPanel2.caseNumberTextField.text=
|
NewCaseVisualPanel2.caseNumberTextField.text=
|
||||||
@ -225,3 +219,11 @@ CasePropertiesPanel.lbDbType.text=Case Type:
|
|||||||
CasePropertiesPanel.examinerLabel.text=Examiner:
|
CasePropertiesPanel.examinerLabel.text=Examiner:
|
||||||
CasePropertiesPanel.caseNumberLabel.text=Case Number:
|
CasePropertiesPanel.caseNumberLabel.text=Case Number:
|
||||||
LocalDiskPanel.changeDatabasePathCheckbox.text=Update case to use VHD file upon completion
|
LocalDiskPanel.changeDatabasePathCheckbox.text=Update case to use VHD file upon completion
|
||||||
|
CueBannerPanel.openAutoIngestCaseButton.text=
|
||||||
|
CueBannerPanel.openExistingCaseButton.text=
|
||||||
|
CueBannerPanel.openRecentCaseButton.text=
|
||||||
|
CueBannerPanel.createNewCaseButton.text=
|
||||||
|
CueBannerPanel.createNewCaseLabel.text=Create New Case
|
||||||
|
CueBannerPanel.openRecentCaseLabel.text=Open Recent Case
|
||||||
|
CueBannerPanel.openExistingCaseLabel.text=Open Existing Case
|
||||||
|
CueBannerPanel.openAutoIngestCaseLabel.text=Open Auto Ingest Case
|
||||||
|
@ -12,10 +12,7 @@ NewCaseVisualPanel1.caseNameLabel.text_1=\u30b1\u30fc\u30b9\u540d\uff1a
|
|||||||
NewCaseVisualPanel1.caseDirLabel.text=\u30d9\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\uff1a
|
NewCaseVisualPanel1.caseDirLabel.text=\u30d9\u30fc\u30b9\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\uff1a
|
||||||
NewCaseVisualPanel1.caseDirBrowseButton.text=\u95b2\u89a7
|
NewCaseVisualPanel1.caseDirBrowseButton.text=\u95b2\u89a7
|
||||||
NewCaseVisualPanel1.jLabel2.text_1=\u30b1\u30fc\u30b9\u30c7\u30fc\u30bf\u306f\u6b21\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u4fdd\u5b58\u3055\u308c\u307e\u3059\uff1a
|
NewCaseVisualPanel1.jLabel2.text_1=\u30b1\u30fc\u30b9\u30c7\u30fc\u30bf\u306f\u6b21\u306e\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u4fdd\u5b58\u3055\u308c\u307e\u3059\uff1a
|
||||||
CueBannerPanel.createNewLabel.text=\u65b0\u898f\u30b1\u30fc\u30b9\u3092\u4f5c\u6210
|
|
||||||
CueBannerPanel.openLabel.text=\u65e2\u5b58\u30b1\u30fc\u30b9\u3092\u958b\u304f
|
|
||||||
CueBannerPanel.closeButton.text=\u9589\u3058\u308b
|
CueBannerPanel.closeButton.text=\u9589\u3058\u308b
|
||||||
CueBannerPanel.openRecentLabel.text=\u6700\u8fd1\u958b\u3044\u305f\u30b1\u30fc\u30b9\u3092\u958b\u304f
|
|
||||||
OpenRecentCasePanel.cancelButton.text=\u30ad\u30e3\u30f3\u30bb\u30eb
|
OpenRecentCasePanel.cancelButton.text=\u30ad\u30e3\u30f3\u30bb\u30eb
|
||||||
OpenRecentCasePanel.jLabel1.text=\u6700\u8fd1\u958b\u3044\u305f\u30d5\u30a1\u30a4\u30eb
|
OpenRecentCasePanel.jLabel1.text=\u6700\u8fd1\u958b\u3044\u305f\u30d5\u30a1\u30a4\u30eb
|
||||||
NewCaseVisualPanel2.examinerLabel.text=\u8abf\u67fb\u62c5\u5f53\u8005\uff1a
|
NewCaseVisualPanel2.examinerLabel.text=\u8abf\u67fb\u62c5\u5f53\u8005\uff1a
|
||||||
@ -196,3 +193,7 @@ CasePropertiesPanel.lbDbName.text=\u30c7\u30fc\u30bf\u30d9\u30fc\u30b9\u540d\uff
|
|||||||
CasePropertiesPanel.lbDbType.text=\u30b1\u30fc\u30b9\u30bf\u30a4\u30d7\uff1a
|
CasePropertiesPanel.lbDbType.text=\u30b1\u30fc\u30b9\u30bf\u30a4\u30d7\uff1a
|
||||||
CasePropertiesPanel.examinerLabel.text=\u8abf\u67fb\u62c5\u5f53\u8005\uff1a
|
CasePropertiesPanel.examinerLabel.text=\u8abf\u67fb\u62c5\u5f53\u8005\uff1a
|
||||||
CasePropertiesPanel.caseNumberLabel.text=\u30b1\u30fc\u30b9\u756a\u53f7\uff1a
|
CasePropertiesPanel.caseNumberLabel.text=\u30b1\u30fc\u30b9\u756a\u53f7\uff1a
|
||||||
|
CueBannerPanel.createNewCaseLabel.text=\u65b0\u898f\u30b1\u30fc\u30b9\u3092\u4f5c\u6210
|
||||||
|
CueBannerPanel.openRecentCaseLabel.text=\u6700\u8fd1\u958b\u3044\u305f\u30b1\u30fc\u30b9\u3092\u958b\u304f
|
||||||
|
CueBannerPanel.openExistingCaseLabel.text=\u65e2\u5b58\u30b1\u30fc\u30b9\u3092\u958b\u304f
|
||||||
|
CueBannerPanel.openAutoIngestCaseLabel.text=\u65e2\u5b58\u30b1\u30fc\u30b9\u3092\u958b\u304f
|
||||||
|
@ -16,23 +16,27 @@
|
|||||||
<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="0" attributes="0">
|
<Group type="102" attributes="0">
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Group type="102" alignment="0" attributes="0">
|
||||||
<Component id="autopsyLogo" min="-2" max="-2" attributes="0"/>
|
<Component id="autopsyLogo" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Component id="jSeparator1" min="-2" pref="5" max="-2" attributes="0"/>
|
<Component id="jSeparator1" min="-2" pref="5" max="-2" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="2" attributes="0">
|
<Group type="103" groupAlignment="2" attributes="0">
|
||||||
<Component id="newCaseButton" alignment="2" min="-2" max="-2" attributes="1"/>
|
<Component id="createNewCaseButton" alignment="2" min="-2" max="-2" attributes="1"/>
|
||||||
<Component id="openRecentButton" alignment="2" min="-2" pref="70" max="-2" attributes="1"/>
|
<Component id="openRecentCaseButton" alignment="2" min="-2" pref="70" max="-2" attributes="1"/>
|
||||||
<Component id="openCaseButton" alignment="2" min="-2" max="-2" attributes="1"/>
|
<Component id="openExistingCaseButton" alignment="2" min="-2" max="-2" attributes="1"/>
|
||||||
|
<Component id="openAutoIngestCaseButton" alignment="2" min="-2" max="-2" attributes="1"/>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Group type="103" alignment="1" groupAlignment="0" attributes="0">
|
<Component id="createNewCaseLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="createNewLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
<Component id="openRecentCaseLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="openRecentLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
<Component id="openExistingCaseLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="openLabel" alignment="0" min="-2" max="-2" attributes="0"/>
|
<Component id="openAutoIngestCaseLabel" min="-2" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
<Component id="closeButton" alignment="1" min="-2" pref="73" max="-2" attributes="0"/>
|
<Component id="closeButton" alignment="1" min="-2" pref="73" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
@ -47,25 +51,33 @@
|
|||||||
<Group type="103" groupAlignment="0" max="-2" attributes="0">
|
<Group type="103" groupAlignment="0" max="-2" attributes="0">
|
||||||
<Group type="102" attributes="0">
|
<Group type="102" attributes="0">
|
||||||
<Group type="103" groupAlignment="2" attributes="0">
|
<Group type="103" groupAlignment="2" attributes="0">
|
||||||
<Component id="newCaseButton" alignment="2" min="-2" pref="56" max="-2" attributes="0"/>
|
<Component id="createNewCaseButton" alignment="2" min="-2" pref="56" max="-2" attributes="0"/>
|
||||||
<Component id="createNewLabel" alignment="2" min="-2" max="-2" attributes="0"/>
|
<Component id="createNewCaseLabel" alignment="2" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="2" attributes="0">
|
<Group type="103" groupAlignment="2" attributes="0">
|
||||||
<Component id="openRecentButton" alignment="2" min="-2" pref="70" max="-2" attributes="0"/>
|
<Component id="openRecentCaseButton" alignment="2" min="-2" pref="70" max="-2" attributes="0"/>
|
||||||
<Component id="openRecentLabel" alignment="2" min="-2" max="-2" attributes="0"/>
|
<Component id="openRecentCaseLabel" alignment="2" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="2" attributes="0">
|
<Group type="103" groupAlignment="2" attributes="0">
|
||||||
<Component id="openCaseButton" alignment="2" min="-2" pref="58" max="-2" attributes="0"/>
|
<Component id="openExistingCaseButton" alignment="2" min="-2" pref="58" max="-2" attributes="0"/>
|
||||||
<Component id="openLabel" alignment="2" min="-2" max="-2" attributes="0"/>
|
<Component id="openExistingCaseLabel" alignment="2" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
<EmptySpace max="32767" attributes="0"/>
|
<EmptySpace max="32767" attributes="0"/>
|
||||||
<Component id="closeButton" min="-2" max="-2" attributes="0"/>
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
|
<Component id="openAutoIngestCaseButton" alignment="1" min="-2" pref="58" max="-2" attributes="0"/>
|
||||||
|
<Group type="102" alignment="1" attributes="0">
|
||||||
|
<Component id="openAutoIngestCaseLabel" min="-2" max="-2" attributes="0"/>
|
||||||
|
<EmptySpace min="-2" pref="20" max="-2" attributes="0"/>
|
||||||
|
</Group>
|
||||||
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
<Component id="jSeparator1" alignment="0" max="32767" attributes="0"/>
|
<Component id="jSeparator1" alignment="0" max="32767" attributes="0"/>
|
||||||
<Component id="autopsyLogo" alignment="0" min="-2" pref="257" max="-2" attributes="0"/>
|
<Component id="autopsyLogo" alignment="0" min="-2" pref="257" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
|
<EmptySpace pref="10" max="32767" attributes="0"/>
|
||||||
|
<Component id="closeButton" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
</Group>
|
</Group>
|
||||||
@ -85,13 +97,13 @@
|
|||||||
<AuxValue name="JavaCodeGenerator_CreateCodePost" type="java.lang.String" value="this.autopsyLogo.setText("");"/>
|
<AuxValue name="JavaCodeGenerator_CreateCodePost" type="java.lang.String" value="this.autopsyLogo.setText("");"/>
|
||||||
</AuxValues>
|
</AuxValues>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JButton" name="newCaseButton">
|
<Component class="javax.swing.JButton" name="createNewCaseButton">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
||||||
<Image iconType="3" name="/org/sleuthkit/autopsy/casemodule/btn_icon_create_new_case.png"/>
|
<Image iconType="3" name="/org/sleuthkit/autopsy/casemodule/btn_icon_create_new_case.png"/>
|
||||||
</Property>
|
</Property>
|
||||||
<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/casemodule/Bundle.properties" key="CueBannerPanel.newCaseButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CueBannerPanel.createNewCaseButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
|
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
|
||||||
<Connection code="null" type="code"/>
|
<Connection code="null" type="code"/>
|
||||||
@ -103,16 +115,16 @@
|
|||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="newCaseButtonActionPerformed"/>
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="createNewCaseButtonActionPerformed"/>
|
||||||
</Events>
|
</Events>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JButton" name="openRecentButton">
|
<Component class="javax.swing.JButton" name="openRecentCaseButton">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
||||||
<Image iconType="3" name="/org/sleuthkit/autopsy/casemodule/btn_icon_open_recent.png"/>
|
<Image iconType="3" name="/org/sleuthkit/autopsy/casemodule/btn_icon_open_recent.png"/>
|
||||||
</Property>
|
</Property>
|
||||||
<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/casemodule/Bundle.properties" key="CueBannerPanel.openRecentButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CueBannerPanel.openRecentCaseButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
|
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
|
||||||
<Connection code="null" type="code"/>
|
<Connection code="null" type="code"/>
|
||||||
@ -124,40 +136,40 @@
|
|||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="openRecentButtonActionPerformed"/>
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="openRecentCaseButtonActionPerformed"/>
|
||||||
</Events>
|
</Events>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JLabel" name="createNewLabel">
|
<Component class="javax.swing.JLabel" name="createNewCaseLabel">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||||
<FontInfo relative="true">
|
<FontInfo relative="true">
|
||||||
<Font bold="false" component="createNewLabel" property="font" relativeSize="false" size="13"/>
|
<Font bold="false" component="createNewCaseLabel" property="font" relativeSize="false" size="13"/>
|
||||||
</FontInfo>
|
</FontInfo>
|
||||||
</Property>
|
</Property>
|
||||||
<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/casemodule/Bundle.properties" key="CueBannerPanel.createNewLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CueBannerPanel.createNewCaseLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JLabel" name="openRecentLabel">
|
<Component class="javax.swing.JLabel" name="openRecentCaseLabel">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||||
<FontInfo relative="true">
|
<FontInfo relative="true">
|
||||||
<Font bold="false" component="openRecentLabel" property="font" relativeSize="false" size="13"/>
|
<Font bold="false" component="openRecentCaseLabel" property="font" relativeSize="false" size="13"/>
|
||||||
</FontInfo>
|
</FontInfo>
|
||||||
</Property>
|
</Property>
|
||||||
<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/casemodule/Bundle.properties" key="CueBannerPanel.openRecentLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CueBannerPanel.openRecentCaseLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JButton" name="openCaseButton">
|
<Component class="javax.swing.JButton" name="openExistingCaseButton">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
||||||
<Image iconType="3" name="/org/sleuthkit/autopsy/casemodule/btn_icon_open_existing.png"/>
|
<Image iconType="3" name="/org/sleuthkit/autopsy/casemodule/btn_icon_open_existing.png"/>
|
||||||
</Property>
|
</Property>
|
||||||
<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/casemodule/Bundle.properties" key="CueBannerPanel.openCaseButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CueBannerPanel.openExistingCaseButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
|
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
|
||||||
<Connection code="null" type="code"/>
|
<Connection code="null" type="code"/>
|
||||||
@ -172,18 +184,18 @@
|
|||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
<Events>
|
<Events>
|
||||||
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="openCaseButtonActionPerformed"/>
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="openExistingCaseButtonActionPerformed"/>
|
||||||
</Events>
|
</Events>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JLabel" name="openLabel">
|
<Component class="javax.swing.JLabel" name="openExistingCaseLabel">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||||
<FontInfo relative="true">
|
<FontInfo relative="true">
|
||||||
<Font bold="false" component="openLabel" property="font" relativeSize="false" size="13"/>
|
<Font bold="false" component="openExistingCaseLabel" property="font" relativeSize="false" size="13"/>
|
||||||
</FontInfo>
|
</FontInfo>
|
||||||
</Property>
|
</Property>
|
||||||
<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/casemodule/Bundle.properties" key="CueBannerPanel.openLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CueBannerPanel.openExistingCaseLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
@ -204,5 +216,41 @@
|
|||||||
<Property name="orientation" type="int" value="1"/>
|
<Property name="orientation" type="int" value="1"/>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
|
<Component class="javax.swing.JButton" name="openAutoIngestCaseButton">
|
||||||
|
<Properties>
|
||||||
|
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
||||||
|
<Image iconType="3" name="/org/sleuthkit/autopsy/casemodule/btn_icon_open_existing.png"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CueBannerPanel.openAutoIngestCaseButton.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
|
||||||
|
<Connection code="null" type="code"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="borderPainted" type="boolean" value="false"/>
|
||||||
|
<Property name="contentAreaFilled" type="boolean" value="false"/>
|
||||||
|
<Property name="margin" type="java.awt.Insets" editor="org.netbeans.beaninfo.editors.InsetsEditor">
|
||||||
|
<Insets value="[1, 1, 1, 1]"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="preferredSize" type="java.awt.Dimension" editor="org.netbeans.beaninfo.editors.DimensionEditor">
|
||||||
|
<Dimension value="[64, 64]"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Events>
|
||||||
|
<EventHandler event="actionPerformed" listener="java.awt.event.ActionListener" parameters="java.awt.event.ActionEvent" handler="openAutoIngestCaseButtonActionPerformed"/>
|
||||||
|
</Events>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JLabel" name="openAutoIngestCaseLabel">
|
||||||
|
<Properties>
|
||||||
|
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.editors2.FontEditor">
|
||||||
|
<FontInfo relative="true">
|
||||||
|
<Font bold="false" component="openAutoIngestCaseLabel" property="font" relativeSize="false" size="13"/>
|
||||||
|
</FontInfo>
|
||||||
|
</Property>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/Bundle.properties" key="CueBannerPanel.openAutoIngestCaseLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
</Component>
|
||||||
</SubComponents>
|
</SubComponents>
|
||||||
</Form>
|
</Form>
|
||||||
|
@ -26,10 +26,14 @@ import java.awt.event.KeyEvent;
|
|||||||
import javax.swing.ImageIcon;
|
import javax.swing.ImageIcon;
|
||||||
import javax.swing.JComponent;
|
import javax.swing.JComponent;
|
||||||
import javax.swing.JDialog;
|
import javax.swing.JDialog;
|
||||||
|
import javax.swing.JPanel;
|
||||||
import javax.swing.KeyStroke;
|
import javax.swing.KeyStroke;
|
||||||
import org.openide.util.Lookup;
|
import org.openide.util.Lookup;
|
||||||
import org.openide.util.NbBundle;
|
import org.openide.util.NbBundle;
|
||||||
import org.openide.windows.WindowManager;
|
import org.openide.windows.WindowManager;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.AutoIngestCasePanelInterface;
|
||||||
|
import org.sleuthkit.autopsy.core.UserPreferences;
|
||||||
|
import org.sleuthkit.autopsy.coreutils.NetworkUtils;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The panel in the default Autopsy startup window.
|
* The panel in the default Autopsy startup window.
|
||||||
@ -37,11 +41,14 @@ import org.openide.windows.WindowManager;
|
|||||||
public class CueBannerPanel extends javax.swing.JPanel {
|
public class CueBannerPanel extends javax.swing.JPanel {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
private static final String LOCAL_HOST_NAME = NetworkUtils.getLocalHostName();
|
||||||
|
private static final String REVIEW_MODE_TITLE = "Cases" + " (" + LOCAL_HOST_NAME + ")";
|
||||||
/*
|
/*
|
||||||
* This is field is static for the sake of the closeOpenRecentCasesWindow
|
* This is field is static for the sake of the closeOpenRecentCasesWindow
|
||||||
* method.
|
* method.
|
||||||
*/
|
*/
|
||||||
private static JDialog recentCasesWindow;
|
private static JDialog recentCasesWindow;
|
||||||
|
private static JDialog autoIngestCasePanelWindow;
|
||||||
|
|
||||||
public static void closeOpenRecentCasesWindow() {
|
public static void closeOpenRecentCasesWindow() {
|
||||||
if (null != recentCasesWindow) {
|
if (null != recentCasesWindow) {
|
||||||
@ -102,13 +109,13 @@ public class CueBannerPanel extends javax.swing.JPanel {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void enableComponents() {
|
private void enableComponents() {
|
||||||
if (RecentCases.getInstance().getTotalRecentCases() == 0) {
|
boolean enableOpenRecentCaseButton = (RecentCases.getInstance().getTotalRecentCases() == 0);
|
||||||
openRecentButton.setEnabled(false);
|
openRecentCaseButton.setEnabled(enableOpenRecentCaseButton);
|
||||||
openRecentLabel.setEnabled(false);
|
openRecentCaseLabel.setEnabled(enableOpenRecentCaseButton);
|
||||||
} else {
|
|
||||||
openRecentButton.setEnabled(true);
|
boolean showOpenAutoIngestCaseButton = (UserPreferences.getMode() == UserPreferences.SelectedMode.REVIEW);
|
||||||
openRecentLabel.setEnabled(true);
|
openAutoIngestCaseButton.setVisible(showOpenAutoIngestCaseButton);
|
||||||
}
|
openAutoIngestCaseLabel.setVisible(showOpenAutoIngestCaseButton);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -122,89 +129,110 @@ public class CueBannerPanel extends javax.swing.JPanel {
|
|||||||
|
|
||||||
autopsyLogo = new javax.swing.JLabel();
|
autopsyLogo = new javax.swing.JLabel();
|
||||||
this.autopsyLogo.setText("");
|
this.autopsyLogo.setText("");
|
||||||
newCaseButton = new javax.swing.JButton();
|
createNewCaseButton = new javax.swing.JButton();
|
||||||
openRecentButton = new javax.swing.JButton();
|
openRecentCaseButton = new javax.swing.JButton();
|
||||||
createNewLabel = new javax.swing.JLabel();
|
createNewCaseLabel = new javax.swing.JLabel();
|
||||||
openRecentLabel = new javax.swing.JLabel();
|
openRecentCaseLabel = new javax.swing.JLabel();
|
||||||
openCaseButton = new javax.swing.JButton();
|
openExistingCaseButton = new javax.swing.JButton();
|
||||||
openLabel = new javax.swing.JLabel();
|
openExistingCaseLabel = new javax.swing.JLabel();
|
||||||
closeButton = new javax.swing.JButton();
|
closeButton = new javax.swing.JButton();
|
||||||
jSeparator1 = new javax.swing.JSeparator();
|
jSeparator1 = new javax.swing.JSeparator();
|
||||||
|
openAutoIngestCaseButton = new javax.swing.JButton();
|
||||||
|
openAutoIngestCaseLabel = new javax.swing.JLabel();
|
||||||
|
|
||||||
autopsyLogo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/welcome_logo.png"))); // NOI18N
|
autopsyLogo.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/welcome_logo.png"))); // NOI18N
|
||||||
autopsyLogo.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.autopsyLogo.text")); // NOI18N
|
autopsyLogo.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.autopsyLogo.text")); // NOI18N
|
||||||
|
|
||||||
newCaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/btn_icon_create_new_case.png"))); // NOI18N
|
createNewCaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/btn_icon_create_new_case.png"))); // NOI18N
|
||||||
newCaseButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.newCaseButton.text")); // NOI18N
|
createNewCaseButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.createNewCaseButton.text")); // NOI18N
|
||||||
newCaseButton.setBorder(null);
|
createNewCaseButton.setBorder(null);
|
||||||
newCaseButton.setBorderPainted(false);
|
createNewCaseButton.setBorderPainted(false);
|
||||||
newCaseButton.setContentAreaFilled(false);
|
createNewCaseButton.setContentAreaFilled(false);
|
||||||
newCaseButton.setPreferredSize(new java.awt.Dimension(64, 64));
|
createNewCaseButton.setPreferredSize(new java.awt.Dimension(64, 64));
|
||||||
newCaseButton.addActionListener(new java.awt.event.ActionListener() {
|
createNewCaseButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
newCaseButtonActionPerformed(evt);
|
createNewCaseButtonActionPerformed(evt);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
openRecentButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/btn_icon_open_recent.png"))); // NOI18N
|
openRecentCaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/btn_icon_open_recent.png"))); // NOI18N
|
||||||
openRecentButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openRecentButton.text")); // NOI18N
|
openRecentCaseButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openRecentCaseButton.text")); // NOI18N
|
||||||
openRecentButton.setBorder(null);
|
openRecentCaseButton.setBorder(null);
|
||||||
openRecentButton.setBorderPainted(false);
|
openRecentCaseButton.setBorderPainted(false);
|
||||||
openRecentButton.setContentAreaFilled(false);
|
openRecentCaseButton.setContentAreaFilled(false);
|
||||||
openRecentButton.setPreferredSize(new java.awt.Dimension(64, 64));
|
openRecentCaseButton.setPreferredSize(new java.awt.Dimension(64, 64));
|
||||||
openRecentButton.addActionListener(new java.awt.event.ActionListener() {
|
openRecentCaseButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
openRecentButtonActionPerformed(evt);
|
openRecentCaseButtonActionPerformed(evt);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
createNewLabel.setFont(createNewLabel.getFont().deriveFont(createNewLabel.getFont().getStyle() & ~java.awt.Font.BOLD, 13));
|
createNewCaseLabel.setFont(createNewCaseLabel.getFont().deriveFont(createNewCaseLabel.getFont().getStyle() & ~java.awt.Font.BOLD, 13));
|
||||||
createNewLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.createNewLabel.text")); // NOI18N
|
createNewCaseLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.createNewCaseLabel.text")); // NOI18N
|
||||||
|
|
||||||
openRecentLabel.setFont(openRecentLabel.getFont().deriveFont(openRecentLabel.getFont().getStyle() & ~java.awt.Font.BOLD, 13));
|
openRecentCaseLabel.setFont(openRecentCaseLabel.getFont().deriveFont(openRecentCaseLabel.getFont().getStyle() & ~java.awt.Font.BOLD, 13));
|
||||||
openRecentLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openRecentLabel.text")); // NOI18N
|
openRecentCaseLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openRecentCaseLabel.text")); // NOI18N
|
||||||
|
|
||||||
openCaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/btn_icon_open_existing.png"))); // NOI18N
|
openExistingCaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/btn_icon_open_existing.png"))); // NOI18N
|
||||||
openCaseButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openCaseButton.text")); // NOI18N
|
openExistingCaseButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openExistingCaseButton.text")); // NOI18N
|
||||||
openCaseButton.setBorder(null);
|
openExistingCaseButton.setBorder(null);
|
||||||
openCaseButton.setBorderPainted(false);
|
openExistingCaseButton.setBorderPainted(false);
|
||||||
openCaseButton.setContentAreaFilled(false);
|
openExistingCaseButton.setContentAreaFilled(false);
|
||||||
openCaseButton.setMargin(new java.awt.Insets(1, 1, 1, 1));
|
openExistingCaseButton.setMargin(new java.awt.Insets(1, 1, 1, 1));
|
||||||
openCaseButton.setPreferredSize(new java.awt.Dimension(64, 64));
|
openExistingCaseButton.setPreferredSize(new java.awt.Dimension(64, 64));
|
||||||
openCaseButton.addActionListener(new java.awt.event.ActionListener() {
|
openExistingCaseButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
openCaseButtonActionPerformed(evt);
|
openExistingCaseButtonActionPerformed(evt);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
openLabel.setFont(openLabel.getFont().deriveFont(openLabel.getFont().getStyle() & ~java.awt.Font.BOLD, 13));
|
openExistingCaseLabel.setFont(openExistingCaseLabel.getFont().deriveFont(openExistingCaseLabel.getFont().getStyle() & ~java.awt.Font.BOLD, 13));
|
||||||
openLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openLabel.text")); // NOI18N
|
openExistingCaseLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openExistingCaseLabel.text")); // NOI18N
|
||||||
|
|
||||||
closeButton.setFont(closeButton.getFont().deriveFont(closeButton.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
|
closeButton.setFont(closeButton.getFont().deriveFont(closeButton.getFont().getStyle() & ~java.awt.Font.BOLD, 11));
|
||||||
closeButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.closeButton.text")); // NOI18N
|
closeButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.closeButton.text")); // NOI18N
|
||||||
|
|
||||||
jSeparator1.setOrientation(javax.swing.SwingConstants.VERTICAL);
|
jSeparator1.setOrientation(javax.swing.SwingConstants.VERTICAL);
|
||||||
|
|
||||||
|
openAutoIngestCaseButton.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/casemodule/btn_icon_open_existing.png"))); // NOI18N
|
||||||
|
openAutoIngestCaseButton.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openAutoIngestCaseButton.text")); // NOI18N
|
||||||
|
openAutoIngestCaseButton.setBorder(null);
|
||||||
|
openAutoIngestCaseButton.setBorderPainted(false);
|
||||||
|
openAutoIngestCaseButton.setContentAreaFilled(false);
|
||||||
|
openAutoIngestCaseButton.setMargin(new java.awt.Insets(1, 1, 1, 1));
|
||||||
|
openAutoIngestCaseButton.setPreferredSize(new java.awt.Dimension(64, 64));
|
||||||
|
openAutoIngestCaseButton.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
openAutoIngestCaseButtonActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
openAutoIngestCaseLabel.setFont(openAutoIngestCaseLabel.getFont().deriveFont(openAutoIngestCaseLabel.getFont().getStyle() & ~java.awt.Font.BOLD, 13));
|
||||||
|
openAutoIngestCaseLabel.setText(org.openide.util.NbBundle.getMessage(CueBannerPanel.class, "CueBannerPanel.openAutoIngestCaseLabel.text")); // NOI18N
|
||||||
|
|
||||||
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(this);
|
||||||
this.setLayout(layout);
|
this.setLayout(layout);
|
||||||
layout.setHorizontalGroup(
|
layout.setHorizontalGroup(
|
||||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(layout.createSequentialGroup()
|
.addGroup(layout.createSequentialGroup()
|
||||||
.addContainerGap()
|
.addContainerGap()
|
||||||
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
.addComponent(autopsyLogo)
|
.addComponent(autopsyLogo)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 5, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(jSeparator1, javax.swing.GroupLayout.PREFERRED_SIZE, 5, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
|
||||||
.addComponent(newCaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(createNewCaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(openRecentButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(openRecentCaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(openCaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
|
.addComponent(openExistingCaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.addComponent(openAutoIngestCaseButton, 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)
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
.addComponent(createNewCaseLabel)
|
||||||
.addComponent(createNewLabel)
|
.addComponent(openRecentCaseLabel)
|
||||||
.addComponent(openRecentLabel)
|
.addComponent(openExistingCaseLabel)
|
||||||
.addComponent(openLabel))
|
.addComponent(openAutoIngestCaseLabel)))
|
||||||
.addComponent(closeButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE))
|
.addComponent(closeButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 73, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||||
.addContainerGap())
|
.addContainerGap())
|
||||||
);
|
);
|
||||||
@ -215,48 +243,68 @@ public class CueBannerPanel extends javax.swing.JPanel {
|
|||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
|
||||||
.addGroup(layout.createSequentialGroup()
|
.addGroup(layout.createSequentialGroup()
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
|
||||||
.addComponent(newCaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(createNewCaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 56, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(createNewLabel))
|
.addComponent(createNewCaseLabel))
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
|
||||||
.addComponent(openRecentButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(openRecentCaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 70, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(openRecentLabel))
|
.addComponent(openRecentCaseLabel))
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.CENTER)
|
||||||
.addComponent(openCaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
|
.addComponent(openExistingCaseButton, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
.addComponent(openLabel))
|
.addComponent(openExistingCaseLabel))
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||||
.addComponent(closeButton))
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addComponent(openAutoIngestCaseButton, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 58, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
||||||
|
.addComponent(openAutoIngestCaseLabel)
|
||||||
|
.addGap(20, 20, 20))))
|
||||||
.addComponent(jSeparator1)
|
.addComponent(jSeparator1)
|
||||||
.addComponent(autopsyLogo, javax.swing.GroupLayout.PREFERRED_SIZE, 257, javax.swing.GroupLayout.PREFERRED_SIZE))
|
.addComponent(autopsyLogo, javax.swing.GroupLayout.PREFERRED_SIZE, 257, javax.swing.GroupLayout.PREFERRED_SIZE))
|
||||||
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 10, Short.MAX_VALUE)
|
||||||
|
.addComponent(closeButton)
|
||||||
.addContainerGap())
|
.addContainerGap())
|
||||||
);
|
);
|
||||||
}// </editor-fold>//GEN-END:initComponents
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
private void newCaseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_newCaseButtonActionPerformed
|
private void createNewCaseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_createNewCaseButtonActionPerformed
|
||||||
Lookup.getDefault().lookup(CaseNewActionInterface.class).actionPerformed(evt);
|
Lookup.getDefault().lookup(CaseNewActionInterface.class).actionPerformed(evt);
|
||||||
}//GEN-LAST:event_newCaseButtonActionPerformed
|
}//GEN-LAST:event_createNewCaseButtonActionPerformed
|
||||||
|
|
||||||
private void openCaseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_openCaseButtonActionPerformed
|
private void openExistingCaseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_openExistingCaseButtonActionPerformed
|
||||||
Lookup.getDefault().lookup(CaseOpenAction.class).actionPerformed(evt);
|
Lookup.getDefault().lookup(CaseOpenAction.class).actionPerformed(evt);
|
||||||
}//GEN-LAST:event_openCaseButtonActionPerformed
|
}//GEN-LAST:event_openExistingCaseButtonActionPerformed
|
||||||
|
|
||||||
private void openRecentButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_openRecentButtonActionPerformed
|
private void openRecentCaseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_openRecentCaseButtonActionPerformed
|
||||||
recentCasesWindow.setLocationRelativeTo(WindowManager.getDefault().getMainWindow());
|
recentCasesWindow.setLocationRelativeTo(WindowManager.getDefault().getMainWindow());
|
||||||
OpenRecentCasePanel.getInstance(); //refreshes the recent cases table
|
OpenRecentCasePanel.getInstance(); //refreshes the recent cases table
|
||||||
recentCasesWindow.setVisible(true);
|
recentCasesWindow.setVisible(true);
|
||||||
}//GEN-LAST:event_openRecentButtonActionPerformed
|
}//GEN-LAST:event_openRecentCaseButtonActionPerformed
|
||||||
|
|
||||||
|
private void openAutoIngestCaseButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_openAutoIngestCaseButtonActionPerformed
|
||||||
|
autoIngestCasePanelWindow = new JDialog();
|
||||||
|
autoIngestCasePanelWindow.setTitle(REVIEW_MODE_TITLE);
|
||||||
|
AutoIngestCasePanelInterface autoIngestCasePanel = Lookup.getDefault().lookup(AutoIngestCasePanelInterface.class);
|
||||||
|
autoIngestCasePanel.addWindowStateListener(autoIngestCasePanelWindow);
|
||||||
|
autoIngestCasePanelWindow.add((JPanel)autoIngestCasePanel);
|
||||||
|
autoIngestCasePanelWindow.pack();
|
||||||
|
autoIngestCasePanelWindow.toFront();
|
||||||
|
autoIngestCasePanelWindow.setVisible(true);
|
||||||
|
autoIngestCasePanelWindow.setResizable(false);
|
||||||
|
}//GEN-LAST:event_openAutoIngestCaseButtonActionPerformed
|
||||||
|
|
||||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
private javax.swing.JLabel autopsyLogo;
|
private javax.swing.JLabel autopsyLogo;
|
||||||
private javax.swing.JButton closeButton;
|
private javax.swing.JButton closeButton;
|
||||||
private javax.swing.JLabel createNewLabel;
|
private javax.swing.JButton createNewCaseButton;
|
||||||
|
private javax.swing.JLabel createNewCaseLabel;
|
||||||
private javax.swing.JSeparator jSeparator1;
|
private javax.swing.JSeparator jSeparator1;
|
||||||
private javax.swing.JButton newCaseButton;
|
private javax.swing.JButton openAutoIngestCaseButton;
|
||||||
private javax.swing.JButton openCaseButton;
|
private javax.swing.JLabel openAutoIngestCaseLabel;
|
||||||
private javax.swing.JLabel openLabel;
|
private javax.swing.JButton openExistingCaseButton;
|
||||||
private javax.swing.JButton openRecentButton;
|
private javax.swing.JLabel openExistingCaseLabel;
|
||||||
private javax.swing.JLabel openRecentLabel;
|
private javax.swing.JButton openRecentCaseButton;
|
||||||
|
private javax.swing.JLabel openRecentCaseLabel;
|
||||||
// End of variables declaration//GEN-END:variables
|
// End of variables declaration//GEN-END:variables
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -61,21 +61,8 @@ final class AutoIngestCaseManager {
|
|||||||
*/
|
*/
|
||||||
private AutoIngestCaseManager() {
|
private AutoIngestCaseManager() {
|
||||||
|
|
||||||
/*
|
|
||||||
* Permanently delete the "Open Recent Cases" item in the "File" menu.
|
|
||||||
* This is quite drastic, as it also affects Autopsy standalone mode on
|
|
||||||
* this machine, but review mode is only for looking at cases created by
|
|
||||||
* automated ingest.
|
|
||||||
*/
|
|
||||||
FileObject root = FileUtil.getConfigRoot();
|
FileObject root = FileUtil.getConfigRoot();
|
||||||
FileObject openRecentCasesMenu = root.getFileObject("Menu/Case/OpenRecentCase");
|
FileObject openRecentCasesMenu = root.getFileObject("Menu/Case/OpenRecentCase");
|
||||||
if (openRecentCasesMenu != null) {
|
|
||||||
try {
|
|
||||||
openRecentCasesMenu.delete();
|
|
||||||
} catch (IOException ex) {
|
|
||||||
AutoIngestCaseManager.LOGGER.log(Level.WARNING, "Unable to remove Open Recent Cases file menu item", ex);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -21,6 +21,7 @@ package org.sleuthkit.autopsy.experimental.autoingest;
|
|||||||
import java.awt.Cursor;
|
import java.awt.Cursor;
|
||||||
import java.awt.Desktop;
|
import java.awt.Desktop;
|
||||||
import java.awt.EventQueue;
|
import java.awt.EventQueue;
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.WindowAdapter;
|
import java.awt.event.WindowAdapter;
|
||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
@ -39,16 +40,23 @@ import javax.swing.SwingWorker;
|
|||||||
import javax.swing.event.ListSelectionEvent;
|
import javax.swing.event.ListSelectionEvent;
|
||||||
import javax.swing.table.DefaultTableModel;
|
import javax.swing.table.DefaultTableModel;
|
||||||
import javax.swing.table.TableColumn;
|
import javax.swing.table.TableColumn;
|
||||||
|
import org.openide.util.NbBundle;
|
||||||
|
import org.openide.util.lookup.ServiceProvider;
|
||||||
|
import org.openide.windows.WindowManager;
|
||||||
import org.sleuthkit.autopsy.casemodule.CaseActionCancelledException;
|
import org.sleuthkit.autopsy.casemodule.CaseActionCancelledException;
|
||||||
import org.sleuthkit.autopsy.casemodule.CaseMetadata;
|
import org.sleuthkit.autopsy.casemodule.CaseMetadata;
|
||||||
import org.sleuthkit.autopsy.casemodule.StartupWindowProvider;
|
import org.sleuthkit.autopsy.casemodule.StartupWindowProvider;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
import org.sleuthkit.autopsy.coreutils.MessageNotifyUtil;
|
import org.sleuthkit.autopsy.coreutils.MessageNotifyUtil;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.AutoIngestCasePanelInterface;
|
||||||
|
import org.sleuthkit.autopsy.coreutils.NetworkUtils;
|
||||||
|
import org.sleuthkit.autopsy.experimental.configuration.StartupWindow;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A panel that allows a user to open cases created by auto ingest.
|
* A panel that allows a user to open cases created by auto ingest.
|
||||||
*/
|
*/
|
||||||
public final class AutoIngestCasePanel extends JPanel {
|
@ServiceProvider(service = AutoIngestCasePanelInterface.class)
|
||||||
|
public final class AutoIngestCasePanel extends JPanel implements AutoIngestCasePanelInterface {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
private static final Logger logger = Logger.getLogger(AutoIngestCasePanel.class.getName());
|
private static final Logger logger = Logger.getLogger(AutoIngestCasePanel.class.getName());
|
||||||
@ -91,6 +99,34 @@ public final class AutoIngestCasePanel extends JPanel {
|
|||||||
private DefaultTableModel caseTableModel;
|
private DefaultTableModel caseTableModel;
|
||||||
private Path currentlySelectedCase = null;
|
private Path currentlySelectedCase = null;
|
||||||
|
|
||||||
|
public AutoIngestCasePanel() {
|
||||||
|
init(null);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void addWindowStateListener(JDialog parent) {
|
||||||
|
/*
|
||||||
|
* Add a window state listener that starts and stops refreshing of the
|
||||||
|
* cases table.
|
||||||
|
*/
|
||||||
|
parent.addWindowListener(new WindowAdapter() {
|
||||||
|
@Override
|
||||||
|
public void windowClosing(WindowEvent e) {
|
||||||
|
stopCasesTableRefreshes();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void windowActivated(WindowEvent e) {
|
||||||
|
startCasesTableRefreshes();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void windowClosed(WindowEvent e) {
|
||||||
|
stopCasesTableRefreshes();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs a panel that allows a user to open cases created by automated
|
* Constructs a panel that allows a user to open cases created by automated
|
||||||
* ingest.
|
* ingest.
|
||||||
@ -98,6 +134,10 @@ public final class AutoIngestCasePanel extends JPanel {
|
|||||||
* @param parent The parent dialog for this panel.
|
* @param parent The parent dialog for this panel.
|
||||||
*/
|
*/
|
||||||
public AutoIngestCasePanel(JDialog parent) {
|
public AutoIngestCasePanel(JDialog parent) {
|
||||||
|
init(parent);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void init(JDialog parent) {
|
||||||
caseTableModel = new DefaultTableModel(columnNames, 0) {
|
caseTableModel = new DefaultTableModel(columnNames, 0) {
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
|
@ -126,11 +126,7 @@
|
|||||||
</Group>
|
</Group>
|
||||||
<Group type="102" attributes="0">
|
<Group type="102" attributes="0">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Group type="102" alignment="0" attributes="0">
|
<Component id="jLabelSelectMode" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="jLabelSelectMode" min="-2" max="-2" attributes="0"/>
|
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
|
||||||
<Component id="restartRequiredNodeLabel" min="-2" max="-2" attributes="0"/>
|
|
||||||
</Group>
|
|
||||||
<Component id="jRadioButtonReview" alignment="0" min="-2" max="-2" attributes="0"/>
|
<Component id="jRadioButtonReview" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="jRadioButtonAutomated" alignment="0" min="-2" max="-2" attributes="0"/>
|
<Component id="jRadioButtonAutomated" alignment="0" min="-2" max="-2" attributes="0"/>
|
||||||
</Group>
|
</Group>
|
||||||
@ -159,10 +155,7 @@
|
|||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Group type="102" attributes="0">
|
<Group type="102" attributes="0">
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="3" attributes="0">
|
<Component id="jLabelSelectMode" min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="jLabelSelectMode" alignment="3" min="-2" max="-2" attributes="0"/>
|
|
||||||
<Component id="restartRequiredNodeLabel" alignment="3" min="-2" max="-2" attributes="0"/>
|
|
||||||
</Group>
|
|
||||||
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
<EmptySpace type="unrelated" max="-2" attributes="0"/>
|
||||||
<Component id="jRadioButtonAutomated" min="-2" max="-2" attributes="0"/>
|
<Component id="jRadioButtonAutomated" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
@ -203,16 +196,6 @@
|
|||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
</Component>
|
</Component>
|
||||||
<Component class="javax.swing.JLabel" name="restartRequiredNodeLabel">
|
|
||||||
<Properties>
|
|
||||||
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
|
||||||
<Image iconType="3" name="/org/sleuthkit/autopsy/experimental/images/warning16.png"/>
|
|
||||||
</Property>
|
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/experimental/configuration/Bundle.properties" key="AutoIngestSettingsPanel.restartRequiredNodeLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
|
||||||
</Property>
|
|
||||||
</Properties>
|
|
||||||
</Component>
|
|
||||||
<Component class="javax.swing.JRadioButton" name="jRadioButtonAutomated">
|
<Component class="javax.swing.JRadioButton" name="jRadioButtonAutomated">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
|
<Property name="buttonGroup" type="javax.swing.ButtonGroup" editor="org.netbeans.modules.form.RADComponent$ButtonGroupPropertyEditor">
|
||||||
|
@ -210,35 +210,16 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel {
|
|||||||
boolean needsRestart = false;
|
boolean needsRestart = false;
|
||||||
UserPreferences.SelectedMode storedMode = UserPreferences.getMode();
|
UserPreferences.SelectedMode storedMode = UserPreferences.getMode();
|
||||||
|
|
||||||
if (AutoIngestUserPreferences.getJoinAutoModeCluster() != cbJoinAutoIngestCluster.isSelected()) {
|
|
||||||
needsRestart = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
AutoIngestUserPreferences.setJoinAutoModeCluster(cbJoinAutoIngestCluster.isSelected());
|
AutoIngestUserPreferences.setJoinAutoModeCluster(cbJoinAutoIngestCluster.isSelected());
|
||||||
if (!cbJoinAutoIngestCluster.isSelected()) {
|
if (!cbJoinAutoIngestCluster.isSelected()) {
|
||||||
UserPreferences.setMode(UserPreferences.SelectedMode.STANDALONE);
|
if(storedMode == UserPreferences.SelectedMode.AUTOINGEST) {
|
||||||
//before return popup the message
|
needsRestart = true;
|
||||||
if (needsRestart) {
|
|
||||||
SwingUtilities.invokeLater(() -> {
|
|
||||||
JOptionPane.showMessageDialog(null,
|
|
||||||
NbBundle.getMessage(AutoIngestSettingsPanel.class, "AutoIngestSettingsPanel.MustRestart"),
|
|
||||||
NbBundle.getMessage(AutoIngestSettingsPanel.class, "AutoIngestSettingsPanel.restartRequiredLabel.text"),
|
|
||||||
JOptionPane.WARNING_MESSAGE);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (jRadioButtonAutomated.isSelected()) {
|
UserPreferences.setMode(UserPreferences.SelectedMode.STANDALONE);
|
||||||
if (storedMode != UserPreferences.SelectedMode.AUTOINGEST) {
|
|
||||||
needsRestart = true;
|
|
||||||
}
|
}
|
||||||
String thePath = AutoIngestUserPreferences.getAutoModeImageFolder();
|
else if (jRadioButtonAutomated.isSelected()) {
|
||||||
if (thePath != null && 0 != inputPathTextField.getText().compareTo(thePath)) {
|
if (storedMode == UserPreferences.SelectedMode.REVIEW) {
|
||||||
needsRestart = true;
|
|
||||||
}
|
|
||||||
thePath = AutoIngestUserPreferences.getAutoModeResultsFolder();
|
|
||||||
if (thePath != null && 0 != outputPathTextField.getText().compareTo(thePath)) {
|
|
||||||
needsRestart = true;
|
needsRestart = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -254,11 +235,7 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel {
|
|||||||
AutoIngestUserPreferences.setSharedConfigMaster(masterNodeCheckBox.isSelected());
|
AutoIngestUserPreferences.setSharedConfigMaster(masterNodeCheckBox.isSelected());
|
||||||
}
|
}
|
||||||
} else if (jRadioButtonReview.isSelected()) {
|
} else if (jRadioButtonReview.isSelected()) {
|
||||||
if (storedMode != UserPreferences.SelectedMode.REVIEW) {
|
if (storedMode == UserPreferences.SelectedMode.AUTOINGEST) {
|
||||||
needsRestart = true;
|
|
||||||
}
|
|
||||||
String thePath = AutoIngestUserPreferences.getAutoModeResultsFolder();
|
|
||||||
if (thePath != null && 0 != outputPathTextField.getText().compareTo(thePath)) {
|
|
||||||
needsRestart = true;
|
needsRestart = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -661,7 +638,6 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel {
|
|||||||
nodePanel = new javax.swing.JPanel();
|
nodePanel = new javax.swing.JPanel();
|
||||||
jPanelNodeType = new javax.swing.JPanel();
|
jPanelNodeType = new javax.swing.JPanel();
|
||||||
jLabelSelectMode = new javax.swing.JLabel();
|
jLabelSelectMode = new javax.swing.JLabel();
|
||||||
restartRequiredNodeLabel = new javax.swing.JLabel();
|
|
||||||
jRadioButtonAutomated = new javax.swing.JRadioButton();
|
jRadioButtonAutomated = new javax.swing.JRadioButton();
|
||||||
jRadioButtonReview = new javax.swing.JRadioButton();
|
jRadioButtonReview = new javax.swing.JRadioButton();
|
||||||
jLabelSelectInputFolder = new javax.swing.JLabel();
|
jLabelSelectInputFolder = new javax.swing.JLabel();
|
||||||
@ -703,9 +679,6 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel {
|
|||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(jLabelSelectMode, org.openide.util.NbBundle.getMessage(AutoIngestSettingsPanel.class, "AutoIngestSettingsPanel.jLabelSelectMode.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(jLabelSelectMode, org.openide.util.NbBundle.getMessage(AutoIngestSettingsPanel.class, "AutoIngestSettingsPanel.jLabelSelectMode.text")); // NOI18N
|
||||||
|
|
||||||
restartRequiredNodeLabel.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/experimental/images/warning16.png"))); // NOI18N
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(restartRequiredNodeLabel, org.openide.util.NbBundle.getMessage(AutoIngestSettingsPanel.class, "AutoIngestSettingsPanel.restartRequiredNodeLabel.text")); // NOI18N
|
|
||||||
|
|
||||||
modeRadioButtons.add(jRadioButtonAutomated);
|
modeRadioButtons.add(jRadioButtonAutomated);
|
||||||
jRadioButtonAutomated.setSelected(true);
|
jRadioButtonAutomated.setSelected(true);
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(jRadioButtonAutomated, org.openide.util.NbBundle.getMessage(AutoIngestSettingsPanel.class, "AutoIngestSettingsPanel.jRadioButtonAutomated.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(jRadioButtonAutomated, org.openide.util.NbBundle.getMessage(AutoIngestSettingsPanel.class, "AutoIngestSettingsPanel.jRadioButtonAutomated.text")); // NOI18N
|
||||||
@ -777,10 +750,7 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel {
|
|||||||
.addComponent(browseOutputFolderButton, javax.swing.GroupLayout.Alignment.TRAILING)))
|
.addComponent(browseOutputFolderButton, javax.swing.GroupLayout.Alignment.TRAILING)))
|
||||||
.addGroup(jPanelNodeTypeLayout.createSequentialGroup()
|
.addGroup(jPanelNodeTypeLayout.createSequentialGroup()
|
||||||
.addGroup(jPanelNodeTypeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
.addGroup(jPanelNodeTypeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(jPanelNodeTypeLayout.createSequentialGroup()
|
|
||||||
.addComponent(jLabelSelectMode)
|
.addComponent(jLabelSelectMode)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
||||||
.addComponent(restartRequiredNodeLabel))
|
|
||||||
.addComponent(jRadioButtonReview)
|
.addComponent(jRadioButtonReview)
|
||||||
.addComponent(jRadioButtonAutomated))
|
.addComponent(jRadioButtonAutomated))
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||||
@ -802,9 +772,7 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel {
|
|||||||
.addGroup(jPanelNodeTypeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
.addGroup(jPanelNodeTypeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(jPanelNodeTypeLayout.createSequentialGroup()
|
.addGroup(jPanelNodeTypeLayout.createSequentialGroup()
|
||||||
.addContainerGap()
|
.addContainerGap()
|
||||||
.addGroup(jPanelNodeTypeLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
|
|
||||||
.addComponent(jLabelSelectMode)
|
.addComponent(jLabelSelectMode)
|
||||||
.addComponent(restartRequiredNodeLabel))
|
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
|
||||||
.addComponent(jRadioButtonAutomated)
|
.addComponent(jRadioButtonAutomated)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
@ -1407,7 +1375,6 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel {
|
|||||||
jRadioButtonAutomated.setEnabled(enabled);
|
jRadioButtonAutomated.setEnabled(enabled);
|
||||||
jRadioButtonReview.setEnabled(enabled);
|
jRadioButtonReview.setEnabled(enabled);
|
||||||
outputPathTextField.setEnabled(enabled);
|
outputPathTextField.setEnabled(enabled);
|
||||||
restartRequiredNodeLabel.setEnabled(enabled);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
@ -1442,7 +1409,6 @@ public class AutoIngestSettingsPanel extends javax.swing.JPanel {
|
|||||||
private javax.swing.JScrollPane nodeScrollPane;
|
private javax.swing.JScrollPane nodeScrollPane;
|
||||||
private javax.swing.JTextField outputPathTextField;
|
private javax.swing.JTextField outputPathTextField;
|
||||||
private javax.swing.JProgressBar pbTaskInProgress;
|
private javax.swing.JProgressBar pbTaskInProgress;
|
||||||
private javax.swing.JLabel restartRequiredNodeLabel;
|
|
||||||
private javax.swing.JCheckBox sharedConfigCheckbox;
|
private javax.swing.JCheckBox sharedConfigCheckbox;
|
||||||
private javax.swing.JTextField sharedSettingsErrorTextField;
|
private javax.swing.JTextField sharedSettingsErrorTextField;
|
||||||
private javax.swing.JTextField sharedSettingsTextField;
|
private javax.swing.JTextField sharedSettingsTextField;
|
||||||
|
@ -59,7 +59,7 @@ public final class AutoIngestUserPreferences {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get "Join Automated Ingest Cluster" setting from persistent storage.
|
* Get "Join auto ingest cluster" setting from persistent storage.
|
||||||
*
|
*
|
||||||
* @return SelectedMode Selected setting.
|
* @return SelectedMode Selected setting.
|
||||||
*/
|
*/
|
||||||
@ -71,7 +71,7 @@ public final class AutoIngestUserPreferences {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set "Join Automated Ingest Cluster" setting to persistent storage.
|
* Set "Join auto ingest cluster" setting to persistent storage.
|
||||||
*
|
*
|
||||||
* @param join boolean value of whether to join auto ingest cluster or not
|
* @param join boolean value of whether to join auto ingest cluster or not
|
||||||
*/
|
*/
|
||||||
|
@ -25,7 +25,7 @@ AutoIngestSettingsPanel.AdvancedAutoIngestSettingsPanel.Title=Advanced Settings
|
|||||||
AutoIngestSettingsPanel.browseGlobalSettingsButton.text=Browse
|
AutoIngestSettingsPanel.browseGlobalSettingsButton.text=Browse
|
||||||
AutoIngestSettingsPanel.browseSharedSettingsButton.text=Browse
|
AutoIngestSettingsPanel.browseSharedSettingsButton.text=Browse
|
||||||
AutoIngestSettingsPanel.CannotAccess=Cannot access
|
AutoIngestSettingsPanel.CannotAccess=Cannot access
|
||||||
AutoIngestSettingsPanel.cbJoinAutoIngestCluster.text=Join Automated Ingest Cluster
|
AutoIngestSettingsPanel.cbJoinAutoIngestCluster.text=Join auto ingest cluster
|
||||||
AutoIngestSettingsPanel.CheckPermissions=Check permissions.
|
AutoIngestSettingsPanel.CheckPermissions=Check permissions.
|
||||||
AutoIngestSettingsPanel.configButtonErrorTextField.text=configButtonErrorTextField
|
AutoIngestSettingsPanel.configButtonErrorTextField.text=configButtonErrorTextField
|
||||||
AutoIngestSettingsPanel.downloadButton.text=Download Config
|
AutoIngestSettingsPanel.downloadButton.text=Download Config
|
||||||
@ -89,7 +89,6 @@ OptionsDialog.jLabel1.text=jLabel1
|
|||||||
StartupWindow.AutoIngestMode=Automated Ingest Node
|
StartupWindow.AutoIngestMode=Automated Ingest Node
|
||||||
StartupWindow.CaseImportMode=Single User Case Import
|
StartupWindow.CaseImportMode=Single User Case Import
|
||||||
StartupWindow.CopyAndImportMode=Utilities
|
StartupWindow.CopyAndImportMode=Utilities
|
||||||
StartupWindow.ReviewMode=Cases
|
|
||||||
StartupWindow.title.text=Welcome
|
StartupWindow.title.text=Welcome
|
||||||
AdvancedAutoIngestSettingsPanel.lbInputScanIntervalMinutes.text=minutes
|
AdvancedAutoIngestSettingsPanel.lbInputScanIntervalMinutes.text=minutes
|
||||||
AdvancedAutoIngestSettingsPanel.lbTimeoutHours.text=hour(s)
|
AdvancedAutoIngestSettingsPanel.lbTimeoutHours.text=hour(s)
|
||||||
@ -133,10 +132,9 @@ AutoIngestSettingsPanel.inputPathTextField.toolTipText=Input folder for automate
|
|||||||
AutoIngestSettingsPanel.inputPathTextField.text=
|
AutoIngestSettingsPanel.inputPathTextField.text=
|
||||||
AutoIngestSettingsPanel.jLabelSelectInputFolder.text=Select shared images folder:
|
AutoIngestSettingsPanel.jLabelSelectInputFolder.text=Select shared images folder:
|
||||||
AutoIngestSettingsPanel.jRadioButtonReview.toolTipText=Review cases created in automated processing mode
|
AutoIngestSettingsPanel.jRadioButtonReview.toolTipText=Review cases created in automated processing mode
|
||||||
AutoIngestSettingsPanel.jRadioButtonReview.text=Examiner Node
|
AutoIngestSettingsPanel.jRadioButtonReview.text=Examiner node
|
||||||
AutoIngestSettingsPanel.jRadioButtonAutomated.toolTipText=Automatically detect new data sources and create cases.
|
AutoIngestSettingsPanel.jRadioButtonAutomated.toolTipText=Automatically detect new data sources and create cases.
|
||||||
AutoIngestSettingsPanel.jRadioButtonAutomated.text=Auto Ingest Node
|
AutoIngestSettingsPanel.jRadioButtonAutomated.text=Auto ingest node (application restart required)
|
||||||
AutoIngestSettingsPanel.restartRequiredNodeLabel.text=Application restart required
|
|
||||||
AutoIngestSettingsPanel.jLabelSelectMode.text=Select mode:
|
AutoIngestSettingsPanel.jLabelSelectMode.text=Select mode:
|
||||||
AutoIngestSettingsPanel.jPanelIngestSettings.border.title=Automated Ingest Settings
|
AutoIngestSettingsPanel.jPanelIngestSettings.border.title=Automated Ingest Settings
|
||||||
AutoIngestSettingsPanel.bnLogging.text=Node Status Logging
|
AutoIngestSettingsPanel.bnLogging.text=Node Status Logging
|
||||||
|
@ -18,7 +18,6 @@
|
|||||||
*/
|
*/
|
||||||
package org.sleuthkit.autopsy.experimental.configuration;
|
package org.sleuthkit.autopsy.experimental.configuration;
|
||||||
|
|
||||||
import java.awt.Cursor;
|
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.awt.Toolkit;
|
import java.awt.Toolkit;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
@ -36,7 +35,6 @@ import org.sleuthkit.autopsy.casemodule.StartupWindowInterface;
|
|||||||
import org.sleuthkit.autopsy.core.UserPreferences;
|
import org.sleuthkit.autopsy.core.UserPreferences;
|
||||||
import org.sleuthkit.autopsy.coreutils.NetworkUtils;
|
import org.sleuthkit.autopsy.coreutils.NetworkUtils;
|
||||||
import org.sleuthkit.autopsy.experimental.autoingest.AutoIngestControlPanel;
|
import org.sleuthkit.autopsy.experimental.autoingest.AutoIngestControlPanel;
|
||||||
import org.sleuthkit.autopsy.experimental.autoingest.AutoIngestCasePanel;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The default implementation of the Autopsy startup window
|
* The default implementation of the Autopsy startup window
|
||||||
@ -48,7 +46,6 @@ public final class StartupWindow extends JDialog implements StartupWindowInterfa
|
|||||||
private static Dimension DIMENSIONS = new Dimension(750, 400);
|
private static Dimension DIMENSIONS = new Dimension(750, 400);
|
||||||
private static CueBannerPanel welcomeWindow;
|
private static CueBannerPanel welcomeWindow;
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
private AutoIngestCasePanel caseManagementPanel = null;
|
|
||||||
private static final String LOCAL_HOST_NAME = NetworkUtils.getLocalHostName();
|
private static final String LOCAL_HOST_NAME = NetworkUtils.getLocalHostName();
|
||||||
|
|
||||||
public StartupWindow() {
|
public StartupWindow() {
|
||||||
@ -78,12 +75,6 @@ public final class StartupWindow extends JDialog implements StartupWindowInterfa
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void open() {
|
public void open() {
|
||||||
|
|
||||||
if (caseManagementPanel != null) {
|
|
||||||
caseManagementPanel.updateView();
|
|
||||||
caseManagementPanel.setCursor(Cursor.getDefaultCursor());
|
|
||||||
}
|
|
||||||
|
|
||||||
if (welcomeWindow != null) {
|
if (welcomeWindow != null) {
|
||||||
welcomeWindow.refresh();
|
welcomeWindow.refresh();
|
||||||
}
|
}
|
||||||
@ -104,10 +95,7 @@ public final class StartupWindow extends JDialog implements StartupWindowInterfa
|
|||||||
* user.
|
* user.
|
||||||
*/
|
*/
|
||||||
private void addPanelForMode() {
|
private void addPanelForMode() {
|
||||||
UserPreferences.SelectedMode mode = UserPreferences.getMode();
|
if(UserPreferences.getMode() == UserPreferences.SelectedMode.AUTOINGEST) {
|
||||||
|
|
||||||
switch (mode) {
|
|
||||||
case AUTOINGEST:
|
|
||||||
this.setTitle(NbBundle.getMessage(StartupWindow.class, "StartupWindow.AutoIngestMode") + " (" + LOCAL_HOST_NAME + ")");
|
this.setTitle(NbBundle.getMessage(StartupWindow.class, "StartupWindow.AutoIngestMode") + " (" + LOCAL_HOST_NAME + ")");
|
||||||
setIconImage(ImageUtilities.loadImage("org/sleuthkit/autopsy/experimental/images/frame.gif", false)); //NON-NLS
|
setIconImage(ImageUtilities.loadImage("org/sleuthkit/autopsy/experimental/images/frame.gif", false)); //NON-NLS
|
||||||
this.addWindowListener(new WindowAdapter() {
|
this.addWindowListener(new WindowAdapter() {
|
||||||
@ -118,14 +106,7 @@ public final class StartupWindow extends JDialog implements StartupWindowInterfa
|
|||||||
});
|
});
|
||||||
setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
|
setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
|
||||||
add(AutoIngestControlPanel.getInstance());
|
add(AutoIngestControlPanel.getInstance());
|
||||||
break;
|
} else {
|
||||||
case REVIEW:
|
|
||||||
this.setTitle(NbBundle.getMessage(StartupWindow.class, "StartupWindow.ReviewMode") + " (" + LOCAL_HOST_NAME + ")");
|
|
||||||
caseManagementPanel = new AutoIngestCasePanel(this);
|
|
||||||
setIconImage(ImageUtilities.loadImage("org/sleuthkit/autopsy/experimental/images/frame.gif", false)); //NON-NLS
|
|
||||||
add(caseManagementPanel);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
welcomeWindow = new CueBannerPanel();
|
welcomeWindow = new CueBannerPanel();
|
||||||
// add the command to close the window to the button on the Volume Detail Panel
|
// add the command to close the window to the button on the Volume Detail Panel
|
||||||
welcomeWindow.setCloseButtonActionListener(new ActionListener() {
|
welcomeWindow.setCloseButtonActionListener(new ActionListener() {
|
||||||
@ -135,7 +116,6 @@ public final class StartupWindow extends JDialog implements StartupWindowInterfa
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
add(welcomeWindow);
|
add(welcomeWindow);
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user