From 07964f4bef21d384889a5f720a521e87e909e8b3 Mon Sep 17 00:00:00 2001 From: crschnick Date: Sat, 23 Dec 2023 20:19:49 +0000 Subject: [PATCH] Prevent empty dragboards --- .../main/java/io/xpipe/app/browser/BrowserClipboard.java | 9 +++++++++ .../java/io/xpipe/app/browser/OpenFileSystemModel.java | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/io/xpipe/app/browser/BrowserClipboard.java b/app/src/main/java/io/xpipe/app/browser/BrowserClipboard.java index e4f032da..e7cd49da 100644 --- a/app/src/main/java/io/xpipe/app/browser/BrowserClipboard.java +++ b/app/src/main/java/io/xpipe/app/browser/BrowserClipboard.java @@ -73,6 +73,10 @@ public class BrowserClipboard { @SneakyThrows public static ClipboardContent startDrag(FileSystem.FileEntry base, List selected) { + if (selected.isEmpty()) { + return null; + } + var content = new ClipboardContent(); var id = UUID.randomUUID(); currentDragClipboard = new Instance(id, base, new ArrayList<>(selected)); @@ -82,6 +86,11 @@ public class BrowserClipboard { @SneakyThrows public static void startCopy(FileSystem.FileEntry base, List selected) { + if (selected.isEmpty()) { + currentCopyClipboard.setValue(null); + return; + } + var id = UUID.randomUUID(); currentCopyClipboard.setValue(new Instance(id, base, new ArrayList<>(selected))); } diff --git a/app/src/main/java/io/xpipe/app/browser/OpenFileSystemModel.java b/app/src/main/java/io/xpipe/app/browser/OpenFileSystemModel.java index 87c3afef..376444ee 100644 --- a/app/src/main/java/io/xpipe/app/browser/OpenFileSystemModel.java +++ b/app/src/main/java/io/xpipe/app/browser/OpenFileSystemModel.java @@ -293,7 +293,7 @@ public final class OpenFileSystemModel { var abs = FileNames.join(getCurrentDirectory().getPath(), name); if (fileSystem.directoryExists(abs)) { - throw new IllegalStateException(String.format("Directory %s already exists", abs)); + throw ErrorEvent.unreportable(new IllegalStateException(String.format("Directory %s already exists", abs))); } fileSystem.mkdirs(abs);