mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-12 16:06:15 +00:00
Switch the CVT SummaryViewer file reference container to JList
This commit is contained in:
parent
d37dcc73b3
commit
49e844dd6d
@ -9,7 +9,6 @@ SummaryViewer.callLogsLabel.text=Call Logs:
|
|||||||
ThreadRootMessagePanel.showAllCheckBox.text=Show All Messages
|
ThreadRootMessagePanel.showAllCheckBox.text=Show All Messages
|
||||||
ThreadPane.backButton.text=<---
|
ThreadPane.backButton.text=<---
|
||||||
SummaryViewer.caseReferencesPanel.border.title=Other Occurrences
|
SummaryViewer.caseReferencesPanel.border.title=Other Occurrences
|
||||||
SummaryViewer.fileReferencesPanel.border.title=File References in Current Case
|
|
||||||
MessageViewer.threadsLabel.text=Select a Thread to View
|
MessageViewer.threadsLabel.text=Select a Thread to View
|
||||||
MessageViewer.threadNameLabel.text=<threadName>
|
MessageViewer.threadNameLabel.text=<threadName>
|
||||||
MessageViewer.showingMessagesLabel.text=Showing Messages for Thread:
|
MessageViewer.showingMessagesLabel.text=Showing Messages for Thread:
|
||||||
@ -27,3 +26,5 @@ SummaryViewer.referencesLabel.text=Communication References:
|
|||||||
SummaryViewer.referencesDataLabel.text=<reference count>
|
SummaryViewer.referencesDataLabel.text=<reference count>
|
||||||
SummaryViewer.contactsLabel.text=Book Entries:
|
SummaryViewer.contactsLabel.text=Book Entries:
|
||||||
SummaryViewer.accountCountry.text=<account country>
|
SummaryViewer.accountCountry.text=<account country>
|
||||||
|
SummaryViewer.fileRefPane.border.title=File Referernce(s) in Current Case
|
||||||
|
SummaryViewer.selectAccountFileRefLabel.text=<Select a single account to see File References>
|
||||||
|
@ -49,13 +49,13 @@ SummaryViewer_CentralRepository_Message=<Enable Central Respository to see Other
|
|||||||
SummaryViewer_Country_Code=Country:
|
SummaryViewer_Country_Code=Country:
|
||||||
SummaryViewer_Creation_Date_Title=Creation Date
|
SummaryViewer_Creation_Date_Title=Creation Date
|
||||||
SummaryViewer_Device_Account_Description=This account was referenced by a device in the case.
|
SummaryViewer_Device_Account_Description=This account was referenced by a device in the case.
|
||||||
|
SummaryViewer_Fetching_References=<Fetching File References>
|
||||||
SummaryViewer_FileRef_Message=<Select a single account to see File References>
|
SummaryViewer_FileRef_Message=<Select a single account to see File References>
|
||||||
SummaryViewer_FileRefNameColumn_Title=Path
|
SummaryViewer_FileRefNameColumn_Title=Path
|
||||||
SummaryViewer_TabTitle=Summary
|
SummaryViewer_TabTitle=Summary
|
||||||
ThreadRootMessagePanel.showAllCheckBox.text=Show All Messages
|
ThreadRootMessagePanel.showAllCheckBox.text=Show All Messages
|
||||||
ThreadPane.backButton.text=<---
|
ThreadPane.backButton.text=<---
|
||||||
SummaryViewer.caseReferencesPanel.border.title=Other Occurrences
|
SummaryViewer.caseReferencesPanel.border.title=Other Occurrences
|
||||||
SummaryViewer.fileReferencesPanel.border.title=File References in Current Case
|
|
||||||
MessageViewer.threadsLabel.text=Select a Thread to View
|
MessageViewer.threadsLabel.text=Select a Thread to View
|
||||||
MessageViewer.threadNameLabel.text=<threadName>
|
MessageViewer.threadNameLabel.text=<threadName>
|
||||||
MessageViewer.showingMessagesLabel.text=Showing Messages for Thread:
|
MessageViewer.showingMessagesLabel.text=Showing Messages for Thread:
|
||||||
@ -73,3 +73,5 @@ SummaryViewer.referencesLabel.text=Communication References:
|
|||||||
SummaryViewer.referencesDataLabel.text=<reference count>
|
SummaryViewer.referencesDataLabel.text=<reference count>
|
||||||
SummaryViewer.contactsLabel.text=Book Entries:
|
SummaryViewer.contactsLabel.text=Book Entries:
|
||||||
SummaryViewer.accountCountry.text=<account country>
|
SummaryViewer.accountCountry.text=<account country>
|
||||||
|
SummaryViewer.fileRefPane.border.title=File Referernce(s) in Current Case
|
||||||
|
SummaryViewer.selectAccountFileRefLabel.text=<Select a single account to see File References>
|
||||||
|
@ -49,7 +49,6 @@ SummeryViewer_FileRef_Message=<\u30a2\u30ab\u30a6\u30f3\u30c8\u30921\u3064\u9078
|
|||||||
ThreadRootMessagePanel.showAllCheckBox.text=\u3059\u3079\u3066\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u8868\u793a
|
ThreadRootMessagePanel.showAllCheckBox.text=\u3059\u3079\u3066\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u8868\u793a
|
||||||
ThreadPane.backButton.text=<---
|
ThreadPane.backButton.text=<---
|
||||||
SummaryViewer.caseReferencesPanel.border.title=\u305d\u306e\u4ed6\u306e\u767a\u751f
|
SummaryViewer.caseReferencesPanel.border.title=\u305d\u306e\u4ed6\u306e\u767a\u751f
|
||||||
SummaryViewer.fileReferencesPanel.border.title=\u73fe\u5728\u306e\u30b1\u30fc\u30b9\u306e\u30d5\u30a1\u30a4\u30eb\u30ec\u30d5\u30a1\u30ec\u30f3\u30b9
|
|
||||||
MessageViewer.threadsLabel.text=\u30b9\u30ec\u30c3\u30c9\u3092\u9078\u629e\u3057\u3066\u8868\u793a
|
MessageViewer.threadsLabel.text=\u30b9\u30ec\u30c3\u30c9\u3092\u9078\u629e\u3057\u3066\u8868\u793a
|
||||||
MessageViewer.threadNameLabel.text=<threadName>
|
MessageViewer.threadNameLabel.text=<threadName>
|
||||||
MessageViewer.showingMessagesLabel.text=\u6b21\u306e\u30b9\u30ec\u30c3\u30c9\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u8868\u793a\u4e2d\u3067\u3059:
|
MessageViewer.showingMessagesLabel.text=\u6b21\u306e\u30b9\u30ec\u30c3\u30c9\u306e\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u8868\u793a\u4e2d\u3067\u3059:
|
||||||
|
@ -253,22 +253,6 @@
|
|||||||
</Component>
|
</Component>
|
||||||
</SubComponents>
|
</SubComponents>
|
||||||
</Container>
|
</Container>
|
||||||
<Component class="org.sleuthkit.autopsy.communications.relationships.OutlineViewPanel" name="fileReferencesPanel">
|
|
||||||
<Properties>
|
|
||||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
|
||||||
<Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
|
|
||||||
<TitledBorder title="File References in Current Case">
|
|
||||||
<ResourceString PropertyName="titleX" bundle="org/sleuthkit/autopsy/communications/relationships/Bundle.properties" key="SummaryViewer.fileReferencesPanel.border.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
|
||||||
</TitledBorder>
|
|
||||||
</Border>
|
|
||||||
</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="3" gridWidth="1" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="9" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="18" weightX="1.0" weightY="1.0"/>
|
|
||||||
</Constraint>
|
|
||||||
</Constraints>
|
|
||||||
</Component>
|
|
||||||
<Component class="org.sleuthkit.autopsy.communications.relationships.OutlineViewPanel" name="caseReferencesPanel">
|
<Component class="org.sleuthkit.autopsy.communications.relationships.OutlineViewPanel" name="caseReferencesPanel">
|
||||||
<Properties>
|
<Properties>
|
||||||
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||||
@ -285,5 +269,87 @@
|
|||||||
</Constraint>
|
</Constraint>
|
||||||
</Constraints>
|
</Constraints>
|
||||||
</Component>
|
</Component>
|
||||||
|
<Container class="javax.swing.JPanel" name="fileRefPane">
|
||||||
|
<Properties>
|
||||||
|
<Property name="border" type="javax.swing.border.Border" editor="org.netbeans.modules.form.editors2.BorderEditor">
|
||||||
|
<Border info="org.netbeans.modules.form.compat2.border.TitledBorderInfo">
|
||||||
|
<TitledBorder title="File Referernce(s) in Current Case">
|
||||||
|
<ResourceString PropertyName="titleX" bundle="org/sleuthkit/autopsy/communications/relationships/Bundle.properties" key="SummaryViewer.fileRefPane.border.title" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</TitledBorder>
|
||||||
|
</Border>
|
||||||
|
</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="3" gridWidth="1" gridHeight="1" fill="1" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="18" weightX="0.0" weightY="1.0"/>
|
||||||
|
</Constraint>
|
||||||
|
</Constraints>
|
||||||
|
|
||||||
|
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignCardLayout"/>
|
||||||
|
<SubComponents>
|
||||||
|
<Container class="javax.swing.JPanel" name="fileRefScrolPanel">
|
||||||
|
<Constraints>
|
||||||
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignCardLayout" value="org.netbeans.modules.form.compat2.layouts.DesignCardLayout$CardConstraintsDescription">
|
||||||
|
<CardConstraints cardName="listPanelCard"/>
|
||||||
|
</Constraint>
|
||||||
|
</Constraints>
|
||||||
|
|
||||||
|
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout"/>
|
||||||
|
<SubComponents>
|
||||||
|
<Container class="javax.swing.JScrollPane" name="scrollPane">
|
||||||
|
<Constraints>
|
||||||
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout" value="org.netbeans.modules.form.compat2.layouts.DesignBorderLayout$BorderConstraintsDescription">
|
||||||
|
<BorderConstraints direction="Center"/>
|
||||||
|
</Constraint>
|
||||||
|
</Constraints>
|
||||||
|
|
||||||
|
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||||
|
<SubComponents>
|
||||||
|
<Component class="javax.swing.JList" name="fileRefList">
|
||||||
|
<Properties>
|
||||||
|
<Property name="model" type="javax.swing.ListModel" editor="org.netbeans.modules.form.editors2.ListModelEditor">
|
||||||
|
<StringArray count="5">
|
||||||
|
<StringItem index="0" value="Item 1"/>
|
||||||
|
<StringItem index="1" value="Item 2"/>
|
||||||
|
<StringItem index="2" value="Item 3"/>
|
||||||
|
<StringItem index="3" value="Item 4"/>
|
||||||
|
<StringItem index="4" value="Item 5"/>
|
||||||
|
</StringArray>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
<AuxValues>
|
||||||
|
<AuxValue name="JavaCodeGenerator_TypeParameters" type="java.lang.String" value="<String>"/>
|
||||||
|
</AuxValues>
|
||||||
|
</Component>
|
||||||
|
</SubComponents>
|
||||||
|
</Container>
|
||||||
|
</SubComponents>
|
||||||
|
</Container>
|
||||||
|
<Container class="javax.swing.JPanel" name="selectAccountPane">
|
||||||
|
<Constraints>
|
||||||
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignCardLayout" value="org.netbeans.modules.form.compat2.layouts.DesignCardLayout$CardConstraintsDescription">
|
||||||
|
<CardConstraints cardName="selectAccountCard"/>
|
||||||
|
</Constraint>
|
||||||
|
</Constraints>
|
||||||
|
|
||||||
|
<Layout class="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout"/>
|
||||||
|
<SubComponents>
|
||||||
|
<Component class="javax.swing.JLabel" name="selectAccountFileRefLabel">
|
||||||
|
<Properties>
|
||||||
|
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/communications/relationships/Bundle.properties" key="SummaryViewer.selectAccountFileRefLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Property>
|
||||||
|
<Property name="enabled" type="boolean" value="false"/>
|
||||||
|
</Properties>
|
||||||
|
<Constraints>
|
||||||
|
<Constraint layoutClass="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout" value="org.netbeans.modules.form.compat2.layouts.DesignGridBagLayout$GridBagConstraintsDescription">
|
||||||
|
<GridBagConstraints gridX="-1" gridY="-1" gridWidth="1" gridHeight="1" fill="0" ipadX="0" ipadY="0" insetsTop="0" insetsLeft="0" insetsBottom="0" insetsRight="0" anchor="10" weightX="0.0" weightY="0.0"/>
|
||||||
|
</Constraint>
|
||||||
|
</Constraints>
|
||||||
|
</Component>
|
||||||
|
</SubComponents>
|
||||||
|
</Container>
|
||||||
|
</SubComponents>
|
||||||
|
</Container>
|
||||||
</SubComponents>
|
</SubComponents>
|
||||||
</Form>
|
</Form>
|
||||||
|
@ -18,8 +18,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.sleuthkit.autopsy.communications.relationships;
|
package org.sleuthkit.autopsy.communications.relationships;
|
||||||
|
|
||||||
import java.util.Set;
|
import java.awt.CardLayout;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.concurrent.ExecutionException;
|
||||||
|
import java.util.logging.Level;
|
||||||
|
import javax.swing.DefaultListModel;
|
||||||
import javax.swing.JPanel;
|
import javax.swing.JPanel;
|
||||||
|
import javax.swing.SwingWorker;
|
||||||
import org.netbeans.swing.outline.DefaultOutlineModel;
|
import org.netbeans.swing.outline.DefaultOutlineModel;
|
||||||
import org.netbeans.swing.outline.Outline;
|
import org.netbeans.swing.outline.Outline;
|
||||||
import org.openide.explorer.view.OutlineView;
|
import org.openide.explorer.view.OutlineView;
|
||||||
@ -27,8 +33,11 @@ import org.openide.nodes.AbstractNode;
|
|||||||
import org.openide.nodes.Children;
|
import org.openide.nodes.Children;
|
||||||
import org.openide.util.Lookup;
|
import org.openide.util.Lookup;
|
||||||
import org.openide.util.NbBundle.Messages;
|
import org.openide.util.NbBundle.Messages;
|
||||||
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
import org.sleuthkit.datamodel.Account;
|
import org.sleuthkit.datamodel.Account;
|
||||||
import org.sleuthkit.autopsy.centralrepository.datamodel.CentralRepository;
|
import org.sleuthkit.autopsy.centralrepository.datamodel.CentralRepository;
|
||||||
|
import org.sleuthkit.autopsy.coreutils.Logger;
|
||||||
|
import org.sleuthkit.datamodel.AccountFileInstance;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Account Summary View Panel. This panel shows a list of various counts related
|
* Account Summary View Panel. This panel shows a list of various counts related
|
||||||
@ -39,6 +48,9 @@ import org.sleuthkit.autopsy.centralrepository.datamodel.CentralRepository;
|
|||||||
public class SummaryViewer extends javax.swing.JPanel implements RelationshipsViewer {
|
public class SummaryViewer extends javax.swing.JPanel implements RelationshipsViewer {
|
||||||
|
|
||||||
private final Lookup lookup;
|
private final Lookup lookup;
|
||||||
|
private final DefaultListModel<String> fileRefListModel;
|
||||||
|
|
||||||
|
private static final Logger logger = Logger.getLogger(SummaryViewer.class.getName());
|
||||||
|
|
||||||
@Messages({
|
@Messages({
|
||||||
"SummaryViewer_TabTitle=Summary",
|
"SummaryViewer_TabTitle=Summary",
|
||||||
@ -60,14 +72,11 @@ public class SummaryViewer extends javax.swing.JPanel implements RelationshipsVi
|
|||||||
lookup = Lookup.getDefault();
|
lookup = Lookup.getDefault();
|
||||||
initComponents();
|
initComponents();
|
||||||
|
|
||||||
OutlineView outlineView = fileReferencesPanel.getOutlineView();
|
fileRefListModel = new DefaultListModel<>();
|
||||||
|
fileRefList.setModel(fileRefListModel);
|
||||||
|
|
||||||
|
OutlineView outlineView = caseReferencesPanel.getOutlineView();
|
||||||
Outline outline = outlineView.getOutline();
|
Outline outline = outlineView.getOutline();
|
||||||
|
|
||||||
outline.setRootVisible(false);
|
|
||||||
((DefaultOutlineModel) outline.getOutlineModel()).setNodesColumnLabel(Bundle.SummaryViewer_FileRefNameColumn_Title());
|
|
||||||
|
|
||||||
outlineView = caseReferencesPanel.getOutlineView();
|
|
||||||
outline = outlineView.getOutline();
|
|
||||||
outlineView.setPropertyColumns("creationDate", Bundle.SummaryViewer_Creation_Date_Title()); //NON-NLS
|
outlineView.setPropertyColumns("creationDate", Bundle.SummaryViewer_Creation_Date_Title()); //NON-NLS
|
||||||
|
|
||||||
outline.setRootVisible(false);
|
outline.setRootVisible(false);
|
||||||
@ -76,7 +85,6 @@ public class SummaryViewer extends javax.swing.JPanel implements RelationshipsVi
|
|||||||
clearControls();
|
clearControls();
|
||||||
|
|
||||||
caseReferencesPanel.hideOutlineView(Bundle.SummaryViewer_CentralRepository_Message());
|
caseReferencesPanel.hideOutlineView(Bundle.SummaryViewer_CentralRepository_Message());
|
||||||
fileReferencesPanel.hideOutlineView(Bundle.SummaryViewer_FileRef_Message());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -98,15 +106,20 @@ public class SummaryViewer extends javax.swing.JPanel implements RelationshipsVi
|
|||||||
caseReferencesPanel.showOutlineView();
|
caseReferencesPanel.showOutlineView();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CardLayout cardLayout = (CardLayout) fileRefPane.getLayout();
|
||||||
|
cardLayout.show(fileRefPane, "selectAccountCard");
|
||||||
|
|
||||||
|
fileRefListModel.removeAllElements();
|
||||||
|
|
||||||
// Request is that the SummaryViewer only show information if one
|
// Request is that the SummaryViewer only show information if one
|
||||||
// account is selected
|
// account is selected
|
||||||
if (info.getAccounts().size() != 1) {
|
if (info == null || info.getAccounts().size() != 1) {
|
||||||
setEnabled(false);
|
setEnabled(false);
|
||||||
clearControls();
|
clearControls();
|
||||||
|
|
||||||
accoutDescriptionLabel.setText(Bundle.SummaryViewer_Account_Description_MuliSelect());
|
accoutDescriptionLabel.setText(Bundle.SummaryViewer_Account_Description_MuliSelect());
|
||||||
|
selectAccountFileRefLabel.setText(Bundle.SummaryViewer_FileRef_Message());
|
||||||
|
|
||||||
fileReferencesPanel.hideOutlineView(Bundle.SummaryViewer_FileRef_Message());
|
|
||||||
} else {
|
} else {
|
||||||
Account[] accountArray = info.getAccounts().toArray(new Account[1]);
|
Account[] accountArray = info.getAccounts().toArray(new Account[1]);
|
||||||
Account account = accountArray[0];
|
Account account = accountArray[0];
|
||||||
@ -138,11 +151,10 @@ public class SummaryViewer extends javax.swing.JPanel implements RelationshipsVi
|
|||||||
referencesDataLabel.setText(Integer.toString(summaryDetails.getReferenceCnt()));
|
referencesDataLabel.setText(Integer.toString(summaryDetails.getReferenceCnt()));
|
||||||
contactsDataLabel.setText(Integer.toString(summaryDetails.getContactsCnt()));
|
contactsDataLabel.setText(Integer.toString(summaryDetails.getContactsCnt()));
|
||||||
|
|
||||||
fileReferencesPanel.showOutlineView();
|
|
||||||
|
|
||||||
fileReferencesPanel.setNode(new AbstractNode(Children.create(new AccountSourceContentChildNodeFactory(info.getAccounts()), true)));
|
|
||||||
caseReferencesPanel.setNode(new AbstractNode(Children.create(new CorrelationCaseChildNodeFactory(info.getAccounts()), true)));
|
caseReferencesPanel.setNode(new AbstractNode(Children.create(new CorrelationCaseChildNodeFactory(info.getAccounts()), true)));
|
||||||
|
|
||||||
|
updateFileReferences(account);
|
||||||
|
|
||||||
setEnabled(true);
|
setEnabled(true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -165,7 +177,7 @@ public class SummaryViewer extends javax.swing.JPanel implements RelationshipsVi
|
|||||||
contactsLabel.setEnabled(enabled);
|
contactsLabel.setEnabled(enabled);
|
||||||
messagesLabel.setEnabled(enabled);
|
messagesLabel.setEnabled(enabled);
|
||||||
caseReferencesPanel.setEnabled(enabled);
|
caseReferencesPanel.setEnabled(enabled);
|
||||||
fileReferencesPanel.setEnabled(enabled);
|
fileRefList.setEnabled(enabled);
|
||||||
countsPanel.setEnabled(enabled);
|
countsPanel.setEnabled(enabled);
|
||||||
attachmentsLabel.setEnabled(enabled);
|
attachmentsLabel.setEnabled(enabled);
|
||||||
referencesLabel.setEnabled(enabled);
|
referencesLabel.setEnabled(enabled);
|
||||||
@ -185,28 +197,45 @@ public class SummaryViewer extends javax.swing.JPanel implements RelationshipsVi
|
|||||||
referencesDataLabel.setText("");
|
referencesDataLabel.setText("");
|
||||||
accountCountry.setText("");
|
accountCountry.setText("");
|
||||||
|
|
||||||
fileReferencesPanel.setNode(new AbstractNode(Children.LEAF));
|
fileRefListModel.clear();
|
||||||
caseReferencesPanel.setNode(new AbstractNode(Children.LEAF));
|
caseReferencesPanel.setNode(new AbstractNode(Children.LEAF));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
@Messages({
|
||||||
* For the given accounts create a comma separated string of all of the
|
"SummaryViewer_Fetching_References=<Fetching File References>"
|
||||||
* names (TypeSpecificID).
|
})
|
||||||
*
|
private void updateFileReferences(final Account account) {
|
||||||
* @param accounts Set of selected accounts
|
SwingWorker<List<String>, Void> worker = new SwingWorker<List<String>, Void>() {
|
||||||
*
|
@Override
|
||||||
* @return String listing the account names
|
protected List<String> doInBackground() throws Exception {
|
||||||
*/
|
List<String> stringList = new ArrayList<>();
|
||||||
private String createAccountLabel(Set<Account> accounts) {
|
List<AccountFileInstance> accountFileInstanceList = Case.getCurrentCase().getSleuthkitCase().getCommunicationsManager().getAccountFileInstances(account);
|
||||||
StringBuilder buffer = new StringBuilder();
|
for (AccountFileInstance instance : accountFileInstanceList) {
|
||||||
accounts.stream().map((account) -> {
|
stringList.add(instance.getFile().getUniquePath());
|
||||||
buffer.append(account.getTypeSpecificID());
|
}
|
||||||
return account;
|
return stringList;
|
||||||
}).forEachOrdered((_item) -> {
|
}
|
||||||
buffer.append(", ");
|
|
||||||
});
|
|
||||||
|
|
||||||
return buffer.toString().substring(0, buffer.length() - 2);
|
@Override
|
||||||
|
protected void done() {
|
||||||
|
try {
|
||||||
|
List<String> fileRefList = get();
|
||||||
|
|
||||||
|
fileRefList.forEach(value -> {
|
||||||
|
fileRefListModel.addElement(value);
|
||||||
|
});
|
||||||
|
|
||||||
|
CardLayout cardLayout = (CardLayout) fileRefPane.getLayout();
|
||||||
|
cardLayout.show(fileRefPane, "listPanelCard");
|
||||||
|
|
||||||
|
} catch (InterruptedException | ExecutionException ex) {
|
||||||
|
logger.log(Level.WARNING, String.format(("Failed to get file references for account: %d"), account.getAccountID()), ex);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
selectAccountFileRefLabel.setText(Bundle.SummaryViewer_Fetching_References());
|
||||||
|
worker.execute();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -237,8 +266,13 @@ public class SummaryViewer extends javax.swing.JPanel implements RelationshipsVi
|
|||||||
contactsDataLabel = new javax.swing.JLabel();
|
contactsDataLabel = new javax.swing.JLabel();
|
||||||
referencesLabel = new javax.swing.JLabel();
|
referencesLabel = new javax.swing.JLabel();
|
||||||
referencesDataLabel = new javax.swing.JLabel();
|
referencesDataLabel = new javax.swing.JLabel();
|
||||||
fileReferencesPanel = new org.sleuthkit.autopsy.communications.relationships.OutlineViewPanel();
|
|
||||||
caseReferencesPanel = new org.sleuthkit.autopsy.communications.relationships.OutlineViewPanel();
|
caseReferencesPanel = new org.sleuthkit.autopsy.communications.relationships.OutlineViewPanel();
|
||||||
|
fileRefPane = new javax.swing.JPanel();
|
||||||
|
fileRefScrolPanel = new javax.swing.JPanel();
|
||||||
|
scrollPane = new javax.swing.JScrollPane();
|
||||||
|
fileRefList = new javax.swing.JList<>();
|
||||||
|
selectAccountPane = new javax.swing.JPanel();
|
||||||
|
selectAccountFileRefLabel = new javax.swing.JLabel();
|
||||||
|
|
||||||
setLayout(new java.awt.GridBagLayout());
|
setLayout(new java.awt.GridBagLayout());
|
||||||
|
|
||||||
@ -393,17 +427,6 @@ public class SummaryViewer extends javax.swing.JPanel implements RelationshipsVi
|
|||||||
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
||||||
add(contanctsPanel, gridBagConstraints);
|
add(contanctsPanel, gridBagConstraints);
|
||||||
|
|
||||||
fileReferencesPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.fileReferencesPanel.border.title"))); // NOI18N
|
|
||||||
gridBagConstraints = new java.awt.GridBagConstraints();
|
|
||||||
gridBagConstraints.gridx = 0;
|
|
||||||
gridBagConstraints.gridy = 3;
|
|
||||||
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
|
|
||||||
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
|
||||||
gridBagConstraints.weightx = 1.0;
|
|
||||||
gridBagConstraints.weighty = 1.0;
|
|
||||||
gridBagConstraints.insets = new java.awt.Insets(9, 0, 0, 0);
|
|
||||||
add(fileReferencesPanel, gridBagConstraints);
|
|
||||||
|
|
||||||
caseReferencesPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.caseReferencesPanel.border.title"))); // NOI18N
|
caseReferencesPanel.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.caseReferencesPanel.border.title"))); // NOI18N
|
||||||
gridBagConstraints = new java.awt.GridBagConstraints();
|
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||||
gridBagConstraints.gridx = 0;
|
gridBagConstraints.gridx = 0;
|
||||||
@ -414,6 +437,38 @@ public class SummaryViewer extends javax.swing.JPanel implements RelationshipsVi
|
|||||||
gridBagConstraints.weighty = 1.0;
|
gridBagConstraints.weighty = 1.0;
|
||||||
gridBagConstraints.insets = new java.awt.Insets(9, 0, 0, 0);
|
gridBagConstraints.insets = new java.awt.Insets(9, 0, 0, 0);
|
||||||
add(caseReferencesPanel, gridBagConstraints);
|
add(caseReferencesPanel, gridBagConstraints);
|
||||||
|
|
||||||
|
fileRefPane.setBorder(javax.swing.BorderFactory.createTitledBorder(org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.fileRefPane.border.title"))); // NOI18N
|
||||||
|
fileRefPane.setLayout(new java.awt.CardLayout());
|
||||||
|
|
||||||
|
fileRefScrolPanel.setLayout(new java.awt.BorderLayout());
|
||||||
|
|
||||||
|
fileRefList.setModel(new javax.swing.AbstractListModel<String>() {
|
||||||
|
String[] strings = { "Item 1", "Item 2", "Item 3", "Item 4", "Item 5" };
|
||||||
|
public int getSize() { return strings.length; }
|
||||||
|
public String getElementAt(int i) { return strings[i]; }
|
||||||
|
});
|
||||||
|
scrollPane.setViewportView(fileRefList);
|
||||||
|
|
||||||
|
fileRefScrolPanel.add(scrollPane, java.awt.BorderLayout.CENTER);
|
||||||
|
|
||||||
|
fileRefPane.add(fileRefScrolPanel, "listPanelCard");
|
||||||
|
|
||||||
|
selectAccountPane.setLayout(new java.awt.GridBagLayout());
|
||||||
|
|
||||||
|
org.openide.awt.Mnemonics.setLocalizedText(selectAccountFileRefLabel, org.openide.util.NbBundle.getMessage(SummaryViewer.class, "SummaryViewer.selectAccountFileRefLabel.text")); // NOI18N
|
||||||
|
selectAccountFileRefLabel.setEnabled(false);
|
||||||
|
selectAccountPane.add(selectAccountFileRefLabel, new java.awt.GridBagConstraints());
|
||||||
|
|
||||||
|
fileRefPane.add(selectAccountPane, "selectAccountCard");
|
||||||
|
|
||||||
|
gridBagConstraints = new java.awt.GridBagConstraints();
|
||||||
|
gridBagConstraints.gridx = 0;
|
||||||
|
gridBagConstraints.gridy = 3;
|
||||||
|
gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
|
||||||
|
gridBagConstraints.anchor = java.awt.GridBagConstraints.NORTHWEST;
|
||||||
|
gridBagConstraints.weighty = 1.0;
|
||||||
|
add(fileRefPane, gridBagConstraints);
|
||||||
}// </editor-fold>//GEN-END:initComponents
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
|
|
||||||
@ -430,11 +485,16 @@ public class SummaryViewer extends javax.swing.JPanel implements RelationshipsVi
|
|||||||
private javax.swing.JLabel contactsLabel;
|
private javax.swing.JLabel contactsLabel;
|
||||||
private javax.swing.JPanel contanctsPanel;
|
private javax.swing.JPanel contanctsPanel;
|
||||||
private javax.swing.JPanel countsPanel;
|
private javax.swing.JPanel countsPanel;
|
||||||
private org.sleuthkit.autopsy.communications.relationships.OutlineViewPanel fileReferencesPanel;
|
private javax.swing.JList<String> fileRefList;
|
||||||
|
private javax.swing.JPanel fileRefPane;
|
||||||
|
private javax.swing.JPanel fileRefScrolPanel;
|
||||||
private javax.swing.JLabel messagesDataLabel;
|
private javax.swing.JLabel messagesDataLabel;
|
||||||
private javax.swing.JLabel messagesLabel;
|
private javax.swing.JLabel messagesLabel;
|
||||||
private javax.swing.JLabel referencesDataLabel;
|
private javax.swing.JLabel referencesDataLabel;
|
||||||
private javax.swing.JLabel referencesLabel;
|
private javax.swing.JLabel referencesLabel;
|
||||||
|
private javax.swing.JScrollPane scrollPane;
|
||||||
|
private javax.swing.JLabel selectAccountFileRefLabel;
|
||||||
|
private javax.swing.JPanel selectAccountPane;
|
||||||
private javax.swing.JPanel summaryPanel;
|
private javax.swing.JPanel summaryPanel;
|
||||||
private javax.swing.JLabel thumbnailCntLabel;
|
private javax.swing.JLabel thumbnailCntLabel;
|
||||||
private javax.swing.JLabel thumbnailsDataLabel;
|
private javax.swing.JLabel thumbnailsDataLabel;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user