<pre style='margin:0'>
Frank Schima (mf2k) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/80fdc4673ee6717ff66892d081111dd005ae4ea8">https://github.com/macports/macports-ports/commit/80fdc4673ee6717ff66892d081111dd005ae4ea8</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 80fdc4673ee6717ff66892d081111dd005ae4ea8
</span>Author: Lothar Haeger <lothar.haeger@gmx.net>
AuthorDate: Mon Dec 30 21:33:33 2019 +0100

<span style='display:block; white-space:pre;color:#404040;'>    jd-gui: add nativedialogs variant
</span>---
 java/jd-gui/Portfile                  | 11 ++++
 java/jd-gui/files/FileChooser.java    | 94 +++++++++++++++++++++++++++++++++++
 java/jd-gui/files/FileUtils.java      | 23 +++++++++
 java/jd-gui/files/SystemUtils.java    | 20 ++++++++
 java/jd-gui/files/native-dialogs.diff | 67 +++++++++++++++++++++++++
 5 files changed, 215 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/java/jd-gui/Portfile b/java/jd-gui/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index be479dd..d4908d4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/java/jd-gui/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/java/jd-gui/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -32,6 +32,17 @@ universal_variant       no
</span> patchfiles              macos-only.diff \
                         jdk13-compat.diff
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+variant nativedialogs description {Enable experimental support for macOS native dialogs} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    pre-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file mkdir ${worksrcpath}/app/src/main/java/org/jd/gui/util/io/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file mkdir ${worksrcpath}/app/src/main/java/org/jd/gui/util/sys/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${filespath}/FileUtils.java   ${worksrcpath}/app/src/main/java/org/jd/gui/util/io/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${filespath}/SystemUtils.java ${worksrcpath}/app/src/main/java/org/jd/gui/util/sys/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        file copy ${filespath}/FileChooser.java ${worksrcpath}/app/src/main/java/org/jd/gui/view/component/  
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append   native-dialogs.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> depends_build-append    port:gradle \
                         port:proguard
 
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/java/jd-gui/files/FileChooser.java b/java/jd-gui/files/FileChooser.java
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..aa542de
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/java/jd-gui/files/FileChooser.java
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,94 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+package org.jd.gui.view.component;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+import org.jd.gui.util.io.FileUtils;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+import org.jd.gui.util.sys.SystemUtils;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+import javax.swing.*;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+import java.awt.*;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+import java.io.File;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+import java.io.FilenameFilter;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/**
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Created by jianhua.fengjh on 27/11/2015.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+public class FileChooser extends JFileChooser {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    /**
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    * 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   private static final long serialVersionUID = 1L;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   public int showOpenDialog(Component parent) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if (!SystemUtils.isMacOS()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return super.showOpenDialog(parent);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            setDialogType(JFileChooser.OPEN_DIALOG);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return showNativeFileDialog(this);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    public int showSaveDialog(Component parent) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if (!SystemUtils.isMacOS()) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return super.showSaveDialog(parent);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            setDialogType(JFileChooser.SAVE_DIALOG);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return showNativeFileDialog(this);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    private static int showNativeFileDialog(final JFileChooser chooser) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if (chooser != null) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            FileDialog fileDialog = new FileDialog((Frame) chooser.getParent());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            fileDialog.setDirectory(chooser.getCurrentDirectory().getPath());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            File file = chooser.getSelectedFile();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if (chooser.getDialogType() == JFileChooser.SAVE_DIALOG) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                fileDialog.setFile(file != null ? file.getName() : ""); //save only need name
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                fileDialog.setFile(file != null ? file.getPath() : "");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            fileDialog.setFilenameFilter(new FilenameFilter() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                public boolean accept(File dir, String name) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    String path = dir.getPath();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    String pathSeparator = File.pathSeparator;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    return chooser.getFileFilter().accept(new File(0 + path.length() + pathSeparator.length() + name.length() + path + pathSeparator + name));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            });
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if (chooser.getDialogType() == JFileChooser.SAVE_DIALOG) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                fileDialog.setMode(FileDialog.SAVE);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                fileDialog.setMode(FileDialog.LOAD);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if (chooser.getFileSelectionMode() == JFileChooser.DIRECTORIES_ONLY) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                System.setProperty("apple.awt.fileDialogForDirectories", "true");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                System.setProperty("apple.awt.fileDialogForDirectories", "false");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            fileDialog.setVisible(true);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            //reset fileDialogForDirectories property
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            System.setProperty("apple.awt.fileDialogForDirectories", "false");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            if (fileDialog.getFile() == null) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                return JFileChooser.CANCEL_OPTION;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            String dir = fileDialog.getDirectory();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            String trailingSlash = FileUtils.ensureTrailingSlash(dir);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            String strFile = fileDialog.getFile();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            chooser.setSelectedFile(new File(strFile.length() != 0 ? trailingSlash.concat(strFile) : trailingSlash));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return JFileChooser.APPROVE_OPTION;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return JFileChooser.ERROR_OPTION;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span>\ No newline at end of file
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/java/jd-gui/files/FileUtils.java b/java/jd-gui/files/FileUtils.java
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..ee10bb6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/java/jd-gui/files/FileUtils.java
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,23 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+package org.jd.gui.util.io;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+import java.io.File;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/**
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Created by jianhua.fengjh on 27/11/2015.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+public class FileUtils {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    public static String ensureTrailingSlash(final String path) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        if ((path == null) || "".equals(path)) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            return "";
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        StringBuilder buf = new StringBuilder(path);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        while (buf.charAt(buf.length() - 1) == File.separatorChar) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            buf.deleteCharAt(buf.length() - 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return buf.append(File.separatorChar).toString();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span>\ No newline at end of file
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/java/jd-gui/files/SystemUtils.java b/java/jd-gui/files/SystemUtils.java
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..7e3a77b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/java/jd-gui/files/SystemUtils.java
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,20 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+package org.jd.gui.util.sys;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+/**
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ * Created by jianhua.fengjh on 27/11/2015.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+public final class SystemUtils {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    static boolean isLinux() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return System.getProperty("os.name").startsWith("Linux");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    public static boolean isMacOS() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return System.getProperty("os.name").startsWith("Mac");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    public static boolean isWindows() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        return System.getProperty("os.name").startsWith("Windows");
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span>\ No newline at end of file
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/java/jd-gui/files/native-dialogs.diff b/java/jd-gui/files/native-dialogs.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..7bb832b
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/java/jd-gui/files/native-dialogs.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,67 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- app/src/main/java/org/jd/gui/controller/MainController.java.orig       2019-12-30 20:20:31.000000000 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ app/src/main/java/org/jd/gui/controller/MainController.java    2019-12-30 20:09:49.000000000 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -35,6 +35,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import javax.swing.*;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import javax.swing.filechooser.FileNameExtensionFilter;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import javax.swing.filechooser.FileSystemView;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++import org.jd.gui.view.component.FileChooser;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import java.awt.*;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import java.awt.datatransfer.DataFlavor;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ import java.awt.datatransfer.Transferable;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -155,7 +156,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 // Set drop files transfer handler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 mainFrame.setTransferHandler(new FilesTransferHandler());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 // Background class loading
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                new JFileChooser().addChoosableFileFilter(new FileNameExtensionFilter("", "dummy"));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                new FileChooser().addChoosableFileFilter(new FileNameExtensionFilter("", "dummy"));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 FileSystemView.getFileSystemView().isFileSystemRoot(new File("dummy"));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 new JLayer();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             });
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -183,7 +184,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         String description = sb.toString();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         String[] array = extensions.toArray(new String[0]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        JFileChooser chooser = new JFileChooser();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        FileChooser chooser = new FileChooser();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         chooser.removeChoosableFileFilter(chooser.getFileFilter());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         chooser.addChoosableFileFilter(new FileNameExtensionFilter("All files (" + description + ")", array));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -195,7 +196,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         chooser.setCurrentDirectory(configuration.getRecentLoadDirectory());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        if (chooser.showOpenDialog(mainView.getMainFrame()) == JFileChooser.APPROVE_OPTION) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if (chooser.showOpenDialog(mainView.getMainFrame()) == FileChooser.APPROVE_OPTION) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             configuration.setRecentLoadDirectory(chooser.getCurrentDirectory());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             openFile(chooser.getSelectedFile());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -207,12 +208,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     protected void onSaveSource() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (currentPage instanceof ContentSavable) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            JFileChooser chooser = new JFileChooser();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            FileChooser chooser = new FileChooser();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             JFrame mainFrame = mainView.getMainFrame();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             chooser.setSelectedFile(new File(configuration.getRecentSaveDirectory(), ((ContentSavable)currentPage).getFileName()));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-            if (chooser.showSaveDialog(mainFrame) == JFileChooser.APPROVE_OPTION) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++            if (chooser.showSaveDialog(mainFrame) == FileChooser.APPROVE_OPTION) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 File selectedFile = chooser.getSelectedFile();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 configuration.setRecentSaveDirectory(chooser.getCurrentDirectory());
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -245,12 +246,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             if (currentPanel instanceof SourcesSavable) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 SourcesSavable sourcesSavable = (SourcesSavable)currentPanel;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                JFileChooser chooser = new JFileChooser();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                FileChooser chooser = new FileChooser();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 JFrame mainFrame = mainView.getMainFrame();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                 chooser.setSelectedFile(new File(configuration.getRecentSaveDirectory(), sourcesSavable.getSourceFileName()));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                if (chooser.showSaveDialog(mainFrame) == JFileChooser.APPROVE_OPTION) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                if (chooser.showSaveDialog(mainFrame) == FileChooser.APPROVE_OPTION) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     File selectedFile = chooser.getSelectedFile();
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                     configuration.setRecentSaveDirectory(chooser.getCurrentDirectory());
</span></pre><pre style='margin:0'>

</pre>