From 3e83d233b6cbfbcaeb47e13ad6805a4f3fcbac8d Mon Sep 17 00:00:00 2001 From: lleplat Date: Wed, 16 Jul 2025 10:20:44 +0100 Subject: [PATCH] Delete directory if move to trash failed --- .../ext/extensionmanager/app/ExtensionManagerApp.java | 2 +- .../qupath/ext/extensionmanager/core/tools/FileTools.java | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/extensionmanager-app/src/main/java/qupath/ext/extensionmanager/app/ExtensionManagerApp.java b/extensionmanager-app/src/main/java/qupath/ext/extensionmanager/app/ExtensionManagerApp.java index 1969f83..6788a31 100644 --- a/extensionmanager-app/src/main/java/qupath/ext/extensionmanager/app/ExtensionManagerApp.java +++ b/extensionmanager-app/src/main/java/qupath/ext/extensionmanager/app/ExtensionManagerApp.java @@ -37,7 +37,7 @@ public void start(Stage stage) throws IOException { extensionCatalogManager = new ExtensionCatalogManager( new SimpleObjectProperty<>(createExtensionDirectory()), ExtensionManagerApp.class.getClassLoader(), - "v0.6.0-rc3", + "v0.6.0", new Registry(List.of(new SavedCatalog( "QuPath catalog", "Extensions maintained by the QuPath team", diff --git a/extensionmanager/src/main/java/qupath/ext/extensionmanager/core/tools/FileTools.java b/extensionmanager/src/main/java/qupath/ext/extensionmanager/core/tools/FileTools.java index ac4ef43..adf218c 100644 --- a/extensionmanager/src/main/java/qupath/ext/extensionmanager/core/tools/FileTools.java +++ b/extensionmanager/src/main/java/qupath/ext/extensionmanager/core/tools/FileTools.java @@ -69,8 +69,11 @@ public static void moveDirectoryToTrashOrDeleteRecursively(File directoryToDelet Desktop desktop = Desktop.isDesktopSupported() ? Desktop.getDesktop() : null; if (desktop != null && desktop.isSupported(Desktop.Action.MOVE_TO_TRASH)) { - logger.debug("Moving {} to trash", directoryToDelete); - desktop.moveToTrash(directoryToDelete); + logger.debug("Attempting to move {} to trash", directoryToDelete); + if (!desktop.moveToTrash(directoryToDelete)) { + logger.debug("Failed to move {} to trash. Deleting it", directoryToDelete); + deleteDirectoryRecursively(directoryToDelete); + } } else { logger.debug("Moving to trash not supported. Deleting {}", directoryToDelete); deleteDirectoryRecursively(directoryToDelete);