From 0660bd0a54a6935e75bcc441baac38674b32d469 Mon Sep 17 00:00:00 2001 From: Karl Mortensen Date: Fri, 19 Jun 2015 16:47:27 -0400 Subject: [PATCH] make windows open over the top of what opened them. --- .../sleuthkit/autopsy/casemodule/CaseOpenAction.java | 6 ++++-- .../sleuthkit/autopsy/casemodule/CueBannerPanel.java | 11 +++++++++-- .../sleuthkit/autopsy/casemodule/StartupWindow.java | 2 ++ .../autopsy/filesearch/FileSearchDialog.java | 2 ++ .../autopsy/ingest/IngestProgressSnapshotDialog.java | 7 +++++++ 5 files changed, 24 insertions(+), 4 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java b/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java index 8bf7392026..f767efcf09 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/CaseOpenAction.java @@ -19,6 +19,7 @@ package org.sleuthkit.autopsy.casemodule; import java.awt.Component; +import java.awt.Window; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.File; @@ -29,6 +30,7 @@ import javax.swing.filechooser.FileFilter; import javax.swing.filechooser.FileNameExtensionFilter; import org.openide.util.NbBundle; import org.openide.util.lookup.ServiceProvider; +import org.openide.windows.WindowManager; import org.sleuthkit.autopsy.coreutils.ModuleSettings; import org.sleuthkit.autopsy.coreutils.Logger; import org.sleuthkit.autopsy.coreutils.Version; @@ -71,8 +73,8 @@ public final class CaseOpenAction implements ActionListener { */ @Override public void actionPerformed(ActionEvent e) { - int retval = fc.showOpenDialog((Component) e.getSource()); - + int retval = fc.showOpenDialog(WindowManager.getDefault().getMainWindow()); + if (retval == JFileChooser.APPROVE_OPTION) { String path = fc.getSelectedFile().getPath(); String dirPath = fc.getSelectedFile().getParent(); diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/CueBannerPanel.java b/Core/src/org/sleuthkit/autopsy/casemodule/CueBannerPanel.java index d5a974a587..1dd929333b 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/CueBannerPanel.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/CueBannerPanel.java @@ -25,10 +25,13 @@ import java.awt.Dimension; import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.KeyEvent; import javax.swing.ImageIcon; +import javax.swing.JComponent; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JPanel; +import javax.swing.KeyStroke; import org.openide.util.Lookup; import org.openide.util.NbBundle; @@ -209,8 +212,12 @@ public class CueBannerPanel extends javax.swing.JPanel { int h = recentCasesWindow.getSize().height; // set the location of the popUp Window on the center of the screen - recentCasesWindow.setLocation((screenDimension.width - w)/2, (screenDimension.height - h)/2); - + recentCasesWindow.setLocation((screenDimension.width - w) / 2, (screenDimension.height - h) / 2); + recentCasesWindow.setLocationRelativeTo(this); + recentCasesWindow.getRootPane().registerKeyboardAction(e -> { + recentCasesWindow.dispose(); + }, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW); + OpenRecentCasePanel welcomeWindow = OpenRecentCasePanel.getInstance(); // add the command to close the window to the button on the Volume Detail Panel diff --git a/Core/src/org/sleuthkit/autopsy/casemodule/StartupWindow.java b/Core/src/org/sleuthkit/autopsy/casemodule/StartupWindow.java index caff6ed884..44d009ef91 100644 --- a/Core/src/org/sleuthkit/autopsy/casemodule/StartupWindow.java +++ b/Core/src/org/sleuthkit/autopsy/casemodule/StartupWindow.java @@ -62,6 +62,7 @@ public final class StartupWindow extends JDialog implements StartupWindowInterfa // set the location of the popUp Window on the center of the screen setLocation((screenDimension.width - w) / 2, (screenDimension.height - h) / 2); + setLocationRelativeTo(WindowManager.getDefault().getMainWindow()); welcomeWindow = new CueBannerPanel(); @@ -83,6 +84,7 @@ public final class StartupWindow extends JDialog implements StartupWindowInterfa @Override public void open() { welcomeWindow.refresh(); + setLocationRelativeTo(WindowManager.getDefault().getMainWindow()); setVisible(true); } diff --git a/Core/src/org/sleuthkit/autopsy/filesearch/FileSearchDialog.java b/Core/src/org/sleuthkit/autopsy/filesearch/FileSearchDialog.java index f689d34640..ae1904c160 100644 --- a/Core/src/org/sleuthkit/autopsy/filesearch/FileSearchDialog.java +++ b/Core/src/org/sleuthkit/autopsy/filesearch/FileSearchDialog.java @@ -31,6 +31,7 @@ import java.awt.Toolkit; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; +import org.openide.windows.WindowManager; /** * File search dialog @@ -48,6 +49,7 @@ import javax.swing.JFrame; double w = getSize().getWidth(); double h = getSize().getHeight(); setLocation((int) ((screenDimension.getWidth() - w) / 2), (int) ((screenDimension.getHeight() - h) / 2)); + this.setLocationRelativeTo(WindowManager.getDefault().getMainWindow()); fileSearchPanel1.addListenerToAll(new ActionListener() { @Override diff --git a/Core/src/org/sleuthkit/autopsy/ingest/IngestProgressSnapshotDialog.java b/Core/src/org/sleuthkit/autopsy/ingest/IngestProgressSnapshotDialog.java index 90ee2b6078..61c110cc4c 100755 --- a/Core/src/org/sleuthkit/autopsy/ingest/IngestProgressSnapshotDialog.java +++ b/Core/src/org/sleuthkit/autopsy/ingest/IngestProgressSnapshotDialog.java @@ -24,9 +24,12 @@ import java.awt.Dialog; import java.awt.Dimension; import java.awt.Toolkit; import java.awt.Window; +import java.awt.event.KeyEvent; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; +import javax.swing.JComponent; import javax.swing.JDialog; +import javax.swing.KeyStroke; import org.openide.util.NbBundle; import org.openide.windows.WindowManager; @@ -43,6 +46,7 @@ public final class IngestProgressSnapshotDialog extends JDialog { */ public IngestProgressSnapshotDialog() { this((Window) WindowManager.getDefault().getMainWindow(), false); + setLocationRelativeTo(WindowManager.getDefault().getMainWindow()); } /** @@ -77,6 +81,9 @@ public final class IngestProgressSnapshotDialog extends JDialog { int w = this.getSize().width; int h = this.getSize().height; setLocation((screenDimension.width - w) / 2, (screenDimension.height - h) / 2); + this.getRootPane().registerKeyboardAction(e -> { + this.dispose(); + }, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), JComponent.WHEN_IN_FOCUSED_WINDOW); add(new IngestProgressSnapshotPanel(this)); pack(); setResizable(false);