19package org.sleuthkit.autopsy.casemodule;
21import java.awt.Component;
22import java.awt.Cursor;
23import java.awt.event.ActionEvent;
24import java.util.concurrent.ExecutionException;
25import java.util.logging.Level;
26import javax.swing.Action;
27import javax.swing.ImageIcon;
28import javax.swing.JButton;
29import javax.swing.SwingWorker;
30import org.openide.awt.ActionID;
31import org.openide.awt.ActionReference;
32import org.openide.awt.ActionReferences;
33import org.openide.awt.ActionRegistration;
34import org.openide.util.HelpCtx;
35import org.openide.util.NbBundle;
36import org.openide.util.actions.CallableSystemAction;
37import org.openide.util.actions.Presenter;
38import org.openide.windows.WindowManager;
39import org.sleuthkit.autopsy.actions.IngestRunningCheck;
40import org.sleuthkit.autopsy.coreutils.Logger;
41import org.sleuthkit.autopsy.coreutils.MessageNotifyUtil;
50@ActionID(category =
"Tools",
id =
"org.sleuthkit.autopsy.casemodule.CaseCloseAction")
51@ActionRegistration(displayName =
"#CTL_CaseCloseAct", lazy =
false)
52@ActionReferences(value = {
53 @ActionReference(path =
"Toolbars/Case", position = 107)})
54public final class CaseCloseAction extends CallableSystemAction implements Presenter.Toolbar {
65 putValue(
"iconBase",
"org/sleuthkit/autopsy/images/close-icon.png");
66 putValue(Action.NAME, NbBundle.getMessage(
CaseCloseAction.class,
"CTL_CaseCloseAct"));
78 String optionsDlgTitle = NbBundle.getMessage(
Case.class,
"CloseCaseWhileIngesting.Warning.title");
79 String optionsDlgMessage = NbBundle.getMessage(
Case.class,
"CloseCaseWhileIngesting.Warning");
81 WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
82 new SwingWorker<Void, Void>() {
85 protected Void doInBackground()
throws Exception {
91 protected void done() {
94 }
catch (InterruptedException ex) {
95 logger.log(Level.SEVERE,
"Unexpected interrupt closing the current case", ex);
96 }
catch (ExecutionException ex) {
97 logger.log(Level.SEVERE,
"Error closing the current case", ex);
100 WindowManager.getDefault().getMainWindow().setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
132 return HelpCtx.DEFAULT_HELP;
142 ImageIcon icon =
new ImageIcon(getClass().getResource(
"btn_icon_close_case.png"));
155 super.setEnabled(value);
static boolean checkAndConfirmProceed(String optionsDlgTitle, String optionsDlgMessage)
void setEnabled(boolean value)
static final long serialVersionUID
final JButton toolbarButton
static final Logger logger
Component getToolbarPresenter()
void actionPerformed(ActionEvent e)
static void closeCurrentCase()
static StartupWindowProvider getInstance()
synchronized static Logger getLogger(String name)
static void error(String message)