summaryrefslogtreecommitdiff
path: root/BKUCommonGUI
diff options
context:
space:
mode:
Diffstat (limited to 'BKUCommonGUI')
-rw-r--r--BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/SecureViewerDialog.java2
-rw-r--r--BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/viewer/SecureViewerSaveDialog.java25
2 files changed, 20 insertions, 7 deletions
diff --git a/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/SecureViewerDialog.java b/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/SecureViewerDialog.java
index 0eb35521..45f68a5d 100644
--- a/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/SecureViewerDialog.java
+++ b/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/SecureViewerDialog.java
@@ -406,7 +406,7 @@ public class SecureViewerDialog extends JDialog {
@Override
public void actionPerformed(ActionEvent e) {
log.trace("[{}] display secure viewer save dialog.", Thread.currentThread().getName());
- SecureViewerSaveDialog.showSaveDialog(viewer, content, messages, null, null, closeButton.getFont().getSize());
+ SecureViewerSaveDialog.showSaveDialog(SecureViewerDialog.this, content, messages, null, null, closeButton.getFont().getSize());
}
}
}
diff --git a/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/viewer/SecureViewerSaveDialog.java b/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/viewer/SecureViewerSaveDialog.java
index d121f3ca..20160fb5 100644
--- a/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/viewer/SecureViewerSaveDialog.java
+++ b/BKUCommonGUI/src/main/java/at/gv/egiz/bku/gui/viewer/SecureViewerSaveDialog.java
@@ -27,6 +27,7 @@ package at.gv.egiz.bku.gui.viewer;
import java.awt.Component;
import java.awt.Container;
import java.awt.Font;
+import java.awt.HeadlessException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.BufferedOutputStream;
@@ -37,6 +38,7 @@ import java.io.InputStream;
import java.text.MessageFormat;
import java.util.ResourceBundle;
+import javax.swing.JDialog;
import javax.swing.JFileChooser;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
@@ -63,7 +65,8 @@ public class SecureViewerSaveDialog {
}
}
}
-
+
+
public static void showSaveDialog(final Component parent, final HashDataInput hashDataInput, final ResourceBundle messages,
final ActionListener okListener, final String okCommand, final int fontSize) {
@@ -81,7 +84,17 @@ public class SecureViewerSaveDialog {
UIManager.put("Button.defaultButtonFollowsFocus", Boolean.TRUE);
- JFileChooser fileDialog = new JFileChooser(userHome);
+ @SuppressWarnings("serial")
+ JFileChooser fileDialog = new JFileChooser(userHome) {
+ @Override
+ protected JDialog createDialog(Component parent) throws HeadlessException {
+ JDialog dialog = super.createDialog(parent);
+ dialog.setModal(true);
+ dialog.setAlwaysOnTop(true);
+ return dialog;
+ }
+ };
+
fileDialog.setMultiSelectionEnabled(false);
fileDialog.setDialogType(JFileChooser.SAVE_DIALOG);
fileDialog.setFileHidingEnabled(true);
@@ -97,10 +110,10 @@ public class SecureViewerSaveDialog {
+ MimeFilter.getExtension(mimeType);
fileDialog.setSelectedFile(new File(userHome, filename));
- setFileChooserFont(fileDialog.getComponents(), new JLabel()
- .getFont().deriveFont((float) fontSize));
-
- // parent contentPane -> placed over applet
+ setFileChooserFont(fileDialog.getComponents(),
+ new JLabel().getFont().deriveFont((float) fontSize));
+
+ // parent SecureViewer -> placed over it
switch (fileDialog.showSaveDialog(parent)) {
case JFileChooser.APPROVE_OPTION:
File file = fileDialog.getSelectedFile();