19 package org.sleuthkit.autopsy.modules.filetypeid;
21 import java.awt.BorderLayout;
22 import java.awt.Dimension;
23 import java.awt.Toolkit;
24 import java.awt.event.ActionEvent;
25 import java.awt.event.ActionListener;
26 import java.awt.event.WindowAdapter;
27 import java.awt.event.WindowEvent;
28 import java.beans.PropertyChangeEvent;
29 import java.beans.PropertyChangeListener;
30 import javax.swing.BoxLayout;
31 import javax.swing.JButton;
32 import javax.swing.JDialog;
33 import javax.swing.JFrame;
34 import javax.swing.JPanel;
35 import org.openide.util.NbBundle;
36 import org.openide.util.NbBundle.Messages;
37 import org.openide.windows.WindowManager;
42 class AddFileTypeDialog
extends JDialog {
53 private static final long serialVersionUID = 1L;
54 private FileType fileType;
55 private AddFileTypePanel addMimeTypePanel;
56 private BUTTON_PRESSED result;
57 private JButton okButton;
58 private JButton closeButton;
63 @Messages({
"AddMimeTypedialog.title=File Type"})
64 public AddFileTypeDialog() {
65 super(
new JFrame(Bundle.AddMimeTypedialog_title()), Bundle.AddMimeTypedialog_title(),
true);
66 addMimeTypePanel =
new AddFileTypePanel();
75 public AddFileTypeDialog(FileType fileType) {
76 super(
new JFrame(Bundle.AddMimeTypedialog_title()), Bundle.AddMimeTypedialog_title(),
true);
77 addMimeTypePanel =
new AddFileTypePanel(fileType);
87 "AddMimeTypeDialog.addButton.title=Add",
88 "AddMimeTypeDialog.addButton.title2=Done",
89 "AddMimeTypeDialog.cancelButton.title=Cancel"})
90 void display(
boolean add) {
91 setLayout(
new BorderLayout());
96 setLocationRelativeTo(WindowManager.getDefault().getMainWindow());
102 add(this.addMimeTypePanel, BorderLayout.PAGE_START);
106 okButton =
new JButton(Bundle.AddMimeTypeDialog_addButton_title());
108 okButton =
new JButton(Bundle.AddMimeTypeDialog_addButton_title2());
110 okButton.addActionListener(
new ActionListener() {
112 public void actionPerformed(ActionEvent e) {
113 doButtonAction(
true);
118 closeButton =
new JButton(Bundle.AddMimeTypeDialog_cancelButton_title());
119 closeButton.addActionListener(
new ActionListener() {
121 public void actionPerformed(ActionEvent e) {
122 doButtonAction(
false);
127 JPanel buttonPanel =
new JPanel();
128 buttonPanel.setLayout(
new BoxLayout(buttonPanel, BoxLayout.LINE_AXIS));
129 buttonPanel.add(
new javax.swing.Box.Filler(
new Dimension(10, 10),
new Dimension(10, 10),
new Dimension(10, 10)));
130 buttonPanel.add(okButton);
131 buttonPanel.add(
new javax.swing.Box.Filler(
new Dimension(10, 10),
new Dimension(10, 10),
new Dimension(10, 10)));
132 buttonPanel.add(closeButton);
133 add(buttonPanel, BorderLayout.LINE_START);
139 this.addWindowListener(
new WindowAdapter() {
141 public void windowClosing(WindowEvent e) {
142 doButtonAction(
false);
145 this.addMimeTypePanel.addPropertyChangeListener(
new PropertyChangeListener() {
147 public void propertyChange(PropertyChangeEvent evt) {
148 if (evt.getPropertyName().equals(AddFileTypePanel.EVENT.SIG_LIST_CHANGED.toString())) {
169 private void doButtonAction(
boolean okPressed) {
171 FileType fType = addMimeTypePanel.getFileType();
173 this.fileType = fType;
174 this.result = BUTTON_PRESSED.OK;
178 this.fileType = null;
179 this.result = BUTTON_PRESSED.CANCEL;
189 public FileType getFileType() {
198 public BUTTON_PRESSED getResult() {
202 private void enableOkButton() {
203 this.okButton.setEnabled(addMimeTypePanel.hasSignature());