mirror of
https://github.com/mitb-archive/filebot
synced 2024-11-16 22:35:04 -05:00
Fix Mac sandbox issues
This commit is contained in:
parent
0d1f6cfac6
commit
92a08db4e4
@ -3,7 +3,6 @@ package net.filebot.ui.subtitle;
|
|||||||
import static net.filebot.MediaTypes.*;
|
import static net.filebot.MediaTypes.*;
|
||||||
import static net.filebot.Settings.*;
|
import static net.filebot.Settings.*;
|
||||||
import static net.filebot.UserFiles.*;
|
import static net.filebot.UserFiles.*;
|
||||||
import static net.filebot.media.MediaDetection.*;
|
|
||||||
import static net.filebot.ui.NotificationLogging.*;
|
import static net.filebot.ui.NotificationLogging.*;
|
||||||
import static net.filebot.ui.transfer.FileTransferable.*;
|
import static net.filebot.ui.transfer.FileTransferable.*;
|
||||||
import static net.filebot.util.FileUtilities.*;
|
import static net.filebot.util.FileUtilities.*;
|
||||||
@ -32,6 +31,7 @@ import java.util.logging.Level;
|
|||||||
import javax.swing.Icon;
|
import javax.swing.Icon;
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
import javax.swing.JDialog;
|
import javax.swing.JDialog;
|
||||||
|
import javax.swing.SwingUtilities;
|
||||||
|
|
||||||
import net.filebot.ResourceManager;
|
import net.filebot.ResourceManager;
|
||||||
import net.filebot.Settings;
|
import net.filebot.Settings;
|
||||||
@ -116,14 +116,21 @@ abstract class SubtitleDropTarget extends JButton {
|
|||||||
@Override
|
@Override
|
||||||
public void drop(DropTargetDropEvent dtde) {
|
public void drop(DropTargetDropEvent dtde) {
|
||||||
dtde.acceptDrop(DnDConstants.ACTION_REFERENCE);
|
dtde.acceptDrop(DnDConstants.ACTION_REFERENCE);
|
||||||
|
boolean accept = false;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
dtde.dropComplete(handleDrop(getFilesFromTransferable(dtde.getTransferable())));
|
List<File> files = getFilesFromTransferable(dtde.getTransferable());
|
||||||
|
accept = getDropAction(files) != DropAction.Cancel;
|
||||||
|
|
||||||
|
if (accept) {
|
||||||
|
// invoke later so we don't block the DnD operation with the download dialog
|
||||||
|
SwingUtilities.invokeLater(() -> handleDrop(files));
|
||||||
|
}
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
UILogger.log(Level.WARNING, e.getMessage(), e);
|
UILogger.log(Level.WARNING, e.getMessage(), e);
|
||||||
}
|
}
|
||||||
|
|
||||||
// reset to default state
|
dtde.dropComplete(accept);
|
||||||
dragExit(dtde);
|
dragExit(dtde);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -136,12 +143,10 @@ abstract class SubtitleDropTarget extends JButton {
|
|||||||
// collect media file extensions (video and subtitle files)
|
// collect media file extensions (video and subtitle files)
|
||||||
List<File> files = showLoadDialogSelectFiles(true, true, null, combineFilter(VIDEO_FILES, SUBTITLE_FILES), "Select Video Folder", evt);
|
List<File> files = showLoadDialogSelectFiles(true, true, null, combineFilter(VIDEO_FILES, SUBTITLE_FILES), "Select Video Folder", evt);
|
||||||
|
|
||||||
if (files.size() > 0) {
|
if (files.size() > 0 && getDropAction(files) != DropAction.Cancel) {
|
||||||
if (getDropAction(files) != DropAction.Cancel) {
|
|
||||||
handleDrop(files);
|
handleDrop(files);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
public static abstract class Download extends SubtitleDropTarget {
|
public static abstract class Download extends SubtitleDropTarget {
|
||||||
@ -177,8 +182,7 @@ abstract class SubtitleDropTarget extends JButton {
|
|||||||
videoFiles.addAll(filter(listFiles(input), VIDEO_FILES));
|
videoFiles.addAll(filter(listFiles(input), VIDEO_FILES));
|
||||||
|
|
||||||
if (videoFiles.size() > 0) {
|
if (videoFiles.size() > 0) {
|
||||||
// invoke later so we don't block the DnD operation with the download dialog
|
handleDownload(videoFiles);
|
||||||
invokeLater(0, () -> handleDownload(videoFiles));
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -266,8 +270,7 @@ abstract class SubtitleDropTarget extends JButton {
|
|||||||
setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
setCursor(Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR));
|
||||||
|
|
||||||
if (uploadPlan.size() > 0) {
|
if (uploadPlan.size() > 0) {
|
||||||
// invoke later so we don't block the DnD operation with the download dialog
|
handleUpload(uploadPlan);
|
||||||
invokeLater(0, () -> handleUpload(uploadPlan));
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
Reference in New Issue
Block a user