mirror of
https://github.com/elisspace/autopsy.git
synced 2026-09-06 02:24:30 +00:00
ingest inbox: improved column resizing, rearranged columns, force window closed when app starts, increased initial size
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
build.xml.data.CRC32=8af55c54
|
||||
build.xml.data.CRC32=41cda326
|
||||
build.xml.script.CRC32=7d5a04db
|
||||
build.xml.stylesheet.CRC32=a56c6a5b@1.46.2
|
||||
# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml.
|
||||
# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you.
|
||||
nbproject/build-impl.xml.data.CRC32=8af55c54
|
||||
nbproject/build-impl.xml.data.CRC32=41cda326
|
||||
nbproject/build-impl.xml.script.CRC32=8b2da6d1
|
||||
nbproject/build-impl.xml.stylesheet.CRC32=238281d1@1.46.2
|
||||
|
||||
@@ -62,18 +62,14 @@ public class IngestMessageMainPanel extends JLayeredPane {
|
||||
|
||||
@Override
|
||||
public void componentShown(ComponentEvent e) {
|
||||
//doResize();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void componentResized(ComponentEvent e) {
|
||||
//we need to handle resizing ourselves due to absence of layout manager
|
||||
//in layered layout
|
||||
Dimension dim = getSize();
|
||||
messagePanel.setPreferredSize(dim);
|
||||
detailsPanel.setPreferredSize(dim);
|
||||
messagePanel.setBounds(0, 0, dim.width, dim.height);
|
||||
detailsPanel.setBounds(0, 0, dim.width, dim.height);
|
||||
revalidate();
|
||||
doResize();
|
||||
|
||||
}
|
||||
});
|
||||
@@ -85,6 +81,15 @@ public class IngestMessageMainPanel extends JLayeredPane {
|
||||
this.setOpaque(true);
|
||||
}
|
||||
|
||||
void doResize() {
|
||||
Dimension dim = getSize();
|
||||
messagePanel.setPreferredSize(dim);
|
||||
detailsPanel.setPreferredSize(dim);
|
||||
messagePanel.setBounds(0, 0, dim.width, dim.height);
|
||||
detailsPanel.setBounds(0, 0, dim.width, dim.height);
|
||||
revalidate();
|
||||
}
|
||||
|
||||
IngestMessagePanel getMessagePanel() {
|
||||
return messagePanel;
|
||||
}
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
<Property name="model" type="javax.swing.table.TableModel" editor="org.netbeans.modules.form.RADConnectionPropertyEditor">
|
||||
<Connection code="tableModel" type="code"/>
|
||||
</Property>
|
||||
<Property name="autoResizeMode" type="int" value="3"/>
|
||||
<Property name="autoResizeMode" type="int" value="0"/>
|
||||
<Property name="autoscrolls" type="boolean" value="false"/>
|
||||
<Property name="cursor" type="java.awt.Cursor" editor="org.netbeans.modules.form.editors2.CursorEditor">
|
||||
<Color id="Hand Cursor"/>
|
||||
|
||||
@@ -22,6 +22,7 @@ import java.awt.Color;
|
||||
import java.awt.Component;
|
||||
import java.awt.Dimension;
|
||||
import java.awt.Font;
|
||||
import java.awt.Graphics;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.beans.PropertyChangeSupport;
|
||||
import java.util.ArrayList;
|
||||
@@ -54,6 +55,7 @@ class IngestMessagePanel extends javax.swing.JPanel {
|
||||
private static Font notVisitedFont = new Font("Arial", Font.BOLD, 11);
|
||||
private static Color ERROR_COLOR = new Color(255, 90, 90);
|
||||
private int lastRowSelected = -1;
|
||||
private boolean resized = false;
|
||||
|
||||
private enum COLUMN {
|
||||
|
||||
@@ -113,7 +115,7 @@ class IngestMessagePanel extends javax.swing.JPanel {
|
||||
messageTable.setBackground(new java.awt.Color(221, 221, 235));
|
||||
messageTable.setFont(new java.awt.Font("Arial", 0, 10)); // NOI18N
|
||||
messageTable.setModel(tableModel);
|
||||
messageTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_LAST_COLUMN);
|
||||
messageTable.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);
|
||||
messageTable.setAutoscrolls(false);
|
||||
messageTable.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
|
||||
messageTable.setGridColor(new java.awt.Color(204, 204, 204));
|
||||
@@ -192,7 +194,6 @@ class IngestMessagePanel extends javax.swing.JPanel {
|
||||
jScrollPane1.setWheelScrollingEnabled(true);
|
||||
|
||||
messageTable.setAutoscrolls(false);
|
||||
//messageTable.setTableHeader(null);
|
||||
messageTable.setShowHorizontalLines(false);
|
||||
messageTable.setShowVerticalLines(false);
|
||||
|
||||
@@ -204,43 +205,45 @@ class IngestMessagePanel extends javax.swing.JPanel {
|
||||
//column.setCellRenderer(new MessageTableRenderer());
|
||||
column.setCellRenderer(renderer);
|
||||
}
|
||||
setTableSize(messageTable.getSize().width);
|
||||
|
||||
|
||||
messageTable.setCellSelectionEnabled(false);
|
||||
messageTable.setColumnSelectionAllowed(false);
|
||||
messageTable.setRowSelectionAllowed(true);
|
||||
messageTable.getSelectionModel().addListSelectionListener(new MessageVisitedSelection());
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setPreferredSize(Dimension dmnsn) {
|
||||
super.setPreferredSize(dmnsn);
|
||||
final int width = messageTable.getSize().width;
|
||||
setTableSize(width);
|
||||
|
||||
setTableSize(messageTable.getParent().getSize());
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void setSize(Dimension dmnsn) {
|
||||
super.setSize(dmnsn);
|
||||
final int width = messageTable.getSize().width;
|
||||
setTableSize(width);
|
||||
|
||||
}
|
||||
|
||||
private void setTableSize(int width) {
|
||||
for (int i = 0; i < 3; i++) {
|
||||
void setTableSize(Dimension d) {
|
||||
for (int i = 0; i < 3; ++i) {
|
||||
TableColumn column = messageTable.getColumnModel().getColumn(i);
|
||||
if (i == 0) {
|
||||
column.setPreferredWidth(((int) (width * 0.66)));
|
||||
column.setPreferredWidth(((int) (d.width * 0.23)));
|
||||
} else if (i == 1) {
|
||||
column.setPreferredWidth(((int) (width * 0.10)));
|
||||
column.setPreferredWidth(((int) (d.width * 0.10)));
|
||||
} else {
|
||||
column.setPreferredWidth(((int) (width * 0.23)));
|
||||
column.setPreferredWidth(((int) (d.width * 0.66)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void paint(Graphics g) {
|
||||
super.paint(g);
|
||||
//workaround to force initial resize when window fully initialized
|
||||
if (resized == false) {
|
||||
mainPanel.doResize();
|
||||
resized = true;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void addMessage(IngestMessage m) {
|
||||
final int origMsgGroups = tableModel.getNumberUnreadGroups();
|
||||
tableModel.addMessage(m);
|
||||
@@ -331,13 +334,13 @@ class IngestMessagePanel extends javax.swing.JPanel {
|
||||
|
||||
switch (column) {
|
||||
case 0:
|
||||
colName = "Subject";
|
||||
colName = "Module";
|
||||
break;
|
||||
case 1:
|
||||
colName = "Num";
|
||||
break;
|
||||
case 2:
|
||||
colName = "Module";
|
||||
colName = "Subject";
|
||||
break;
|
||||
default:
|
||||
;
|
||||
@@ -353,12 +356,6 @@ class IngestMessagePanel extends javax.swing.JPanel {
|
||||
|
||||
switch (columnIndex) {
|
||||
case 0:
|
||||
ret = (Object) entry.messageGroup.getSubject();
|
||||
break;
|
||||
case 1:
|
||||
ret = (Object) entry.messageGroup.getCount();
|
||||
break;
|
||||
case 2:
|
||||
Object service = entry.messageGroup.getSource();
|
||||
if (service == null) {
|
||||
ret = "";
|
||||
@@ -366,6 +363,12 @@ class IngestMessagePanel extends javax.swing.JPanel {
|
||||
ret = (Object) entry.messageGroup.getSource().getName();
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
ret = (Object) entry.messageGroup.getCount();
|
||||
break;
|
||||
case 2:
|
||||
ret = (Object) entry.messageGroup.getSubject();
|
||||
break;
|
||||
default:
|
||||
logger.log(Level.SEVERE, "Invalid table column index: " + columnIndex);
|
||||
break;
|
||||
@@ -571,10 +574,11 @@ class IngestMessagePanel extends javax.swing.JPanel {
|
||||
|
||||
IngestMessage first = messages.get(0);
|
||||
//make sure uniqness agrees
|
||||
/*
|
||||
if (!message.getSource().equals(first.getSource())
|
||||
|| !message.getUniqueKey().equals(first.getUniqueKey())) {
|
||||
throw new IllegalArgumentException("Tried to add a message to a wrong message group.");
|
||||
}
|
||||
} */
|
||||
|
||||
messages.add(message);
|
||||
++count;
|
||||
@@ -586,10 +590,11 @@ class IngestMessagePanel extends javax.swing.JPanel {
|
||||
IngestMessage first = messages.get(0);
|
||||
IngestMessage firstG = group.messages.get(0);
|
||||
//make sure uniqness agrees
|
||||
/*
|
||||
if (!firstG.getSource().equals(first.getSource())
|
||||
|| !firstG.getUniqueKey().equals(first.getUniqueKey())) {
|
||||
throw new IllegalArgumentException("Tried to add a message to a wrong message group.");
|
||||
}
|
||||
} */
|
||||
|
||||
for (IngestMessage m : group.getMessages()) {
|
||||
messages.add(m);
|
||||
@@ -694,7 +699,7 @@ class IngestMessagePanel extends javax.swing.JPanel {
|
||||
final Component cell = super.getTableCellRendererComponent(
|
||||
table, value, false, false, row, column);
|
||||
|
||||
if (column == 0) {
|
||||
if (column == 2) {
|
||||
String val = (String) table.getModel().getValueAt(row, column);
|
||||
setToolTipText(val);
|
||||
//setText(val);
|
||||
|
||||
@@ -98,10 +98,12 @@ public final class IngestMessageTopComponent extends TopComponent implements Ing
|
||||
@Override
|
||||
public void componentOpened() {
|
||||
//logger.log(Level.INFO, "OPENED");
|
||||
super.componentOpened();
|
||||
//create manager instance
|
||||
if (manager == null) {
|
||||
manager = IngestManager.getDefault();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -136,7 +138,7 @@ public final class IngestMessageTopComponent extends TopComponent implements Ing
|
||||
}
|
||||
mode.dockInto(this);
|
||||
this.open();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -149,8 +151,7 @@ public final class IngestMessageTopComponent extends TopComponent implements Ing
|
||||
@Override
|
||||
protected void componentActivated() {
|
||||
//logger.log(Level.INFO, "ACTIVATED");
|
||||
super.componentActivated();
|
||||
|
||||
super.componentActivated();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -35,9 +35,12 @@ public class Installer extends ModuleInstall {
|
||||
logger.log(Level.INFO, "Initializing ingest manager");
|
||||
final IngestManager manager = IngestManager.getDefault();
|
||||
WindowManager.getDefault().invokeWhenUIReady(new Runnable() {
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
manager.initUI();
|
||||
//force ingest inbox closed, even if previous state was open
|
||||
//IngestMessageTopComponent.findInstance().close();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -45,7 +48,9 @@ public class Installer extends ModuleInstall {
|
||||
|
||||
@Override
|
||||
public boolean closing() {
|
||||
|
||||
//force ingest inbox closed on exit and save state as such
|
||||
IngestMessageTopComponent.findInstance().close();
|
||||
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
<constraints>
|
||||
<path orientation="horizontal" number="100" weight="0.5"/>
|
||||
</constraints>
|
||||
<bounds x="7" y="909" width="300" height="200" />
|
||||
<bounds x="7" y="909" width="400" height="250" />
|
||||
<frame state="0"/>
|
||||
<!-- <active-tc id="IngestMessageTopComponent" /> -->
|
||||
<empty-behavior permanent="true"/>
|
||||
|
||||
Reference in New Issue
Block a user