mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-13 08:26:15 +00:00
Merge branch 'develop' of https://github.com/sleuthkit/autopsy into 6464-redo-contactviewer
This commit is contained in:
commit
dd2bbd9769
@ -976,6 +976,7 @@ public final class PersonaDetailsPanel extends javax.swing.JPanel {
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case VIEW:
|
case VIEW:
|
||||||
|
ret = currentPersona;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
logger.log(Level.SEVERE, "Unsupported mode: {0}", mode);
|
logger.log(Level.SEVERE, "Unsupported mode: {0}", mode);
|
||||||
|
@ -980,3 +980,4 @@ CallLogArtifactViewer.localAccountPersonaLabel.text=Persona
|
|||||||
CallLogArtifactViewer.localAccountPersonaNameLabel.text=jLabel1
|
CallLogArtifactViewer.localAccountPersonaNameLabel.text=jLabel1
|
||||||
CallLogArtifactViewer.localAccountPersonaButton.text=jButton1
|
CallLogArtifactViewer.localAccountPersonaButton.text=jButton1
|
||||||
ContactArtifactViewer.personasLabel.text=Personas
|
ContactArtifactViewer.personasLabel.text=Personas
|
||||||
|
ContactArtifactViewer.contactImage.text=
|
||||||
|
@ -35,6 +35,8 @@ AnnotationsContentViewer.title=Annotations
|
|||||||
AnnotationsContentViewer.toolTip=Displays tags and comments associated with the selected content.
|
AnnotationsContentViewer.toolTip=Displays tags and comments associated with the selected content.
|
||||||
ApplicationContentViewer.title=Application
|
ApplicationContentViewer.title=Application
|
||||||
ApplicationContentViewer.toolTip=Displays file contents.
|
ApplicationContentViewer.toolTip=Displays file contents.
|
||||||
|
CallLogArtifactViewer_crdisbaled_persona_button_text=Create
|
||||||
|
CallLogArtifactViewer_crdisbaled_persona_label=Unknown
|
||||||
CallLogArtifactViewer_number_from=From
|
CallLogArtifactViewer_number_from=From
|
||||||
CallLogArtifactViewer_number_to=To
|
CallLogArtifactViewer_number_to=To
|
||||||
CallLogArtifactViewer_persona_button_new=Create
|
CallLogArtifactViewer_persona_button_new=Create
|
||||||
@ -49,6 +51,7 @@ ContactArtifactViewer_persona_button_view=View
|
|||||||
ContactArtifactViewer_persona_label=Persona
|
ContactArtifactViewer_persona_label=Persona
|
||||||
ContactArtifactViewer_persona_searching=\ Searching...
|
ContactArtifactViewer_persona_searching=\ Searching...
|
||||||
ContactArtifactViewer_persona_text_none=None found
|
ContactArtifactViewer_persona_text_none=None found
|
||||||
|
ContactArtifactViewer_persona_unknown=Unknown
|
||||||
DataContentViewerArtifact.failedToGetAttributes.message=Failed to get some or all attributes from case database
|
DataContentViewerArtifact.failedToGetAttributes.message=Failed to get some or all attributes from case database
|
||||||
DataContentViewerArtifact.failedToGetSourcePath.message=Failed to get source file path from case database
|
DataContentViewerArtifact.failedToGetSourcePath.message=Failed to get source file path from case database
|
||||||
DefaultArtifactContentViewer.attrsTableHeader.sources=Source(s)
|
DefaultArtifactContentViewer.attrsTableHeader.sources=Source(s)
|
||||||
@ -1084,7 +1087,8 @@ MessageArtifactViewer.rtfbodyScrollPane.TabConstraints.tabTitle=RTF
|
|||||||
MessageArtifactViewer.toText.text=to list goes here
|
MessageArtifactViewer.toText.text=to list goes here
|
||||||
MessageArtifactViewer.toLabel.text=To:
|
MessageArtifactViewer.toLabel.text=To:
|
||||||
MessageArtifactViewer.htmlPane.TabConstraints.tabTitle=HTML
|
MessageArtifactViewer.htmlPane.TabConstraints.tabTitle=HTML
|
||||||
CallLogArtifactViewer.localAccountPersonaLabel.text=Persona:
|
CallLogArtifactViewer.localAccountPersonaLabel.text=Persona
|
||||||
CallLogArtifactViewer.localAccountPersonaNameLabel.text=jLabel1
|
CallLogArtifactViewer.localAccountPersonaNameLabel.text=jLabel1
|
||||||
CallLogArtifactViewer.localAccountPersonaButton.text=jButton1
|
CallLogArtifactViewer.localAccountPersonaButton.text=jButton1
|
||||||
ContactArtifactViewer.personasLabel.text=Personas
|
ContactArtifactViewer.personasLabel.text=Personas
|
||||||
|
ContactArtifactViewer.contactImage.text=
|
||||||
|
@ -19,30 +19,11 @@
|
|||||||
<Container class="javax.swing.JPanel" name="namePanel">
|
<Container class="javax.swing.JPanel" name="namePanel">
|
||||||
<Constraints>
|
<Constraints>
|
||||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||||
<GridBagConstraints gridX="0" gridY="0" gridWidth="4" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
|
<GridBagConstraints gridX="0" gridY="1" gridWidth="5" gridHeight="1" fill="2" ipadX="0" ipadY="0" insetsTop="6" insetsLeft="19" insetsBottom="0" insetsRight="0" anchor="18" weightX="1.0" weightY="0.0"/>
|
||||||
</Constraint>
|
</Constraint>
|
||||||
</Constraints>
|
</Constraints>
|
||||||
|
|
||||||
<Layout>
|
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
|
||||||
<DimensionLayout dim="0">
|
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
|
||||||
<Group type="102" alignment="0" attributes="0">
|
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
|
||||||
<Component id="contactNameLabel" min="-2" pref="240" 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="-2" attributes="0"/>
|
|
||||||
<Component id="contactNameLabel" min="-2" max="-2" attributes="0"/>
|
|
||||||
<EmptySpace max="32767" attributes="0"/>
|
|
||||||
</Group>
|
|
||||||
</Group>
|
|
||||||
</DimensionLayout>
|
|
||||||
</Layout>
|
|
||||||
<SubComponents>
|
<SubComponents>
|
||||||
<Component class="javax.swing.JLabel" name="contactNameLabel">
|
<Component class="javax.swing.JLabel" name="contactNameLabel">
|
||||||
<Properties>
|
<Properties>
|
||||||
@ -55,6 +36,11 @@
|
|||||||
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/Bundle.properties" key="ContactArtifactViewer.contactNameLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/Bundle.properties" key="ContactArtifactViewer.contactNameLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
</Property>
|
</Property>
|
||||||
</Properties>
|
</Properties>
|
||||||
|
<Constraints>
|
||||||
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||||
|
<GridBagConstraints gridX="0" gridY="0" gridWidth="1" gridHeight="1" fill="2" ipadX="111" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="18" weightX="1.0" weightY="0.0"/>
|
||||||
|
</Constraint>
|
||||||
|
</Constraints>
|
||||||
</Component>
|
</Component>
|
||||||
</SubComponents>
|
</SubComponents>
|
||||||
</Container>
|
</Container>
|
||||||
@ -71,14 +57,14 @@
|
|||||||
</Properties>
|
</Properties>
|
||||||
<Constraints>
|
<Constraints>
|
||||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||||
<GridBagConstraints gridX="0" gridY="1" gridWidth="3" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="6" insetsLeft="19" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
|
<GridBagConstraints gridX="0" gridY="2" gridWidth="3" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="6" insetsLeft="19" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
|
||||||
</Constraint>
|
</Constraint>
|
||||||
</Constraints>
|
</Constraints>
|
||||||
</Component>
|
</Component>
|
||||||
<Container class="javax.swing.JPanel" name="phoneNumbersPanel">
|
<Container class="javax.swing.JPanel" name="phoneNumbersPanel">
|
||||||
<Constraints>
|
<Constraints>
|
||||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||||
<GridBagConstraints gridX="0" gridY="2" gridWidth="4" gridHeight="1" fill="3" ipadX="0" ipadY="0" insetsTop="6" insetsLeft="19" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
|
<GridBagConstraints gridX="0" gridY="3" gridWidth="4" gridHeight="1" fill="3" ipadX="0" ipadY="0" insetsTop="6" insetsLeft="19" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
|
||||||
</Constraint>
|
</Constraint>
|
||||||
</Constraints>
|
</Constraints>
|
||||||
|
|
||||||
@ -97,14 +83,14 @@
|
|||||||
</Properties>
|
</Properties>
|
||||||
<Constraints>
|
<Constraints>
|
||||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||||
<GridBagConstraints gridX="0" gridY="3" gridWidth="2" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="6" insetsLeft="19" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
|
<GridBagConstraints gridX="0" gridY="4" gridWidth="2" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="6" insetsLeft="19" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
|
||||||
</Constraint>
|
</Constraint>
|
||||||
</Constraints>
|
</Constraints>
|
||||||
</Component>
|
</Component>
|
||||||
<Container class="javax.swing.JPanel" name="emailsPanel">
|
<Container class="javax.swing.JPanel" name="emailsPanel">
|
||||||
<Constraints>
|
<Constraints>
|
||||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||||
<GridBagConstraints gridX="0" gridY="4" gridWidth="4" gridHeight="1" fill="3" ipadX="0" ipadY="0" insetsTop="6" insetsLeft="19" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
|
<GridBagConstraints gridX="0" gridY="5" gridWidth="4" gridHeight="1" fill="3" ipadX="0" ipadY="0" insetsTop="6" insetsLeft="19" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
|
||||||
</Constraint>
|
</Constraint>
|
||||||
</Constraints>
|
</Constraints>
|
||||||
|
|
||||||
@ -123,14 +109,14 @@
|
|||||||
</Properties>
|
</Properties>
|
||||||
<Constraints>
|
<Constraints>
|
||||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||||
<GridBagConstraints gridX="0" gridY="5" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="6" insetsLeft="19" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
|
<GridBagConstraints gridX="0" gridY="6" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="6" insetsLeft="19" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
|
||||||
</Constraint>
|
</Constraint>
|
||||||
</Constraints>
|
</Constraints>
|
||||||
</Component>
|
</Component>
|
||||||
<Container class="javax.swing.JPanel" name="otherAttrsPanel">
|
<Container class="javax.swing.JPanel" name="otherAttrsPanel">
|
||||||
<Constraints>
|
<Constraints>
|
||||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||||
<GridBagConstraints gridX="0" gridY="6" gridWidth="4" gridHeight="1" fill="3" ipadX="0" ipadY="0" insetsTop="6" insetsLeft="19" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
|
<GridBagConstraints gridX="0" gridY="7" gridWidth="4" gridHeight="1" fill="3" ipadX="0" ipadY="0" insetsTop="6" insetsLeft="19" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
|
||||||
</Constraint>
|
</Constraint>
|
||||||
</Constraints>
|
</Constraints>
|
||||||
|
|
||||||
@ -149,7 +135,7 @@
|
|||||||
</AuxValues>
|
</AuxValues>
|
||||||
<Constraints>
|
<Constraints>
|
||||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||||
<GridBagConstraints gridX="0" gridY="7" gridWidth="1" gridHeight="2" fill="3" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.1"/>
|
<GridBagConstraints gridX="0" gridY="8" gridWidth="1" gridHeight="2" fill="3" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.1"/>
|
||||||
</Constraint>
|
</Constraint>
|
||||||
</Constraints>
|
</Constraints>
|
||||||
</Component>
|
</Component>
|
||||||
@ -175,14 +161,14 @@
|
|||||||
</Properties>
|
</Properties>
|
||||||
<Constraints>
|
<Constraints>
|
||||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||||
<GridBagConstraints gridX="0" gridY="8" gridWidth="3" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="6" insetsLeft="19" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
|
<GridBagConstraints gridX="0" gridY="9" gridWidth="3" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="6" insetsLeft="19" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
|
||||||
</Constraint>
|
</Constraint>
|
||||||
</Constraints>
|
</Constraints>
|
||||||
</Component>
|
</Component>
|
||||||
<Container class="javax.swing.JPanel" name="personasPanel">
|
<Container class="javax.swing.JPanel" name="personasPanel">
|
||||||
<Constraints>
|
<Constraints>
|
||||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||||
<GridBagConstraints gridX="0" gridY="9" gridWidth="4" gridHeight="1" fill="3" ipadX="0" ipadY="0" insetsTop="6" insetsLeft="19" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
|
<GridBagConstraints gridX="0" gridY="10" gridWidth="4" gridHeight="1" fill="3" ipadX="0" ipadY="0" insetsTop="6" insetsLeft="19" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="0.0"/>
|
||||||
</Constraint>
|
</Constraint>
|
||||||
</Constraints>
|
</Constraints>
|
||||||
|
|
||||||
@ -201,7 +187,7 @@
|
|||||||
</AuxValues>
|
</AuxValues>
|
||||||
<Constraints>
|
<Constraints>
|
||||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||||
<GridBagConstraints gridX="0" gridY="10" gridWidth="4" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="1.0"/>
|
<GridBagConstraints gridX="0" gridY="11" gridWidth="4" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="1.0"/>
|
||||||
</Constraint>
|
</Constraint>
|
||||||
</Constraints>
|
</Constraints>
|
||||||
</Component>
|
</Component>
|
||||||
@ -218,7 +204,22 @@
|
|||||||
</AuxValues>
|
</AuxValues>
|
||||||
<Constraints>
|
<Constraints>
|
||||||
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||||
<GridBagConstraints gridX="4" gridY="0" gridWidth="1" gridHeight="8" fill="1" ipadX="2" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="1.0" weightY="0.0"/>
|
<GridBagConstraints gridX="4" gridY="3" gridWidth="1" gridHeight="8" fill="1" ipadX="2" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="1.0" weightY="0.0"/>
|
||||||
|
</Constraint>
|
||||||
|
</Constraints>
|
||||||
|
</Component>
|
||||||
|
<Component class="javax.swing.JLabel" name="contactImage">
|
||||||
|
<Properties>
|
||||||
|
<Property name="icon" type="javax.swing.Icon" editor="org.netbeans.modules.form.editors2.IconEditor">
|
||||||
|
<Image iconType="3" name="/org/sleuthkit/autopsy/images/defaultContact.png"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/contentviewers/Bundle.properties" key="ContactArtifactViewer.contactImage.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<Constraints>
|
||||||
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||||
|
<GridBagConstraints gridX="0" gridY="0" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="6" insetsLeft="19" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
|
||||||
</Constraint>
|
</Constraint>
|
||||||
</Constraints>
|
</Constraints>
|
||||||
</Component>
|
</Component>
|
||||||
|
@ -23,6 +23,9 @@ import java.awt.Font;
|
|||||||
import java.awt.GridBagConstraints;
|
import java.awt.GridBagConstraints;
|
||||||
import java.awt.GridBagLayout;
|
import java.awt.GridBagLayout;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
|
import java.awt.image.BufferedImage;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
@ -33,6 +36,8 @@ import java.util.concurrent.CancellationException;
|
|||||||
import java.util.concurrent.ExecutionException;
|
import java.util.concurrent.ExecutionException;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
import javax.imageio.ImageIO;
|
||||||
|
import javax.swing.ImageIcon;
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
import javax.swing.JLabel;
|
import javax.swing.JLabel;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
@ -50,8 +55,10 @@ import org.sleuthkit.autopsy.centralrepository.persona.PersonaDetailsDialogCallb
|
|||||||
import org.sleuthkit.autopsy.centralrepository.persona.PersonaDetailsMode;
|
import org.sleuthkit.autopsy.centralrepository.persona.PersonaDetailsMode;
|
||||||
import org.sleuthkit.autopsy.centralrepository.persona.PersonaDetailsPanel;
|
import org.sleuthkit.autopsy.centralrepository.persona.PersonaDetailsPanel;
|
||||||
import org.sleuthkit.autopsy.coreutils.Logger;
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
|
import org.sleuthkit.datamodel.AbstractFile;
|
||||||
import org.sleuthkit.datamodel.BlackboardArtifact;
|
import org.sleuthkit.datamodel.BlackboardArtifact;
|
||||||
import org.sleuthkit.datamodel.BlackboardAttribute;
|
import org.sleuthkit.datamodel.BlackboardAttribute;
|
||||||
|
import org.sleuthkit.datamodel.Content;
|
||||||
import org.sleuthkit.datamodel.TskCoreException;
|
import org.sleuthkit.datamodel.TskCoreException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -76,11 +83,16 @@ public class ContactArtifactViewer extends javax.swing.JPanel implements Artifac
|
|||||||
// account identifier attributes of the Contact artifact.
|
// account identifier attributes of the Contact artifact.
|
||||||
private final Map<Persona, ArrayList<CentralRepoAccount>> contactUniquePersonasMap = new HashMap<>();
|
private final Map<Persona, ArrayList<CentralRepoAccount>> contactUniquePersonasMap = new HashMap<>();
|
||||||
|
|
||||||
|
private final static String DEFAULT_IMAGE_PATH = "/org/sleuthkit/autopsy/images/defaultContact.png";
|
||||||
|
private final ImageIcon defaultImage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Creates new form for ContactArtifactViewer
|
* Creates new form for ContactArtifactViewer
|
||||||
*/
|
*/
|
||||||
public ContactArtifactViewer() {
|
public ContactArtifactViewer() {
|
||||||
initComponents();
|
initComponents();
|
||||||
|
|
||||||
|
defaultImage = new ImageIcon(ContactArtifactViewer.class.getResource(DEFAULT_IMAGE_PATH));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -106,41 +118,38 @@ public class ContactArtifactViewer extends javax.swing.JPanel implements Artifac
|
|||||||
personasPanel = new javax.swing.JPanel();
|
personasPanel = new javax.swing.JPanel();
|
||||||
javax.swing.Box.Filler bottomFiller = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 32767));
|
javax.swing.Box.Filler bottomFiller = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 32767));
|
||||||
javax.swing.Box.Filler rightFiller = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0));
|
javax.swing.Box.Filler rightFiller = new javax.swing.Box.Filler(new java.awt.Dimension(0, 0), new java.awt.Dimension(0, 0), new java.awt.Dimension(32767, 0));
|
||||||
|
contactImage = new javax.swing.JLabel();
|
||||||
|
|
||||||
setLayout(new java.awt.GridBagLayout());
|
setLayout(new java.awt.GridBagLayout());
|
||||||
|
|
||||||
|
namePanel.setLayout(new java.awt.GridBagLayout());
|
||||||
|
|
||||||
contactNameLabel.setFont(contactNameLabel.getFont().deriveFont((contactNameLabel.getFont().getStyle() | java.awt.Font.ITALIC) | java.awt.Font.BOLD, contactNameLabel.getFont().getSize()+6));
|
contactNameLabel.setFont(contactNameLabel.getFont().deriveFont((contactNameLabel.getFont().getStyle() | java.awt.Font.ITALIC) | java.awt.Font.BOLD, contactNameLabel.getFont().getSize()+6));
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(contactNameLabel, org.openide.util.NbBundle.getMessage(ContactArtifactViewer.class, "ContactArtifactViewer.contactNameLabel.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(contactNameLabel, org.openide.util.NbBundle.getMessage(ContactArtifactViewer.class, "ContactArtifactViewer.contactNameLabel.text")); // NOI18N
|
||||||
|
|
||||||
javax.swing.GroupLayout namePanelLayout = new javax.swing.GroupLayout(namePanel);
|
|
||||||
namePanel.setLayout(namePanelLayout);
|
|
||||||
namePanelLayout.setHorizontalGroup(
|
|
||||||
namePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
||||||
.addGroup(namePanelLayout.createSequentialGroup()
|
|
||||||
.addContainerGap()
|
|
||||||
.addComponent(contactNameLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 240, javax.swing.GroupLayout.PREFERRED_SIZE)
|
|
||||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
|
||||||
);
|
|
||||||
namePanelLayout.setVerticalGroup(
|
|
||||||
namePanelLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
||||||
.addGroup(namePanelLayout.createSequentialGroup()
|
|
||||||
.addContainerGap()
|
|
||||||
.addComponent(contactNameLabel)
|
|
||||||
.addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
|
|
||||||
);
|
|
||||||
|
|
||||||
gridBagConstraints = new java.awt.GridBagConstraints();
|
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||||
gridBagConstraints.gridx = 0;
|
gridBagConstraints.gridx = 0;
|
||||||
gridBagConstraints.gridy = 0;
|
gridBagConstraints.gridy = 0;
|
||||||
gridBagConstraints.gridwidth = 4;
|
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
|
||||||
|
gridBagConstraints.ipadx = 111;
|
||||||
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
||||||
|
gridBagConstraints.weightx = 1.0;
|
||||||
|
namePanel.add(contactNameLabel, gridBagConstraints);
|
||||||
|
|
||||||
|
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||||
|
gridBagConstraints.gridx = 0;
|
||||||
|
gridBagConstraints.gridy = 1;
|
||||||
|
gridBagConstraints.gridwidth = 5;
|
||||||
|
gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
|
||||||
|
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
||||||
|
gridBagConstraints.weightx = 1.0;
|
||||||
|
gridBagConstraints.insets = new java.awt.Insets(6, 19, 0, 0);
|
||||||
add(namePanel, gridBagConstraints);
|
add(namePanel, gridBagConstraints);
|
||||||
|
|
||||||
phonesLabel.setFont(phonesLabel.getFont().deriveFont(phonesLabel.getFont().getStyle() | java.awt.Font.BOLD, phonesLabel.getFont().getSize()+2));
|
phonesLabel.setFont(phonesLabel.getFont().deriveFont(phonesLabel.getFont().getStyle() | java.awt.Font.BOLD, phonesLabel.getFont().getSize()+2));
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(phonesLabel, org.openide.util.NbBundle.getMessage(ContactArtifactViewer.class, "ContactArtifactViewer.phonesLabel.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(phonesLabel, org.openide.util.NbBundle.getMessage(ContactArtifactViewer.class, "ContactArtifactViewer.phonesLabel.text")); // NOI18N
|
||||||
gridBagConstraints = new java.awt.GridBagConstraints();
|
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||||
gridBagConstraints.gridx = 0;
|
gridBagConstraints.gridx = 0;
|
||||||
gridBagConstraints.gridy = 1;
|
gridBagConstraints.gridy = 2;
|
||||||
gridBagConstraints.gridwidth = 3;
|
gridBagConstraints.gridwidth = 3;
|
||||||
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
||||||
gridBagConstraints.insets = new java.awt.Insets(6, 19, 0, 0);
|
gridBagConstraints.insets = new java.awt.Insets(6, 19, 0, 0);
|
||||||
@ -149,7 +158,7 @@ public class ContactArtifactViewer extends javax.swing.JPanel implements Artifac
|
|||||||
phoneNumbersPanel.setLayout(new java.awt.GridBagLayout());
|
phoneNumbersPanel.setLayout(new java.awt.GridBagLayout());
|
||||||
gridBagConstraints = new java.awt.GridBagConstraints();
|
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||||
gridBagConstraints.gridx = 0;
|
gridBagConstraints.gridx = 0;
|
||||||
gridBagConstraints.gridy = 2;
|
gridBagConstraints.gridy = 3;
|
||||||
gridBagConstraints.gridwidth = 4;
|
gridBagConstraints.gridwidth = 4;
|
||||||
gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
|
gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
|
||||||
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
||||||
@ -160,7 +169,7 @@ public class ContactArtifactViewer extends javax.swing.JPanel implements Artifac
|
|||||||
org.openide.awt.Mnemonics.setLocalizedText(emailsLabel, org.openide.util.NbBundle.getMessage(ContactArtifactViewer.class, "ContactArtifactViewer.emailsLabel.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(emailsLabel, org.openide.util.NbBundle.getMessage(ContactArtifactViewer.class, "ContactArtifactViewer.emailsLabel.text")); // NOI18N
|
||||||
gridBagConstraints = new java.awt.GridBagConstraints();
|
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||||
gridBagConstraints.gridx = 0;
|
gridBagConstraints.gridx = 0;
|
||||||
gridBagConstraints.gridy = 3;
|
gridBagConstraints.gridy = 4;
|
||||||
gridBagConstraints.gridwidth = 2;
|
gridBagConstraints.gridwidth = 2;
|
||||||
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
||||||
gridBagConstraints.insets = new java.awt.Insets(6, 19, 0, 0);
|
gridBagConstraints.insets = new java.awt.Insets(6, 19, 0, 0);
|
||||||
@ -169,7 +178,7 @@ public class ContactArtifactViewer extends javax.swing.JPanel implements Artifac
|
|||||||
emailsPanel.setLayout(new java.awt.GridBagLayout());
|
emailsPanel.setLayout(new java.awt.GridBagLayout());
|
||||||
gridBagConstraints = new java.awt.GridBagConstraints();
|
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||||
gridBagConstraints.gridx = 0;
|
gridBagConstraints.gridx = 0;
|
||||||
gridBagConstraints.gridy = 4;
|
gridBagConstraints.gridy = 5;
|
||||||
gridBagConstraints.gridwidth = 4;
|
gridBagConstraints.gridwidth = 4;
|
||||||
gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
|
gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
|
||||||
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
||||||
@ -180,7 +189,7 @@ public class ContactArtifactViewer extends javax.swing.JPanel implements Artifac
|
|||||||
org.openide.awt.Mnemonics.setLocalizedText(othersLabel, org.openide.util.NbBundle.getMessage(ContactArtifactViewer.class, "ContactArtifactViewer.othersLabel.text")); // NOI18N
|
org.openide.awt.Mnemonics.setLocalizedText(othersLabel, org.openide.util.NbBundle.getMessage(ContactArtifactViewer.class, "ContactArtifactViewer.othersLabel.text")); // NOI18N
|
||||||
gridBagConstraints = new java.awt.GridBagConstraints();
|
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||||
gridBagConstraints.gridx = 0;
|
gridBagConstraints.gridx = 0;
|
||||||
gridBagConstraints.gridy = 5;
|
gridBagConstraints.gridy = 6;
|
||||||
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
||||||
gridBagConstraints.insets = new java.awt.Insets(6, 19, 0, 0);
|
gridBagConstraints.insets = new java.awt.Insets(6, 19, 0, 0);
|
||||||
add(othersLabel, gridBagConstraints);
|
add(othersLabel, gridBagConstraints);
|
||||||
@ -188,7 +197,7 @@ public class ContactArtifactViewer extends javax.swing.JPanel implements Artifac
|
|||||||
otherAttrsPanel.setLayout(new java.awt.GridBagLayout());
|
otherAttrsPanel.setLayout(new java.awt.GridBagLayout());
|
||||||
gridBagConstraints = new java.awt.GridBagConstraints();
|
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||||
gridBagConstraints.gridx = 0;
|
gridBagConstraints.gridx = 0;
|
||||||
gridBagConstraints.gridy = 6;
|
gridBagConstraints.gridy = 7;
|
||||||
gridBagConstraints.gridwidth = 4;
|
gridBagConstraints.gridwidth = 4;
|
||||||
gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
|
gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
|
||||||
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
||||||
@ -196,7 +205,7 @@ public class ContactArtifactViewer extends javax.swing.JPanel implements Artifac
|
|||||||
add(otherAttrsPanel, gridBagConstraints);
|
add(otherAttrsPanel, gridBagConstraints);
|
||||||
gridBagConstraints = new java.awt.GridBagConstraints();
|
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||||
gridBagConstraints.gridx = 0;
|
gridBagConstraints.gridx = 0;
|
||||||
gridBagConstraints.gridy = 7;
|
gridBagConstraints.gridy = 8;
|
||||||
gridBagConstraints.gridheight = 2;
|
gridBagConstraints.gridheight = 2;
|
||||||
gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
|
gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
|
||||||
gridBagConstraints.weighty = 0.1;
|
gridBagConstraints.weighty = 0.1;
|
||||||
@ -209,7 +218,7 @@ public class ContactArtifactViewer extends javax.swing.JPanel implements Artifac
|
|||||||
personasLabel.setPreferredSize(new java.awt.Dimension(90, 19));
|
personasLabel.setPreferredSize(new java.awt.Dimension(90, 19));
|
||||||
gridBagConstraints = new java.awt.GridBagConstraints();
|
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||||
gridBagConstraints.gridx = 0;
|
gridBagConstraints.gridx = 0;
|
||||||
gridBagConstraints.gridy = 8;
|
gridBagConstraints.gridy = 9;
|
||||||
gridBagConstraints.gridwidth = 3;
|
gridBagConstraints.gridwidth = 3;
|
||||||
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
||||||
gridBagConstraints.insets = new java.awt.Insets(6, 19, 0, 0);
|
gridBagConstraints.insets = new java.awt.Insets(6, 19, 0, 0);
|
||||||
@ -218,7 +227,7 @@ public class ContactArtifactViewer extends javax.swing.JPanel implements Artifac
|
|||||||
personasPanel.setLayout(new java.awt.GridBagLayout());
|
personasPanel.setLayout(new java.awt.GridBagLayout());
|
||||||
gridBagConstraints = new java.awt.GridBagConstraints();
|
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||||
gridBagConstraints.gridx = 0;
|
gridBagConstraints.gridx = 0;
|
||||||
gridBagConstraints.gridy = 9;
|
gridBagConstraints.gridy = 10;
|
||||||
gridBagConstraints.gridwidth = 4;
|
gridBagConstraints.gridwidth = 4;
|
||||||
gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
|
gridBagConstraints.fill = java.awt.GridBagConstraints.VERTICAL;
|
||||||
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
||||||
@ -226,19 +235,27 @@ public class ContactArtifactViewer extends javax.swing.JPanel implements Artifac
|
|||||||
add(personasPanel, gridBagConstraints);
|
add(personasPanel, gridBagConstraints);
|
||||||
gridBagConstraints = new java.awt.GridBagConstraints();
|
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||||
gridBagConstraints.gridx = 0;
|
gridBagConstraints.gridx = 0;
|
||||||
gridBagConstraints.gridy = 10;
|
gridBagConstraints.gridy = 11;
|
||||||
gridBagConstraints.gridwidth = 4;
|
gridBagConstraints.gridwidth = 4;
|
||||||
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
|
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
|
||||||
gridBagConstraints.weighty = 1.0;
|
gridBagConstraints.weighty = 1.0;
|
||||||
add(bottomFiller, gridBagConstraints);
|
add(bottomFiller, gridBagConstraints);
|
||||||
gridBagConstraints = new java.awt.GridBagConstraints();
|
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||||
gridBagConstraints.gridx = 4;
|
gridBagConstraints.gridx = 4;
|
||||||
gridBagConstraints.gridy = 0;
|
gridBagConstraints.gridy = 3;
|
||||||
gridBagConstraints.gridheight = 8;
|
gridBagConstraints.gridheight = 8;
|
||||||
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
|
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
|
||||||
gridBagConstraints.ipadx = 2;
|
gridBagConstraints.ipadx = 2;
|
||||||
gridBagConstraints.weightx = 1.0;
|
gridBagConstraints.weightx = 1.0;
|
||||||
add(rightFiller, gridBagConstraints);
|
add(rightFiller, gridBagConstraints);
|
||||||
|
|
||||||
|
contactImage.setIcon(new javax.swing.ImageIcon(getClass().getResource("/org/sleuthkit/autopsy/images/defaultContact.png"))); // NOI18N
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(contactImage, org.openide.util.NbBundle.getMessage(ContactArtifactViewer.class, "ContactArtifactViewer.contactImage.text")); // NOI18N
|
||||||
|
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||||
|
gridBagConstraints.gridx = 0;
|
||||||
|
gridBagConstraints.gridy = 0;
|
||||||
|
gridBagConstraints.insets = new java.awt.Insets(6, 19, 0, 0);
|
||||||
|
add(contactImage, gridBagConstraints);
|
||||||
}// </editor-fold>//GEN-END:initComponents
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -292,6 +309,8 @@ public class ContactArtifactViewer extends javax.swing.JPanel implements Artifac
|
|||||||
logger.log(Level.SEVERE, String.format("Error getting Personas for Contact artifact (artifact_id=%d, obj_id=%d)", artifact.getArtifactID(), artifact.getObjectID()), ex);
|
logger.log(Level.SEVERE, String.format("Error getting Personas for Contact artifact (artifact_id=%d, obj_id=%d)", artifact.getArtifactID(), artifact.getObjectID()), ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
contactImage.setIcon(getImageFromArtifact(artifact));
|
||||||
|
|
||||||
// repaint
|
// repaint
|
||||||
this.revalidate();
|
this.revalidate();
|
||||||
this.repaint();
|
this.repaint();
|
||||||
@ -334,6 +353,7 @@ public class ContactArtifactViewer extends javax.swing.JPanel implements Artifac
|
|||||||
contactName = null;
|
contactName = null;
|
||||||
contactUniqueAccountsList.clear();
|
contactUniqueAccountsList.clear();
|
||||||
contactUniquePersonasMap.clear();
|
contactUniquePersonasMap.clear();
|
||||||
|
contactImage.setIcon(defaultImage);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -616,6 +636,49 @@ public class ContactArtifactViewer extends javax.swing.JPanel implements Artifac
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets an image from a TSK_CONTACT artifact.
|
||||||
|
*
|
||||||
|
* @param artifact
|
||||||
|
*
|
||||||
|
* @return Image from a TSK_CONTACT artifact or default image if none was
|
||||||
|
* found or the artifact is not a TSK_CONTACT
|
||||||
|
*/
|
||||||
|
private ImageIcon getImageFromArtifact(BlackboardArtifact artifact) {
|
||||||
|
ImageIcon imageIcon = defaultImage;
|
||||||
|
|
||||||
|
if (artifact == null) {
|
||||||
|
return imageIcon;
|
||||||
|
}
|
||||||
|
|
||||||
|
BlackboardArtifact.ARTIFACT_TYPE artifactType = BlackboardArtifact.ARTIFACT_TYPE.fromID(artifact.getArtifactTypeID());
|
||||||
|
if (artifactType != BlackboardArtifact.ARTIFACT_TYPE.TSK_CONTACT) {
|
||||||
|
return imageIcon;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
for (Content content : artifact.getChildren()) {
|
||||||
|
if (content instanceof AbstractFile) {
|
||||||
|
AbstractFile file = (AbstractFile) content;
|
||||||
|
|
||||||
|
try {
|
||||||
|
BufferedImage image = ImageIO.read(new File(file.getLocalAbsPath()));
|
||||||
|
imageIcon = new ImageIcon(image);
|
||||||
|
break;
|
||||||
|
} catch (IOException ex) {
|
||||||
|
// ImageIO.read will through an IOException if file is not an image
|
||||||
|
// therefore we don't need to report this exception just try
|
||||||
|
// the next file.
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (TskCoreException ex) {
|
||||||
|
logger.log(Level.WARNING, String.format("Unable to load image for contact: %d", artifact.getId()), ex);
|
||||||
|
}
|
||||||
|
|
||||||
|
return imageIcon;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Thread to search for a personas for all account identifier attributes for
|
* Thread to search for a personas for all account identifier attributes for
|
||||||
* a contact.
|
* a contact.
|
||||||
@ -864,6 +927,7 @@ public class ContactArtifactViewer extends javax.swing.JPanel implements Artifac
|
|||||||
|
|
||||||
|
|
||||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
|
private javax.swing.JLabel contactImage;
|
||||||
private javax.swing.JLabel contactNameLabel;
|
private javax.swing.JLabel contactNameLabel;
|
||||||
private javax.swing.JLabel emailsLabel;
|
private javax.swing.JLabel emailsLabel;
|
||||||
private javax.swing.JPanel emailsPanel;
|
private javax.swing.JPanel emailsPanel;
|
||||||
|
@ -75,6 +75,9 @@
|
|||||||
<Component class="javax.swing.JTextArea" name="outputTextArea">
|
<Component class="javax.swing.JTextArea" name="outputTextArea">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="editable" type="boolean" value="false"/>
|
<Property name="editable" type="boolean" value="false"/>
|
||||||
|
<Property name="font" type="java.awt.Font" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
|
||||||
|
<Connection code="new Font("Monospaced", Font.PLAIN, 11)" type="code"/>
|
||||||
|
</Property>
|
||||||
<Property name="tabSize" type="int" value="0"/>
|
<Property name="tabSize" type="int" value="0"/>
|
||||||
<Property name="inheritsPopupMenu" type="boolean" value="true"/>
|
<Property name="inheritsPopupMenu" type="boolean" value="true"/>
|
||||||
</Properties>
|
</Properties>
|
||||||
|
@ -20,6 +20,7 @@ package org.sleuthkit.autopsy.corecomponents;
|
|||||||
|
|
||||||
import java.awt.Component;
|
import java.awt.Component;
|
||||||
import java.awt.Cursor;
|
import java.awt.Cursor;
|
||||||
|
import java.awt.Font;
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
@ -130,6 +131,7 @@ public class DataContentViewerHex extends javax.swing.JPanel implements DataCont
|
|||||||
jScrollPane3.setPreferredSize(new java.awt.Dimension(300, 33));
|
jScrollPane3.setPreferredSize(new java.awt.Dimension(300, 33));
|
||||||
|
|
||||||
outputTextArea.setEditable(false);
|
outputTextArea.setEditable(false);
|
||||||
|
outputTextArea.setFont(new Font("Monospaced", Font.PLAIN, 11));
|
||||||
outputTextArea.setTabSize(0);
|
outputTextArea.setTabSize(0);
|
||||||
outputTextArea.setInheritsPopupMenu(true);
|
outputTextArea.setInheritsPopupMenu(true);
|
||||||
jScrollPane3.setViewportView(outputTextArea);
|
jScrollPane3.setViewportView(outputTextArea);
|
||||||
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
@ -41,6 +41,8 @@ import org.sleuthkit.autopsy.coreutils.MessageNotifyUtil;
|
|||||||
import org.sleuthkit.autopsy.coreutils.PlatformUtil;
|
import org.sleuthkit.autopsy.coreutils.PlatformUtil;
|
||||||
import org.sleuthkit.autopsy.ingest.IngestModuleFactory;
|
import org.sleuthkit.autopsy.ingest.IngestModuleFactory;
|
||||||
import org.sleuthkit.autopsy.report.GeneralReportModule;
|
import org.sleuthkit.autopsy.report.GeneralReportModule;
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.FileReader;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Finds and loads Autopsy modules written using the Jython variant of the
|
* Finds and loads Autopsy modules written using the Jython variant of the
|
||||||
@ -97,7 +99,7 @@ public final class JythonModuleLoader {
|
|||||||
if (file.isDirectory()) {
|
if (file.isDirectory()) {
|
||||||
File[] pythonScripts = file.listFiles(new PythonScriptFileFilter());
|
File[] pythonScripts = file.listFiles(new PythonScriptFileFilter());
|
||||||
for (File script : pythonScripts) {
|
for (File script : pythonScripts) {
|
||||||
try (Scanner fileScanner = new Scanner(script)) {
|
try (Scanner fileScanner = new Scanner(new BufferedReader(new FileReader(script)))) {
|
||||||
while (fileScanner.hasNextLine()) {
|
while (fileScanner.hasNextLine()) {
|
||||||
String line = fileScanner.nextLine();
|
String line = fileScanner.nextLine();
|
||||||
if (line.startsWith("class ") && filter.accept(line)) { //NON-NLS
|
if (line.startsWith("class ") && filter.accept(line)) { //NON-NLS
|
||||||
|
Loading…
x
Reference in New Issue
Block a user