<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>