diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListCompEntry.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListCompEntry.java index ba70bf7c4..da9c85d28 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListCompEntry.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileListCompEntry.java @@ -1,6 +1,8 @@ package io.xpipe.app.browser.file; import io.xpipe.app.browser.BrowserFullSessionModel; +import io.xpipe.app.util.BooleanScope; +import io.xpipe.app.util.ThreadHelper; import io.xpipe.core.store.FileKind; import javafx.geometry.Point2D; @@ -54,6 +56,26 @@ public class BrowserFileListCompEntry { return; } + if (t.getButton() == MouseButton.BACK) { + ThreadHelper.runFailableAsync(() -> { + BooleanScope.executeExclusive(model.getFileSystemModel().getBusy(), () -> { + model.getFileSystemModel().backSync(1); + }); + }); + t.consume(); + return; + } + + if (t.getButton() == MouseButton.FORWARD) { + ThreadHelper.runFailableAsync(() -> { + BooleanScope.executeExclusive(model.getFileSystemModel().getBusy(), () -> { + model.getFileSystemModel().forthSync(1); + }); + }); + t.consume(); + return; + } + if (item == null) { // Only clear for normal clicks if (t.isStillSincePress()) { diff --git a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemHistory.java b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemHistory.java index 7cf61f6b2..1d212e903 100644 --- a/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemHistory.java +++ b/app/src/main/java/io/xpipe/app/browser/file/BrowserFileSystemHistory.java @@ -64,13 +64,9 @@ public final class BrowserFileSystemHistory { return history.get(cursor.get()); } - public String forth() { - return forth(1); - } - public String forth(int i) { if (!canGoForth.get()) { - return null; + return history.getLast(); } cursor.set(Math.min(history.size() - 1, cursor.get() + i)); return history.get(cursor.get());