mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-12 07:56:16 +00:00
4654 Details added to details tab when available
This commit is contained in:
parent
eb73ed62fd
commit
9f3d34d1e3
@ -1,3 +1,4 @@
|
|||||||
DataSourceSummaryDetailsPanel.operatingSystemLabel.text=OS:
|
|
||||||
DataSourceSummaryFilesPanel.fileCountsLabel.text=Files (based on MIME type)
|
DataSourceSummaryFilesPanel.fileCountsLabel.text=Files (based on MIME type)
|
||||||
DataSourceSummaryDialog.closeButton.text=Close
|
DataSourceSummaryDialog.closeButton.text=Close
|
||||||
|
DataSourceSummaryDetailsPanel.jTable1.columnModel.title1=Value
|
||||||
|
DataSourceSummaryDetailsPanel.jTable1.columnModel.title0=Detail
|
||||||
|
@ -16,37 +16,56 @@
|
|||||||
<Layout>
|
<Layout>
|
||||||
<DimensionLayout dim="0">
|
<DimensionLayout dim="0">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Group type="102" alignment="1" attributes="0">
|
<Component id="jScrollPane2" alignment="1" pref="545" max="32767" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
|
||||||
<Component id="operatingSystemLabel" min="-2" max="-2" attributes="0"/>
|
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
|
||||||
<Component id="operatingSystemValueLabel" pref="445" max="32767" attributes="0"/>
|
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
|
||||||
</Group>
|
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
<DimensionLayout dim="1">
|
<DimensionLayout dim="1">
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Group type="102" alignment="0" attributes="0">
|
<Component id="jScrollPane2" alignment="1" pref="259" max="32767" attributes="0"/>
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
|
||||||
<Group type="103" groupAlignment="0" attributes="0">
|
|
||||||
<Component id="operatingSystemLabel" alignment="1" min="-2" max="-2" attributes="0"/>
|
|
||||||
<Component id="operatingSystemValueLabel" alignment="0" min="-2" pref="14" max="-2" attributes="0"/>
|
|
||||||
</Group>
|
|
||||||
<EmptySpace pref="153" max="32767" attributes="0"/>
|
|
||||||
</Group>
|
|
||||||
</Group>
|
</Group>
|
||||||
</DimensionLayout>
|
</DimensionLayout>
|
||||||
</Layout>
|
</Layout>
|
||||||
<SubComponents>
|
<SubComponents>
|
||||||
<Component class="javax.swing.JLabel" name="operatingSystemLabel">
|
<Container class="javax.swing.JScrollPane" name="jScrollPane2">
|
||||||
<Properties>
|
<AuxValues>
|
||||||
<Property name="text" type="java.lang.String" editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
<AuxValue name="autoScrollPane" type="java.lang.Boolean" value="true"/>
|
||||||
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/datasourceSummary/Bundle.properties" key="DataSourceSummaryDetailsPanel.operatingSystemLabel.text" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
</AuxValues>
|
||||||
</Property>
|
|
||||||
</Properties>
|
<Layout class="org.netbeans.modules.form.compat2.layouts.support.JScrollPaneSupportLayout"/>
|
||||||
</Component>
|
<SubComponents>
|
||||||
<Component class="javax.swing.JLabel" name="operatingSystemValueLabel">
|
<Component class="javax.swing.JTable" name="jTable1">
|
||||||
</Component>
|
<Properties>
|
||||||
|
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.editors2.TableModelEditor">
|
||||||
|
<Table columnCount="2" rowCount="0">
|
||||||
|
<Column editable="false" title="Detail" type="java.lang.Object"/>
|
||||||
|
<Column editable="false" title="Value" type="java.lang.Object"/>
|
||||||
|
</Table>
|
||||||
|
</Property>
|
||||||
|
<Property name="cellSelectionEnabled" type="boolean" value="true"/>
|
||||||
|
<Property name="columnModel" type="javax.swing.table.TableColumnModel" editor="org.netbeans.modules.form.editors2.TableColumnModelEditor">
|
||||||
|
<TableColumnModel selectionModel="0">
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/datasourceSummary/Bundle.properties" key="DataSourceSummaryDetailsPanel.jTable1.columnModel.title0" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Title>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
<Column maxWidth="-1" minWidth="-1" prefWidth="-1" resizable="true">
|
||||||
|
<Title editor="org.netbeans.modules.i18n.form.FormI18nStringEditor">
|
||||||
|
<ResourceString bundle="org/sleuthkit/autopsy/casemodule/datasourceSummary/Bundle.properties" key="DataSourceSummaryDetailsPanel.jTable1.columnModel.title1" replaceFormat="org.openide.util.NbBundle.getMessage({sourceFileName}.class, "{key}")"/>
|
||||||
|
</Title>
|
||||||
|
<Editor/>
|
||||||
|
<Renderer/>
|
||||||
|
</Column>
|
||||||
|
</TableColumnModel>
|
||||||
|
</Property>
|
||||||
|
<Property name="tableHeader" type="javax.swing.table.JTableHeader" editor="org.netbeans.modules.form.editors2.JTableHeaderEditor">
|
||||||
|
<TableHeader reorderingAllowed="true" resizingAllowed="true"/>
|
||||||
|
</Property>
|
||||||
|
</Properties>
|
||||||
|
</Component>
|
||||||
|
</SubComponents>
|
||||||
|
</Container>
|
||||||
</SubComponents>
|
</SubComponents>
|
||||||
</Form>
|
</Form>
|
||||||
|
@ -22,10 +22,14 @@ import java.util.List;
|
|||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
import javax.swing.JOptionPane;
|
import javax.swing.JOptionPane;
|
||||||
|
import javax.swing.table.DefaultTableModel;
|
||||||
|
import org.apache.commons.lang.StringUtils;
|
||||||
|
import org.openide.util.Exceptions;
|
||||||
import org.openide.util.NbBundle.Messages;
|
import org.openide.util.NbBundle.Messages;
|
||||||
import org.sleuthkit.autopsy.casemodule.Case;
|
import org.sleuthkit.autopsy.casemodule.Case;
|
||||||
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
import org.sleuthkit.autopsy.casemodule.NoCurrentCaseException;
|
||||||
import org.sleuthkit.datamodel.DataSource;
|
import org.sleuthkit.datamodel.DataSource;
|
||||||
|
import org.sleuthkit.datamodel.Image;
|
||||||
import org.sleuthkit.datamodel.OSInfo;
|
import org.sleuthkit.datamodel.OSInfo;
|
||||||
import org.sleuthkit.datamodel.OSUtility;
|
import org.sleuthkit.datamodel.OSUtility;
|
||||||
import org.sleuthkit.datamodel.SleuthkitCase;
|
import org.sleuthkit.datamodel.SleuthkitCase;
|
||||||
@ -63,8 +67,56 @@ public class DataSourceSummaryDetailsPanel extends javax.swing.JPanel {
|
|||||||
* @param selectedDataSource the DataSource to display details about.
|
* @param selectedDataSource the DataSource to display details about.
|
||||||
*/
|
*/
|
||||||
void updateDetailsPanelData(DataSource selectedDataSource) {
|
void updateDetailsPanelData(DataSource selectedDataSource) {
|
||||||
operatingSystemValueLabel.setText(getOSName(selectedDataSource));
|
clearTableValues();
|
||||||
this.repaint();
|
if (selectedDataSource != null) {
|
||||||
|
updateTableValue("Name", selectedDataSource.getName());
|
||||||
|
updateTableValue("Display Name", selectedDataSource.getName());
|
||||||
|
updateTableValue("Device ID", selectedDataSource.getDeviceId());
|
||||||
|
updateTableValue("Operating System", getOSName(selectedDataSource));
|
||||||
|
updateTableValue("Time Zone", selectedDataSource.getTimeZone());
|
||||||
|
if (selectedDataSource instanceof Image) {
|
||||||
|
updateTableValue("File Path", StringUtils.join(((Image) selectedDataSource).getPaths()));
|
||||||
|
updateTableValue("Size", String.valueOf(selectedDataSource.getSize()) + " bytes");
|
||||||
|
updateTableValue("Sector Size", String.valueOf(((Image) selectedDataSource).getSsize()) + " bytes");
|
||||||
|
try {
|
||||||
|
updateTableValue("MD5", ((Image) selectedDataSource).getMd5());
|
||||||
|
} catch (TskCoreException ex) {
|
||||||
|
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
updateTableValue("SHA1", ((Image) selectedDataSource).getSha1());
|
||||||
|
} catch (TskCoreException ex) {
|
||||||
|
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
updateTableValue("SHA256", ((Image) selectedDataSource).getSha256());
|
||||||
|
} catch (TskCoreException ex) {
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
updateTableValue("Aquisition Details", selectedDataSource.getAcquisitionDetails());
|
||||||
|
} catch (TskCoreException ex) {
|
||||||
|
|
||||||
|
}
|
||||||
|
this.repaint();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void clearTableValues() {
|
||||||
|
((DefaultTableModel) jTable1.getModel()).setRowCount(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void updateTableValue(String valueName, String value) {
|
||||||
|
if (value != null && !value.isEmpty()) {
|
||||||
|
((DefaultTableModel) jTable1.getModel()).addRow(new Object[]{valueName, value});
|
||||||
|
}
|
||||||
|
// for (int row = 0; row < jTable1.getRowCount(); row++) {
|
||||||
|
// if (jTable1.getModel().getValueAt(row, 0).equals(valueName)) {
|
||||||
|
// jTable1.getModel().setValueAt(value, row, 1);
|
||||||
|
// return;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -108,36 +160,47 @@ public class DataSourceSummaryDetailsPanel extends javax.swing.JPanel {
|
|||||||
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||||
private void initComponents() {
|
private void initComponents() {
|
||||||
|
|
||||||
operatingSystemLabel = new javax.swing.JLabel();
|
jScrollPane2 = new javax.swing.JScrollPane();
|
||||||
operatingSystemValueLabel = new javax.swing.JLabel();
|
jTable1 = new javax.swing.JTable();
|
||||||
|
|
||||||
org.openide.awt.Mnemonics.setLocalizedText(operatingSystemLabel, org.openide.util.NbBundle.getMessage(DataSourceSummaryDetailsPanel.class, "DataSourceSummaryDetailsPanel.operatingSystemLabel.text")); // NOI18N
|
jTable1.setModel(new javax.swing.table.DefaultTableModel(
|
||||||
|
new Object [][] {
|
||||||
|
|
||||||
|
},
|
||||||
|
new String [] {
|
||||||
|
"Detail", "Value"
|
||||||
|
}
|
||||||
|
) {
|
||||||
|
boolean[] canEdit = new boolean [] {
|
||||||
|
false, false
|
||||||
|
};
|
||||||
|
|
||||||
|
public boolean isCellEditable(int rowIndex, int columnIndex) {
|
||||||
|
return canEdit [columnIndex];
|
||||||
|
}
|
||||||
|
});
|
||||||
|
jTable1.setCellSelectionEnabled(true);
|
||||||
|
jScrollPane2.setViewportView(jTable1);
|
||||||
|
if (jTable1.getColumnModel().getColumnCount() > 0) {
|
||||||
|
jTable1.getColumnModel().getColumn(0).setHeaderValue(org.openide.util.NbBundle.getMessage(DataSourceSummaryDetailsPanel.class, "DataSourceSummaryDetailsPanel.jTable1.columnModel.title0")); // NOI18N
|
||||||
|
jTable1.getColumnModel().getColumn(1).setHeaderValue(org.openide.util.NbBundle.getMessage(DataSourceSummaryDetailsPanel.class, "DataSourceSummaryDetailsPanel.jTable1.columnModel.title1")); // 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(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
.addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 545, Short.MAX_VALUE)
|
||||||
.addContainerGap()
|
|
||||||
.addComponent(operatingSystemLabel)
|
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
|
||||||
.addComponent(operatingSystemValueLabel, javax.swing.GroupLayout.DEFAULT_SIZE, 445, Short.MAX_VALUE)
|
|
||||||
.addContainerGap())
|
|
||||||
);
|
);
|
||||||
layout.setVerticalGroup(
|
layout.setVerticalGroup(
|
||||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(layout.createSequentialGroup()
|
.addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 259, Short.MAX_VALUE)
|
||||||
.addContainerGap()
|
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
|
||||||
.addComponent(operatingSystemLabel, javax.swing.GroupLayout.Alignment.TRAILING)
|
|
||||||
.addComponent(operatingSystemValueLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 14, javax.swing.GroupLayout.PREFERRED_SIZE))
|
|
||||||
.addContainerGap(153, Short.MAX_VALUE))
|
|
||||||
);
|
);
|
||||||
}// </editor-fold>//GEN-END:initComponents
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
|
|
||||||
// Variables declaration - do not modify//GEN-BEGIN:variables
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
private javax.swing.JLabel operatingSystemLabel;
|
private javax.swing.JScrollPane jScrollPane2;
|
||||||
private javax.swing.JLabel operatingSystemValueLabel;
|
private javax.swing.JTable jTable1;
|
||||||
// End of variables declaration//GEN-END:variables
|
// End of variables declaration//GEN-END:variables
|
||||||
}
|
}
|
||||||
|
@ -22,7 +22,7 @@
|
|||||||
<Group type="102" alignment="1" attributes="0">
|
<Group type="102" alignment="1" attributes="0">
|
||||||
<EmptySpace max="-2" attributes="0"/>
|
<EmptySpace max="-2" attributes="0"/>
|
||||||
<Group type="103" groupAlignment="1" attributes="0">
|
<Group type="103" groupAlignment="1" attributes="0">
|
||||||
<Component id="dataSourceSummarySplitPane" pref="630" max="32767" attributes="0"/>
|
<Component id="dataSourceSummarySplitPane" pref="668" max="32767" attributes="0"/>
|
||||||
<Group type="102" attributes="0">
|
<Group type="102" attributes="0">
|
||||||
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
<EmptySpace min="0" pref="0" max="32767" attributes="0"/>
|
||||||
<Component id="closeButton" min="-2" max="-2" attributes="0"/>
|
<Component id="closeButton" min="-2" max="-2" attributes="0"/>
|
||||||
@ -36,7 +36,7 @@
|
|||||||
<Group type="103" groupAlignment="0" attributes="0">
|
<Group type="103" groupAlignment="0" attributes="0">
|
||||||
<Group type="102" alignment="0" attributes="0">
|
<Group type="102" alignment="0" attributes="0">
|
||||||
<EmptySpace min="-2" max="-2" attributes="0"/>
|
<EmptySpace min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="dataSourceSummarySplitPane" pref="292" max="32767" attributes="0"/>
|
<Component id="dataSourceSummarySplitPane" pref="353" max="32767" attributes="0"/>
|
||||||
<EmptySpace min="-2" max="-2" attributes="0"/>
|
<EmptySpace min="-2" max="-2" attributes="0"/>
|
||||||
<Component id="closeButton" min="-2" max="-2" attributes="0"/>
|
<Component id="closeButton" min="-2" max="-2" attributes="0"/>
|
||||||
<EmptySpace min="-2" max="-2" attributes="0"/>
|
<EmptySpace min="-2" max="-2" attributes="0"/>
|
||||||
|
@ -109,7 +109,7 @@ final class DataSourceSummaryDialog extends javax.swing.JDialog implements Obser
|
|||||||
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
||||||
.addContainerGap()
|
.addContainerGap()
|
||||||
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
|
||||||
.addComponent(dataSourceSummarySplitPane, javax.swing.GroupLayout.DEFAULT_SIZE, 630, Short.MAX_VALUE)
|
.addComponent(dataSourceSummarySplitPane, javax.swing.GroupLayout.DEFAULT_SIZE, 668, Short.MAX_VALUE)
|
||||||
.addGroup(layout.createSequentialGroup()
|
.addGroup(layout.createSequentialGroup()
|
||||||
.addGap(0, 0, Short.MAX_VALUE)
|
.addGap(0, 0, Short.MAX_VALUE)
|
||||||
.addComponent(closeButton)))
|
.addComponent(closeButton)))
|
||||||
@ -119,7 +119,7 @@ final class DataSourceSummaryDialog extends javax.swing.JDialog implements Obser
|
|||||||
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
.addGroup(layout.createSequentialGroup()
|
.addGroup(layout.createSequentialGroup()
|
||||||
.addContainerGap()
|
.addContainerGap()
|
||||||
.addComponent(dataSourceSummarySplitPane, javax.swing.GroupLayout.DEFAULT_SIZE, 292, Short.MAX_VALUE)
|
.addComponent(dataSourceSummarySplitPane, javax.swing.GroupLayout.DEFAULT_SIZE, 353, Short.MAX_VALUE)
|
||||||
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
|
||||||
.addComponent(closeButton)
|
.addComponent(closeButton)
|
||||||
.addContainerGap())
|
.addContainerGap())
|
||||||
|
Loading…
x
Reference in New Issue
Block a user