More docking rework

This commit is contained in:
crschnick
2024-11-05 15:10:14 +00:00
parent 82d2d48e8a
commit ddfa70d68b
18 changed files with 336 additions and 59 deletions
@@ -57,7 +57,7 @@ public class BrowseStoreAction implements ActionProvider {
public void execute() throws Exception {
DataStoreEntryRef<FileSystemStore> replacement =
ProcessControlProvider.get().replace(entry.ref());
BrowserSessionModel.DEFAULT.openFileSystemSync(replacement, null, new SimpleBooleanProperty());
BrowserSessionModel.DEFAULT.openFileSystemSync(replacement, null, new SimpleBooleanProperty(), true);
AppLayoutModel.get().selectBrowser();
}
}
@@ -1,5 +1,6 @@
package io.xpipe.ext.base.browser;
import io.xpipe.app.browser.BrowserTerminalDockTabModel;
import io.xpipe.app.browser.action.LeafAction;
import io.xpipe.app.browser.file.BrowserEntry;
import io.xpipe.app.browser.fs.OpenFileSystemModel;
@@ -27,14 +28,14 @@ public class OpenTerminalAction implements LeafAction {
model.getCurrentDirectory() != null
? model.getCurrentDirectory().getPath()
: null);
if (model.getBrowserModel() instanceof BrowserSessionModel sessionModel) {
sessionModel.
} else {
for (var entry : entries) {
model.openTerminalAsync(entry.getRawFileEntry().getPath());
}
return;
}
for (var entry : entries) {
model.openTerminalAsync(entry.getRawFileEntry().getPath());
if (AppPrefs.get().enableTerminalDocking().get() && model.getBrowserModel() instanceof BrowserSessionModel sessionModel) {
sessionModel.splitTab(model,new BrowserTerminalDockTabModel(sessionModel, model, model.getTerminalRequests()));
}
}