diff --git a/client/src/main/java/ctbrec/ui/action/OpenRecordingsDir.java b/client/src/main/java/ctbrec/ui/action/OpenRecordingsDir.java index 768a9298..b7d8d37c 100644 --- a/client/src/main/java/ctbrec/ui/action/OpenRecordingsDir.java +++ b/client/src/main/java/ctbrec/ui/action/OpenRecordingsDir.java @@ -6,6 +6,7 @@ import java.util.concurrent.CompletableFuture; import ctbrec.Config; import ctbrec.Model; +import ctbrec.Settings.DirectoryStructure; import ctbrec.ui.DesktopIntegration; import ctbrec.ui.controls.Dialogs; import javafx.scene.Cursor; @@ -24,7 +25,7 @@ public class OpenRecordingsDir { public void execute() { source.setCursor(Cursor.WAIT); File fileForRecording = Config.getInstance().getFileForRecording(selectedModel, ".mp4", Instant.now()); - File dir = fileForRecording.getParentFile(); + final File dir = getModelDirectory(fileForRecording); if (dir.exists()) { CompletableFuture.runAsync(() -> DesktopIntegration.open(dir)); } else { @@ -32,4 +33,12 @@ public class OpenRecordingsDir { } source.setCursor(Cursor.DEFAULT); } + + private File getModelDirectory(File fileForRecording) { + File dir = fileForRecording.getParentFile(); + if (Config.getInstance().getSettings().recordingsDirStructure == DirectoryStructure.ONE_PER_RECORDING) { + dir = dir.getParentFile(); + } + return dir; + } }