Move classes from core

This commit is contained in:
crschnick
2025-07-04 09:23:05 +00:00
parent ff869b52d4
commit e2d2b38d39
512 changed files with 1299 additions and 1320 deletions
@@ -11,7 +11,7 @@ import io.xpipe.app.hub.comp.StoreListChoiceComp;
import io.xpipe.app.hub.comp.StoreViewState;
import io.xpipe.app.storage.DataStoreEntryRef;
import io.xpipe.app.util.*;
import io.xpipe.core.store.DataStore;
import io.xpipe.app.ext.DataStore;
import javafx.beans.property.*;
import javafx.collections.FXCollections;
@@ -9,7 +9,7 @@ import io.xpipe.app.hub.comp.StoreListChoiceComp;
import io.xpipe.app.hub.comp.StoreViewState;
import io.xpipe.app.storage.DataStoreEntryRef;
import io.xpipe.app.util.OptionsBuilder;
import io.xpipe.core.store.DataStore;
import io.xpipe.app.ext.DataStore;
import javafx.beans.property.SimpleListProperty;
import javafx.collections.FXCollections;
@@ -3,8 +3,8 @@ package io.xpipe.app.action;
import io.xpipe.app.hub.action.BatchStoreAction;
import io.xpipe.app.hub.action.MultiStoreAction;
import io.xpipe.app.hub.action.StoreAction;
import io.xpipe.core.store.DataStore;
import io.xpipe.core.util.JacksonMapper;
import io.xpipe.app.ext.DataStore;
import io.xpipe.core.JacksonMapper;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.DeserializationFeature;
@@ -1,13 +1,9 @@
package io.xpipe.app.action;
import io.xpipe.app.ext.DataStoreProviders;
import io.xpipe.app.hub.action.BatchHubProvider;
import io.xpipe.app.hub.action.HubBranchProvider;
import io.xpipe.app.hub.action.HubLeafProvider;
import io.xpipe.app.hub.action.HubMenuItemProvider;
import io.xpipe.app.issue.ErrorEventFactory;
import io.xpipe.app.issue.TrackEvent;
import io.xpipe.core.util.ModuleLayerLoader;
import io.xpipe.core.ModuleLayerLoader;
import java.util.*;
@@ -1,9 +1,9 @@
package io.xpipe.app.action;
import io.xpipe.app.storage.DataStorage;
import io.xpipe.core.util.InPlaceSecretValue;
import io.xpipe.core.util.JacksonMapper;
import io.xpipe.core.util.UuidHelper;
import io.xpipe.core.InPlaceSecretValue;
import io.xpipe.core.JacksonMapper;
import io.xpipe.core.UuidHelper;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.JsonNode;
@@ -1,7 +1,7 @@
package io.xpipe.app.action;
import io.xpipe.app.util.DataStoreFormatter;
import io.xpipe.core.util.JacksonMapper;
import io.xpipe.core.JacksonMapper;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.node.ObjectNode;
@@ -5,8 +5,8 @@ import io.xpipe.app.issue.TrackEvent;
import io.xpipe.app.util.DocumentationLink;
import io.xpipe.beacon.BeaconConfig;
import io.xpipe.beacon.BeaconInterface;
import io.xpipe.core.process.OsType;
import io.xpipe.core.util.XPipeInstallation;
import io.xpipe.core.OsType;
import io.xpipe.core.XPipeInstallation;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpServer;
@@ -6,7 +6,7 @@ import io.xpipe.app.issue.TrackEvent;
import io.xpipe.app.prefs.AppPrefs;
import io.xpipe.app.util.ThreadHelper;
import io.xpipe.beacon.*;
import io.xpipe.core.util.JacksonMapper;
import io.xpipe.core.JacksonMapper;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
@@ -1,7 +1,7 @@
package io.xpipe.app.beacon;
import io.xpipe.app.storage.DataStoreEntry;
import io.xpipe.core.process.ShellControl;
import io.xpipe.app.process.ShellControl;
import lombok.Value;
@@ -5,7 +5,7 @@ import io.xpipe.app.terminal.TerminalView;
import io.xpipe.app.util.*;
import io.xpipe.beacon.BeaconClientException;
import io.xpipe.beacon.api.AskpassExchange;
import io.xpipe.core.util.InPlaceSecretValue;
import io.xpipe.core.InPlaceSecretValue;
import javafx.beans.property.SimpleStringProperty;
@@ -3,7 +3,7 @@ package io.xpipe.app.beacon.impl;
import io.xpipe.app.storage.DataStorage;
import io.xpipe.beacon.BeaconClientException;
import io.xpipe.beacon.api.CategoryInfoExchange;
import io.xpipe.core.util.JacksonMapper;
import io.xpipe.core.JacksonMapper;
import com.sun.net.httpserver.HttpExchange;
@@ -1,5 +1,6 @@
package io.xpipe.app.beacon.impl;
import io.xpipe.app.ext.DataStore;
import io.xpipe.app.issue.ErrorEventFactory;
import io.xpipe.app.storage.DataStorage;
import io.xpipe.app.storage.DataStoreEntry;
@@ -8,19 +9,24 @@ import io.xpipe.beacon.api.ConnectionAddExchange;
import io.xpipe.app.ext.ValidationException;
import com.sun.net.httpserver.HttpExchange;
import io.xpipe.core.JacksonMapper;
public class ConnectionAddExchangeImpl extends ConnectionAddExchange {
@Override
public Object handle(HttpExchange exchange, Request msg) throws Throwable {
var found = DataStorage.get().getStoreEntryIfPresent(msg.getData(), false);
var store = JacksonMapper.getDefault().treeToValue(msg.getData(), DataStore.class);
if (store == null) {
throw new BeaconClientException("Unable to parse store data into valid store");
}
var found = DataStorage.get().getStoreEntryIfPresent(store, false);
if (found.isEmpty()) {
found = DataStorage.get().getStoreEntryIfPresent(msg.getName());
}
if (found.isPresent()) {
var data = msg.getData();
found.get().setStoreInternal(data, true);
found.get().setStoreInternal(store, true);
return Response.builder().connection(found.get().getUuid()).build();
}
@@ -31,7 +37,7 @@ public class ConnectionAddExchangeImpl extends ConnectionAddExchange {
throw new BeaconClientException("Category with id " + msg.getCategory() + " does not exist");
}
var entry = DataStoreEntry.createNew(msg.getName(), msg.getData());
var entry = DataStoreEntry.createNew(msg.getName(), store);
if (msg.getCategory() != null) {
entry.setCategoryUuid(msg.getCategory());
}
@@ -3,7 +3,7 @@ package io.xpipe.app.beacon.impl;
import io.xpipe.app.storage.DataStorage;
import io.xpipe.beacon.BeaconClientException;
import io.xpipe.beacon.api.ConnectionInfoExchange;
import io.xpipe.core.store.StorePath;
import io.xpipe.core.StorePath;
import com.sun.net.httpserver.HttpExchange;
import org.apache.commons.lang3.ClassUtils;
@@ -5,7 +5,7 @@ import io.xpipe.app.core.mode.OperationMode;
import io.xpipe.app.util.PlatformInit;
import io.xpipe.beacon.BeaconServerException;
import io.xpipe.beacon.api.DaemonOpenExchange;
import io.xpipe.core.process.OsType;
import io.xpipe.core.OsType;
import com.sun.net.httpserver.HttpExchange;
@@ -2,7 +2,7 @@ package io.xpipe.app.beacon.impl;
import io.xpipe.app.storage.DataStorageSecret;
import io.xpipe.beacon.api.SecretEncryptExchange;
import io.xpipe.core.util.InPlaceSecretValue;
import io.xpipe.core.InPlaceSecretValue;
import com.sun.net.httpserver.HttpExchange;
@@ -8,6 +8,7 @@ import io.xpipe.beacon.BeaconClientException;
import io.xpipe.beacon.api.ShellStartExchange;
import com.sun.net.httpserver.HttpExchange;
import io.xpipe.core.JacksonMapper;
import lombok.SneakyThrows;
public class ShellStartExchangeImpl extends ShellStartExchange {
@@ -41,11 +42,11 @@ public class ShellStartExchangeImpl extends ShellStartExchange {
AppBeaconServer.get().getCache().getShellSessions().add(new BeaconShellSession(e, control));
}
return Response.builder()
.shellDialect(control.getShellDialect())
.shellDialect(control.getShellDialect().getId())
.osType(control.getOsType())
.osName(control.getOsName())
.temp(control.getSystemTemporaryDirectory())
.ttyState(control.getTtyState())
.ttyState(JacksonMapper.getDefault().writeValueAsString(control.getTtyState()))
.build();
}
}
@@ -3,7 +3,7 @@ package io.xpipe.app.beacon.impl;
import io.xpipe.app.ext.ProcessControlProvider;
import io.xpipe.app.terminal.TerminalLauncherManager;
import io.xpipe.beacon.api.SshLaunchExchange;
import io.xpipe.core.process.ShellDialects;
import io.xpipe.app.process.ShellDialects;
import com.sun.net.httpserver.HttpExchange;
@@ -17,8 +17,8 @@ import io.xpipe.app.util.BindingsHelper;
import io.xpipe.app.util.FileReference;
import io.xpipe.app.util.PlatformThread;
import io.xpipe.app.util.ThreadHelper;
import io.xpipe.core.store.FilePath;
import io.xpipe.core.store.FileSystemStore;
import io.xpipe.core.FilePath;
import io.xpipe.app.ext.FileSystemStore;
import javafx.beans.property.BooleanProperty;
import javafx.beans.property.SimpleObjectProperty;
@@ -6,9 +6,9 @@ import io.xpipe.app.storage.DataStoreEntryRef;
import io.xpipe.app.util.BooleanScope;
import io.xpipe.app.util.FileReference;
import io.xpipe.app.util.ThreadHelper;
import io.xpipe.core.store.FilePath;
import io.xpipe.core.store.FileSystemStore;
import io.xpipe.core.util.FailableFunction;
import io.xpipe.core.FilePath;
import io.xpipe.app.ext.FileSystemStore;
import io.xpipe.core.FailableFunction;
import javafx.beans.property.BooleanProperty;
import javafx.beans.property.SimpleBooleanProperty;
@@ -9,9 +9,9 @@ import io.xpipe.app.storage.DataStorage;
import io.xpipe.app.storage.DataStoreEntryRef;
import io.xpipe.app.util.BooleanScope;
import io.xpipe.app.util.ThreadHelper;
import io.xpipe.core.store.FilePath;
import io.xpipe.core.store.FileSystemStore;
import io.xpipe.core.util.FailableFunction;
import io.xpipe.core.FilePath;
import io.xpipe.app.ext.FileSystemStore;
import io.xpipe.core.FailableFunction;
import javafx.beans.binding.Bindings;
import javafx.beans.property.BooleanProperty;
@@ -4,7 +4,7 @@ import io.xpipe.app.comp.Comp;
import io.xpipe.app.storage.DataStorage;
import io.xpipe.app.storage.DataStoreColor;
import io.xpipe.app.storage.DataStoreEntryRef;
import io.xpipe.core.store.DataStore;
import io.xpipe.app.ext.DataStore;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.value.ObservableValue;
@@ -6,8 +6,8 @@ import io.xpipe.app.browser.file.BrowserEntry;
import io.xpipe.app.browser.file.BrowserFileSystemTabModel;
import io.xpipe.app.core.AppLayoutModel;
import io.xpipe.app.hub.action.StoreAction;
import io.xpipe.core.store.FilePath;
import io.xpipe.core.store.FileSystemStore;
import io.xpipe.core.FilePath;
import io.xpipe.app.ext.FileSystemStore;
import com.fasterxml.jackson.annotation.JsonIgnore;
import lombok.experimental.SuperBuilder;
@@ -6,7 +6,7 @@ import io.xpipe.app.browser.file.BrowserEntry;
import io.xpipe.app.browser.file.BrowserFileSystemTabModel;
import io.xpipe.app.util.DesktopHelper;
import io.xpipe.app.util.LocalShell;
import io.xpipe.core.process.ShellControl;
import io.xpipe.app.process.ShellControl;
import lombok.experimental.SuperBuilder;
import lombok.extern.jackson.Jacksonized;
@@ -4,8 +4,8 @@ import io.xpipe.app.browser.action.BrowserAction;
import io.xpipe.app.browser.action.BrowserActionProvider;
import io.xpipe.app.browser.file.BrowserEntry;
import io.xpipe.app.browser.file.BrowserFileSystemTabModel;
import io.xpipe.core.process.CommandBuilder;
import io.xpipe.core.process.OsType;
import io.xpipe.app.process.CommandBuilder;
import io.xpipe.core.OsType;
import lombok.NonNull;
import lombok.experimental.SuperBuilder;
@@ -4,8 +4,8 @@ import io.xpipe.app.browser.action.BrowserAction;
import io.xpipe.app.browser.action.BrowserActionProvider;
import io.xpipe.app.browser.file.BrowserEntry;
import io.xpipe.app.browser.file.BrowserFileSystemTabModel;
import io.xpipe.core.process.CommandBuilder;
import io.xpipe.core.process.OsType;
import io.xpipe.app.process.CommandBuilder;
import io.xpipe.core.OsType;
import lombok.NonNull;
import lombok.experimental.SuperBuilder;
@@ -4,8 +4,8 @@ import io.xpipe.app.browser.action.BrowserAction;
import io.xpipe.app.browser.action.BrowserActionProvider;
import io.xpipe.app.browser.file.BrowserEntry;
import io.xpipe.app.browser.file.BrowserFileSystemTabModel;
import io.xpipe.core.process.CommandBuilder;
import io.xpipe.core.process.OsType;
import io.xpipe.app.process.CommandBuilder;
import io.xpipe.core.OsType;
import lombok.NonNull;
import lombok.experimental.SuperBuilder;
@@ -3,7 +3,7 @@ package io.xpipe.app.browser.action.impl;
import io.xpipe.app.browser.action.BrowserAction;
import io.xpipe.app.browser.action.BrowserActionProvider;
import io.xpipe.app.browser.file.BrowserEntry;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.FileKind;
import lombok.experimental.SuperBuilder;
import lombok.extern.jackson.Jacksonized;
@@ -2,7 +2,7 @@ package io.xpipe.app.browser.action.impl;
import io.xpipe.app.browser.action.BrowserAction;
import io.xpipe.app.browser.action.BrowserActionProvider;
import io.xpipe.core.store.FilePath;
import io.xpipe.core.FilePath;
import lombok.NonNull;
import lombok.experimental.SuperBuilder;
@@ -3,7 +3,7 @@ package io.xpipe.app.browser.action.impl;
import io.xpipe.app.browser.action.BrowserAction;
import io.xpipe.app.browser.action.BrowserActionProvider;
import io.xpipe.app.browser.file.BrowserEntry;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.FileKind;
import lombok.NonNull;
import lombok.experimental.SuperBuilder;
@@ -3,7 +3,7 @@ package io.xpipe.app.browser.action.impl;
import io.xpipe.app.browser.action.BrowserAction;
import io.xpipe.app.browser.action.BrowserActionProvider;
import io.xpipe.app.browser.file.BrowserEntry;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.FileKind;
import lombok.NonNull;
import lombok.experimental.SuperBuilder;
@@ -3,8 +3,8 @@ package io.xpipe.app.browser.action.impl;
import io.xpipe.app.browser.action.BrowserAction;
import io.xpipe.app.browser.action.BrowserActionProvider;
import io.xpipe.app.browser.file.BrowserEntry;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.store.FilePath;
import io.xpipe.core.FileKind;
import io.xpipe.core.FilePath;
import lombok.NonNull;
import lombok.experimental.SuperBuilder;
@@ -4,7 +4,7 @@ import io.xpipe.app.browser.action.BrowserAction;
import io.xpipe.app.browser.action.BrowserActionProvider;
import io.xpipe.app.browser.file.BrowserEntry;
import io.xpipe.app.browser.file.BrowserFileSystemTabModel;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.FileKind;
import lombok.experimental.SuperBuilder;
import lombok.extern.jackson.Jacksonized;
@@ -5,7 +5,7 @@ import io.xpipe.app.browser.action.BrowserActionProvider;
import io.xpipe.app.browser.file.BrowserEntry;
import io.xpipe.app.browser.file.BrowserFileOpener;
import io.xpipe.app.browser.file.BrowserFileSystemTabModel;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.FileKind;
import lombok.experimental.SuperBuilder;
import lombok.extern.jackson.Jacksonized;
@@ -5,10 +5,10 @@ import io.xpipe.app.browser.action.BrowserActionProvider;
import io.xpipe.app.browser.file.BrowserEntry;
import io.xpipe.app.browser.file.BrowserFileSystemTabModel;
import io.xpipe.app.util.LocalShell;
import io.xpipe.core.process.CommandBuilder;
import io.xpipe.core.process.OsType;
import io.xpipe.core.process.ShellControl;
import io.xpipe.core.store.FileKind;
import io.xpipe.app.process.CommandBuilder;
import io.xpipe.core.OsType;
import io.xpipe.app.process.ShellControl;
import io.xpipe.core.FileKind;
import lombok.experimental.SuperBuilder;
import lombok.extern.jackson.Jacksonized;
@@ -5,8 +5,8 @@ import io.xpipe.app.browser.action.BrowserActionProvider;
import io.xpipe.app.browser.file.BrowserEntry;
import io.xpipe.app.browser.file.BrowserFileOpener;
import io.xpipe.app.browser.file.BrowserFileSystemTabModel;
import io.xpipe.core.process.OsType;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.OsType;
import io.xpipe.core.FileKind;
import lombok.experimental.SuperBuilder;
import lombok.extern.jackson.Jacksonized;
@@ -5,8 +5,8 @@ import io.xpipe.app.browser.action.BrowserActionProvider;
import io.xpipe.app.browser.file.BrowserEntry;
import io.xpipe.app.browser.file.BrowserFileSystemTabModel;
import io.xpipe.app.prefs.AppPrefs;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.store.FilePath;
import io.xpipe.core.FileKind;
import io.xpipe.core.FilePath;
import lombok.experimental.SuperBuilder;
import lombok.extern.jackson.Jacksonized;
@@ -4,8 +4,8 @@ import io.xpipe.app.browser.action.BrowserAction;
import io.xpipe.app.browser.action.BrowserActionProvider;
import io.xpipe.app.browser.file.BrowserEntry;
import io.xpipe.app.issue.ErrorEventFactory;
import io.xpipe.core.process.CommandBuilder;
import io.xpipe.core.process.ProcessOutputException;
import io.xpipe.app.process.CommandBuilder;
import io.xpipe.app.process.ProcessOutputException;
import lombok.NonNull;
import lombok.experimental.SuperBuilder;
@@ -4,7 +4,7 @@ import io.xpipe.app.browser.action.BrowserAction;
import io.xpipe.app.browser.action.BrowserActionProvider;
import io.xpipe.app.browser.file.BrowserEntry;
import io.xpipe.app.util.CommandDialog;
import io.xpipe.core.process.CommandBuilder;
import io.xpipe.app.process.CommandBuilder;
import lombok.NonNull;
import lombok.experimental.SuperBuilder;
@@ -3,7 +3,7 @@ package io.xpipe.app.browser.action.impl;
import io.xpipe.app.browser.action.BrowserAction;
import io.xpipe.app.browser.action.BrowserActionProvider;
import io.xpipe.app.browser.file.BrowserEntry;
import io.xpipe.core.process.CommandBuilder;
import io.xpipe.app.process.CommandBuilder;
import lombok.NonNull;
import lombok.experimental.SuperBuilder;
@@ -7,7 +7,7 @@ import io.xpipe.app.browser.file.BrowserFileTransferOperation;
import io.xpipe.app.storage.DataStorage;
import io.xpipe.app.storage.DataStoreEntry;
import io.xpipe.app.storage.DataStoreEntryRef;
import io.xpipe.core.store.FileSystemStore;
import io.xpipe.app.ext.FileSystemStore;
import lombok.NonNull;
import lombok.experimental.SuperBuilder;
@@ -4,16 +4,9 @@ import io.xpipe.app.comp.base.ModalButton;
import io.xpipe.app.comp.base.ModalOverlay;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.core.window.AppDialog;
import io.xpipe.app.core.window.AppWindowHelper;
import io.xpipe.core.store.FileEntry;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.store.FilePath;
import io.xpipe.core.FilePath;
import javafx.beans.property.SimpleObjectProperty;
import javafx.scene.control.Alert;
import java.util.List;
import java.util.stream.Collectors;
public class BrowserAlerts {
@@ -1,8 +1,9 @@
package io.xpipe.app.browser.file;
import io.xpipe.app.comp.SimpleComp;
import io.xpipe.app.process.OsFileSystem;
import io.xpipe.app.util.PlatformThread;
import io.xpipe.core.store.FilePath;
import io.xpipe.core.FilePath;
import javafx.scene.Node;
import javafx.scene.control.Button;
@@ -64,7 +65,7 @@ public class BrowserBreadcrumbBar extends SimpleComp {
return new Label("");
}
return new Label(sc.get().getOsType().getFileSystemSeparator());
return new Label(OsFileSystem.of(sc.get().getOsType()).getFileSystemSeparator());
});
}
@@ -3,7 +3,7 @@ package io.xpipe.app.browser.file;
import io.xpipe.app.ext.ProcessControlProvider;
import io.xpipe.app.issue.ErrorEventFactory;
import io.xpipe.app.util.GlobalClipboard;
import io.xpipe.core.store.FileEntry;
import io.xpipe.app.ext.FileEntry;
import javafx.beans.property.Property;
import javafx.beans.property.SimpleObjectProperty;
@@ -2,8 +2,8 @@ package io.xpipe.app.browser.file;
import io.xpipe.app.browser.icon.BrowserIconDirectoryType;
import io.xpipe.app.browser.icon.BrowserIconFileType;
import io.xpipe.core.store.FileEntry;
import io.xpipe.core.store.FileKind;
import io.xpipe.app.ext.FileEntry;
import io.xpipe.core.FileKind;
import lombok.Getter;
@@ -4,10 +4,10 @@ import io.xpipe.app.browser.menu.BrowserMenuProviders;
import io.xpipe.app.comp.SimpleComp;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.util.*;
import io.xpipe.core.process.OsType;
import io.xpipe.core.store.FileEntry;
import io.xpipe.core.store.FileInfo;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.OsType;
import io.xpipe.app.ext.FileEntry;
import io.xpipe.core.FileInfo;
import io.xpipe.core.FileKind;
import javafx.application.Platform;
import javafx.beans.binding.Bindings;
@@ -5,7 +5,7 @@ import io.xpipe.app.prefs.AppPrefs;
import io.xpipe.app.util.BooleanScope;
import io.xpipe.app.util.GlobalTimer;
import io.xpipe.app.util.ThreadHelper;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.FileKind;
import javafx.geometry.Point2D;
import javafx.scene.Node;
@@ -3,10 +3,10 @@ package io.xpipe.app.browser.file;
import io.xpipe.app.browser.action.impl.MoveFileActionProvider;
import io.xpipe.app.issue.ErrorEventFactory;
import io.xpipe.app.prefs.AppPrefs;
import io.xpipe.core.process.OsType;
import io.xpipe.core.store.FileEntry;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.store.FilePath;
import io.xpipe.core.OsType;
import io.xpipe.app.ext.FileEntry;
import io.xpipe.core.FileKind;
import io.xpipe.core.FilePath;
import javafx.beans.property.Property;
import javafx.beans.property.SimpleBooleanProperty;
@@ -7,8 +7,8 @@ import io.xpipe.app.util.ContextMenuHelper;
import io.xpipe.app.util.InputHelper;
import io.xpipe.app.util.PlatformThread;
import io.xpipe.app.util.ThreadHelper;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.store.FilePath;
import io.xpipe.core.FileKind;
import io.xpipe.core.FilePath;
import javafx.application.Platform;
import javafx.beans.binding.Bindings;
@@ -3,25 +3,22 @@ package io.xpipe.app.browser.file;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.core.window.AppDialog;
import io.xpipe.app.ext.ConnectionFileSystem;
import io.xpipe.app.issue.ErrorEvent;
import io.xpipe.app.issue.ErrorEventFactory;
import io.xpipe.app.prefs.AppPrefs;
import io.xpipe.app.storage.DataStoreEntry;
import io.xpipe.app.util.BooleanScope;
import io.xpipe.app.util.FileBridge;
import io.xpipe.app.util.FileOpener;
import io.xpipe.core.process.CommandBuilder;
import io.xpipe.core.process.ElevationFunction;
import io.xpipe.core.process.OsType;
import io.xpipe.core.process.ProcessOutputException;
import io.xpipe.core.store.FileEntry;
import io.xpipe.core.store.FileInfo;
import io.xpipe.core.store.FilePath;
import io.xpipe.app.process.CommandBuilder;
import io.xpipe.app.process.ElevationFunction;
import io.xpipe.core.OsType;
import io.xpipe.app.process.ProcessOutputException;
import io.xpipe.app.ext.FileEntry;
import io.xpipe.core.FileInfo;
import io.xpipe.core.FilePath;
import lombok.SneakyThrows;
import java.io.FilterOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.List;
import java.util.Objects;
@@ -6,7 +6,7 @@ import io.xpipe.app.comp.SimpleComp;
import io.xpipe.app.comp.augment.GrowAugment;
import io.xpipe.app.comp.base.HorizontalComp;
import io.xpipe.app.comp.base.ListBoxViewComp;
import io.xpipe.core.store.FileEntry;
import io.xpipe.app.ext.FileEntry;
import javafx.collections.ObservableList;
import javafx.geometry.Pos;
@@ -2,10 +2,10 @@ package io.xpipe.app.browser.file;
import io.xpipe.app.util.PasswdFile;
import io.xpipe.app.util.ShellControlCache;
import io.xpipe.core.process.CommandBuilder;
import io.xpipe.core.process.OsType;
import io.xpipe.core.process.ShellControl;
import io.xpipe.core.process.ShellDialect;
import io.xpipe.app.process.CommandBuilder;
import io.xpipe.core.OsType;
import io.xpipe.app.process.ShellControl;
import io.xpipe.app.process.ShellDialect;
import lombok.Getter;
@@ -1,8 +1,11 @@
package io.xpipe.app.browser.file;
import io.xpipe.app.ext.FileSystem;
import io.xpipe.app.issue.ErrorEventFactory;
import io.xpipe.core.process.OsType;
import io.xpipe.core.store.*;
import io.xpipe.core.OsType;
import io.xpipe.app.ext.FileEntry;
import io.xpipe.core.FileKind;
import io.xpipe.core.FilePath;
import java.time.Instant;
import java.util.List;
@@ -1,6 +1,6 @@
package io.xpipe.app.browser.file;
import io.xpipe.core.store.FilePath;
import io.xpipe.core.FilePath;
import javafx.beans.binding.Bindings;
import javafx.beans.binding.BooleanBinding;
@@ -2,8 +2,8 @@ package io.xpipe.app.browser.file;
import io.xpipe.app.core.AppCache;
import io.xpipe.app.util.GlobalTimer;
import io.xpipe.core.store.FilePath;
import io.xpipe.core.util.JacksonMapper;
import io.xpipe.core.FilePath;
import io.xpipe.core.JacksonMapper;
import javafx.application.Platform;
import javafx.collections.FXCollections;
@@ -11,7 +11,7 @@ import io.xpipe.app.core.AppFontSizes;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.util.InputHelper;
import io.xpipe.app.util.PlatformThread;
import io.xpipe.core.store.FilePath;
import io.xpipe.core.FilePath;
import javafx.beans.binding.Bindings;
import javafx.geometry.Pos;
@@ -8,18 +8,23 @@ import io.xpipe.app.browser.action.impl.TransferFilesActionProvider;
import io.xpipe.app.browser.menu.BrowserMenuItemProvider;
import io.xpipe.app.comp.Comp;
import io.xpipe.app.core.window.AppMainWindow;
import io.xpipe.app.ext.FileSystem;
import io.xpipe.app.ext.FileSystemStore;
import io.xpipe.app.ext.ProcessControlProvider;
import io.xpipe.app.ext.WrapperFileSystem;
import io.xpipe.app.issue.ErrorEventFactory;
import io.xpipe.app.prefs.AppPrefs;
import io.xpipe.app.process.*;
import io.xpipe.app.storage.DataStoreEntryRef;
import io.xpipe.app.terminal.*;
import io.xpipe.app.util.BooleanScope;
import io.xpipe.app.util.ThreadHelper;
import io.xpipe.core.process.*;
import io.xpipe.core.store.*;
import io.xpipe.core.util.FailableConsumer;
import io.xpipe.core.FailableConsumer;
import io.xpipe.app.ext.FileEntry;
import io.xpipe.core.FileKind;
import io.xpipe.core.FilePath;
import io.xpipe.core.OsType;
import javafx.beans.binding.Bindings;
import javafx.beans.property.*;
import javafx.collections.FXCollections;
@@ -1,9 +1,13 @@
package io.xpipe.app.browser.file;
import io.xpipe.app.ext.FileSystem;
import io.xpipe.app.issue.ErrorEventFactory;
import io.xpipe.app.process.OsFileSystem;
import io.xpipe.app.util.ThreadHelper;
import io.xpipe.core.store.*;
import io.xpipe.app.ext.FileEntry;
import io.xpipe.core.FileKind;
import io.xpipe.core.FilePath;
import javafx.beans.property.BooleanProperty;
import javafx.beans.value.ChangeListener;
@@ -314,8 +318,8 @@ public class BrowserFileTransferOperation {
}
var sourceFile = e.getKey();
var fixedRelPath = FilePath.of(e.getValue())
.fileSystemCompatible(targetFs.getShell().orElseThrow().getOsType());
var os = targetFs.getShell().orElseThrow().getOsType();
var fixedRelPath = OsFileSystem.of(os).makeFileSystemCompatible(FilePath.of(e.getValue()));
var targetFile = target.getPath().join(fixedRelPath.toString());
if (sourceFile.getFileSystem().equals(targetFs)) {
throw new IllegalStateException();
@@ -5,7 +5,7 @@ import io.xpipe.app.core.AppFontSizes;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.core.AppLayoutModel;
import io.xpipe.app.util.PlatformThread;
import io.xpipe.core.process.OsType;
import io.xpipe.core.OsType;
import javafx.scene.control.Label;
import javafx.scene.layout.Region;
@@ -1,6 +1,6 @@
package io.xpipe.app.browser.file;
import io.xpipe.core.store.FilePath;
import io.xpipe.core.FilePath;
import javafx.collections.ObservableList;
@@ -1,7 +1,7 @@
package io.xpipe.app.browser.file;
import io.xpipe.app.core.AppCache;
import io.xpipe.core.util.JacksonMapper;
import io.xpipe.core.JacksonMapper;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
@@ -1,10 +1,10 @@
package io.xpipe.app.browser.file;
import io.xpipe.app.ext.LocalStore;
import io.xpipe.core.store.FileEntry;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.store.FilePath;
import io.xpipe.core.store.FileSystem;
import io.xpipe.app.ext.FileEntry;
import io.xpipe.core.FileKind;
import io.xpipe.core.FilePath;
import io.xpipe.app.ext.FileSystem;
import java.nio.file.Files;
import java.nio.file.Path;
@@ -5,10 +5,11 @@ import io.xpipe.app.comp.base.SimpleTitledPaneComp;
import io.xpipe.app.comp.base.VerticalComp;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.issue.ErrorEventFactory;
import io.xpipe.app.process.OsFileSystem;
import io.xpipe.app.util.DerivedObservableList;
import io.xpipe.app.util.ThreadHelper;
import io.xpipe.core.process.ShellControl;
import io.xpipe.core.store.FileEntry;
import io.xpipe.app.process.ShellControl;
import io.xpipe.app.ext.FileEntry;
import javafx.application.Platform;
import javafx.collections.FXCollections;
@@ -37,7 +38,7 @@ public class BrowserOverviewComp extends SimpleComp {
var commonPlatform = FXCollections.<FileEntry>synchronizedObservableList(FXCollections.observableArrayList());
ThreadHelper.runFailableAsync(() -> {
var common = sc.getOsType().determineInterestingPaths(sc).stream()
var common = OsFileSystem.of(sc.getOsType()).determineInterestingPaths(sc).stream()
.map(s -> FileEntry.ofDirectory(model.getFileSystem(), s))
.filter(entry -> {
var fs = model.getFileSystem();
@@ -6,8 +6,8 @@ import io.xpipe.app.core.AppFontSizes;
import io.xpipe.app.util.BooleanAnimationTimer;
import io.xpipe.app.util.InputHelper;
import io.xpipe.app.util.ThreadHelper;
import io.xpipe.core.store.FileEntry;
import io.xpipe.core.store.FileKind;
import io.xpipe.app.ext.FileEntry;
import io.xpipe.core.FileKind;
import javafx.application.Platform;
import javafx.beans.property.SimpleBooleanProperty;
@@ -4,11 +4,11 @@ import io.xpipe.app.browser.BrowserFullSessionModel;
import io.xpipe.app.browser.action.impl.TransferFilesActionProvider;
import io.xpipe.app.issue.ErrorEventFactory;
import io.xpipe.app.prefs.AppPrefs;
import io.xpipe.app.process.OsFileSystem;
import io.xpipe.app.storage.DataStorage;
import io.xpipe.app.util.DesktopHelper;
import io.xpipe.app.util.ShellTemp;
import io.xpipe.app.util.ThreadHelper;
import io.xpipe.core.process.OsType;
import javafx.beans.binding.Bindings;
import javafx.beans.property.BooleanProperty;
@@ -109,7 +109,7 @@ public class BrowserTransferModel {
return;
}
var fixedFile = entry.getRawFileEntry().getPath().fileSystemCompatible(OsType.getLocal());
var fixedFile = OsFileSystem.ofLocal().makeFileSystemCompatible(entry.getRawFileEntry().getPath());
Path file = TEMP.resolve(fixedFile.getFileName());
var item = new Item(model, name, entry, file);
items.add(item);
@@ -1,8 +1,8 @@
package io.xpipe.app.browser.icon;
import io.xpipe.app.core.AppResources;
import io.xpipe.core.store.FileEntry;
import io.xpipe.core.store.FileKind;
import io.xpipe.app.ext.FileEntry;
import io.xpipe.core.FileKind;
import lombok.Getter;
@@ -1,8 +1,8 @@
package io.xpipe.app.browser.icon;
import io.xpipe.app.core.AppResources;
import io.xpipe.core.store.FileEntry;
import io.xpipe.core.store.FileKind;
import io.xpipe.app.ext.FileEntry;
import io.xpipe.core.FileKind;
import lombok.Getter;
@@ -1,7 +1,7 @@
package io.xpipe.app.browser.icon;
import io.xpipe.core.store.FileEntry;
import io.xpipe.core.store.FileKind;
import io.xpipe.app.ext.FileEntry;
import io.xpipe.core.FileKind;
public class BrowserIconManager {
@@ -2,7 +2,7 @@ package io.xpipe.app.browser.icon;
import io.xpipe.app.comp.Comp;
import io.xpipe.app.comp.base.PrettyImageHelper;
import io.xpipe.core.store.FileEntry;
import io.xpipe.app.ext.FileEntry;
public class BrowserIcons {
@@ -5,8 +5,8 @@ import io.xpipe.app.browser.file.BrowserFileSystemTabModel;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.prefs.AppPrefs;
import io.xpipe.app.util.CommandDialog;
import io.xpipe.core.process.CommandBuilder;
import io.xpipe.core.process.ShellControl;
import io.xpipe.app.process.CommandBuilder;
import io.xpipe.app.process.ShellControl;
import javafx.beans.value.ObservableValue;
@@ -7,7 +7,7 @@ import io.xpipe.app.browser.file.BrowserFileSystemTabModel;
import io.xpipe.app.browser.menu.BrowserMenuCategory;
import io.xpipe.app.browser.menu.BrowserMenuLeafProvider;
import io.xpipe.app.core.AppI18n;
import io.xpipe.core.process.OsType;
import io.xpipe.core.OsType;
import javafx.beans.value.ObservableValue;
@@ -11,8 +11,8 @@ import io.xpipe.app.comp.Comp;
import io.xpipe.app.comp.base.ModalOverlay;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.util.LabelGraphic;
import io.xpipe.core.process.OsType;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.OsType;
import io.xpipe.core.FileKind;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.value.ObservableValue;
@@ -11,8 +11,8 @@ import io.xpipe.app.comp.Comp;
import io.xpipe.app.comp.base.ModalOverlay;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.util.LabelGraphic;
import io.xpipe.core.process.OsType;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.OsType;
import io.xpipe.core.FileKind;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.value.ObservableValue;
@@ -11,8 +11,8 @@ import io.xpipe.app.comp.Comp;
import io.xpipe.app.comp.base.ModalOverlay;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.util.LabelGraphic;
import io.xpipe.core.process.OsType;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.OsType;
import io.xpipe.core.FileKind;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.value.ObservableValue;
@@ -8,7 +8,7 @@ import io.xpipe.app.browser.menu.BrowserMenuCategory;
import io.xpipe.app.browser.menu.BrowserMenuLeafProvider;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.util.LabelGraphic;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.FileKind;
import javafx.beans.value.ObservableValue;
@@ -8,7 +8,7 @@ import io.xpipe.app.browser.menu.BrowserMenuLeafProvider;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.util.ClipboardHelper;
import io.xpipe.app.util.LabelGraphic;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.FileKind;
import javafx.beans.property.SimpleObjectProperty;
import javafx.beans.value.ObservableValue;
@@ -8,7 +8,7 @@ import io.xpipe.app.browser.menu.BrowserMenuCategory;
import io.xpipe.app.browser.menu.BrowserMenuLeafProvider;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.util.LabelGraphic;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.FileKind;
import javafx.beans.value.ObservableValue;
import javafx.scene.input.KeyCode;
@@ -8,7 +8,7 @@ import io.xpipe.app.browser.menu.BrowserMenuLeafProvider;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.prefs.AppPrefs;
import io.xpipe.app.util.LabelGraphic;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.FileKind;
import javafx.beans.value.ObservableValue;
import javafx.scene.input.KeyCode;
@@ -6,7 +6,7 @@ import io.xpipe.app.browser.menu.BrowserMenuCategory;
import io.xpipe.app.browser.menu.BrowserMenuLeafProvider;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.util.LabelGraphic;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.FileKind;
import javafx.beans.value.ObservableValue;
@@ -7,8 +7,8 @@ import io.xpipe.app.browser.menu.BrowserApplicationPathMenuProvider;
import io.xpipe.app.browser.menu.BrowserMenuCategory;
import io.xpipe.app.browser.menu.FileTypeMenuProvider;
import io.xpipe.app.browser.menu.MultiExecuteMenuProvider;
import io.xpipe.core.process.CommandBuilder;
import io.xpipe.core.process.ShellControl;
import io.xpipe.app.process.CommandBuilder;
import io.xpipe.app.process.ShellControl;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.value.ObservableValue;
@@ -8,8 +8,8 @@ import io.xpipe.app.browser.menu.BrowserMenuCategory;
import io.xpipe.app.browser.menu.BrowserMenuLeafProvider;
import io.xpipe.app.browser.menu.FileTypeMenuProvider;
import io.xpipe.app.util.FileOpener;
import io.xpipe.core.process.CommandBuilder;
import io.xpipe.core.process.ShellControl;
import io.xpipe.app.process.CommandBuilder;
import io.xpipe.app.process.ShellControl;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.value.ObservableValue;
@@ -14,9 +14,9 @@ import io.xpipe.app.comp.base.ModalOverlay;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.util.LabelGraphic;
import io.xpipe.app.util.OptionsBuilder;
import io.xpipe.core.process.OsType;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.store.FilePath;
import io.xpipe.core.OsType;
import io.xpipe.core.FileKind;
import io.xpipe.core.FilePath;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.value.ObservableValue;
@@ -7,7 +7,7 @@ import io.xpipe.app.browser.menu.BrowserMenuCategory;
import io.xpipe.app.browser.menu.BrowserMenuLeafProvider;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.util.LabelGraphic;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.FileKind;
import javafx.beans.value.ObservableValue;
import javafx.scene.input.KeyCode;
@@ -8,8 +8,8 @@ import io.xpipe.app.browser.menu.BrowserMenuCategory;
import io.xpipe.app.browser.menu.BrowserMenuLeafProvider;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.util.LabelGraphic;
import io.xpipe.core.process.OsType;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.OsType;
import io.xpipe.core.FileKind;
import javafx.beans.value.ObservableValue;
import javafx.scene.input.KeyCode;
@@ -9,8 +9,8 @@ import io.xpipe.app.browser.menu.BrowserMenuLeafProvider;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.prefs.AppPrefs;
import io.xpipe.app.util.LabelGraphic;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.store.FilePath;
import io.xpipe.core.FileKind;
import io.xpipe.core.FilePath;
import javafx.beans.value.ObservableValue;
import javafx.scene.input.KeyCode;
@@ -8,7 +8,7 @@ import io.xpipe.app.browser.menu.BrowserMenuCategory;
import io.xpipe.app.browser.menu.BrowserMenuLeafProvider;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.util.LabelGraphic;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.FileKind;
import javafx.beans.value.ObservableValue;
import javafx.scene.input.KeyCode;
@@ -6,7 +6,7 @@ import io.xpipe.app.browser.menu.BrowserMenuCategory;
import io.xpipe.app.browser.menu.BrowserMenuLeafProvider;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.util.LabelGraphic;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.FileKind;
import javafx.beans.value.ObservableValue;
import javafx.scene.input.KeyCode;
@@ -6,12 +6,12 @@ import io.xpipe.app.browser.menu.BrowserMenuCategory;
import io.xpipe.app.browser.menu.MultiExecuteMenuProvider;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.util.LabelGraphic;
import io.xpipe.core.process.CommandBuilder;
import io.xpipe.core.process.OsType;
import io.xpipe.core.process.ShellControl;
import io.xpipe.core.process.ShellDialects;
import io.xpipe.core.store.FileEntry;
import io.xpipe.core.store.FileKind;
import io.xpipe.app.process.CommandBuilder;
import io.xpipe.core.OsType;
import io.xpipe.app.process.ShellControl;
import io.xpipe.app.process.ShellDialects;
import io.xpipe.app.ext.FileEntry;
import io.xpipe.core.FileKind;
import javafx.beans.value.ObservableValue;
@@ -9,8 +9,9 @@ import io.xpipe.app.browser.menu.BrowserApplicationPathMenuProvider;
import io.xpipe.app.browser.menu.BrowserMenuCategory;
import io.xpipe.app.browser.menu.BrowserMenuLeafProvider;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.process.OsFileSystem;
import io.xpipe.app.util.LabelGraphic;
import io.xpipe.core.store.FilePath;
import io.xpipe.core.FilePath;
import javafx.beans.value.ObservableValue;
@@ -52,7 +53,7 @@ public class BaseUntarMenuProvider implements BrowserApplicationPathMenuProvider
@Override
public ObservableValue<String> getName(BrowserFileSystemTabModel model, List<BrowserEntry> entries) {
var sep = model.getFileSystem().getShell().orElseThrow().getOsType().getFileSystemSeparator();
var sep = OsFileSystem.of(model.getFileSystem().getShell().orElseThrow().getOsType()).getFileSystemSeparator();
var dir = entries.size() > 1
? "[...]"
: getTarget(entries.getFirst().getRawFileEntry().getPath()).getFileName() + sep;
@@ -9,8 +9,9 @@ import io.xpipe.app.browser.menu.BrowserApplicationPathMenuProvider;
import io.xpipe.app.browser.menu.BrowserMenuCategory;
import io.xpipe.app.browser.menu.BrowserMenuLeafProvider;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.process.OsFileSystem;
import io.xpipe.app.util.LabelGraphic;
import io.xpipe.core.process.OsType;
import io.xpipe.core.OsType;
import javafx.beans.value.ObservableValue;
@@ -49,7 +50,7 @@ public abstract class BaseUnzipUnixMenuProvider implements BrowserMenuLeafProvid
@Override
public ObservableValue<String> getName(BrowserFileSystemTabModel model, List<BrowserEntry> entries) {
var sep = model.getFileSystem().getShell().orElseThrow().getOsType().getFileSystemSeparator();
var sep = OsFileSystem.of(model.getFileSystem().getShell().orElseThrow().getOsType()).getFileSystemSeparator();
var dir = entries.size() > 1
? "[...]"
: UnzipActionProvider.getTarget(
@@ -8,8 +8,9 @@ import io.xpipe.app.browser.icon.BrowserIcons;
import io.xpipe.app.browser.menu.BrowserMenuCategory;
import io.xpipe.app.browser.menu.BrowserMenuLeafProvider;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.process.OsFileSystem;
import io.xpipe.app.util.LabelGraphic;
import io.xpipe.core.process.OsType;
import io.xpipe.core.OsType;
import javafx.beans.value.ObservableValue;
@@ -35,7 +36,7 @@ public abstract class BaseUnzipWindowsActionProvider implements BrowserMenuLeafP
@Override
public ObservableValue<String> getName(BrowserFileSystemTabModel model, List<BrowserEntry> entries) {
var sep = model.getFileSystem().getShell().orElseThrow().getOsType().getFileSystemSeparator();
var sep = OsFileSystem.of(model.getFileSystem().getShell().orElseThrow().getOsType()).getFileSystemSeparator();
var dir = entries.size() > 1
? "[...]"
: UnzipActionProvider.getTarget(
@@ -8,8 +8,8 @@ import io.xpipe.app.comp.base.ModalOverlay;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.util.CommandSupport;
import io.xpipe.app.util.LabelGraphic;
import io.xpipe.core.process.OsType;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.OsType;
import io.xpipe.core.FileKind;
import javafx.beans.property.SimpleStringProperty;
import javafx.beans.value.ObservableValue;
@@ -3,8 +3,8 @@ package io.xpipe.app.browser.menu.impl.compress;
import io.xpipe.app.browser.action.BrowserAction;
import io.xpipe.app.browser.action.BrowserActionProvider;
import io.xpipe.app.browser.file.BrowserEntry;
import io.xpipe.core.process.CommandBuilder;
import io.xpipe.core.store.FilePath;
import io.xpipe.app.process.CommandBuilder;
import io.xpipe.core.FilePath;
import lombok.NonNull;
import lombok.experimental.SuperBuilder;
@@ -3,9 +3,9 @@ package io.xpipe.app.browser.menu.impl.compress;
import io.xpipe.app.browser.action.BrowserAction;
import io.xpipe.app.browser.action.BrowserActionProvider;
import io.xpipe.app.browser.file.BrowserEntry;
import io.xpipe.core.process.CommandBuilder;
import io.xpipe.core.process.ShellControl;
import io.xpipe.core.store.FilePath;
import io.xpipe.app.process.CommandBuilder;
import io.xpipe.app.process.ShellControl;
import io.xpipe.core.FilePath;
import lombok.experimental.SuperBuilder;
import lombok.extern.jackson.Jacksonized;
@@ -4,11 +4,11 @@ import io.xpipe.app.browser.action.BrowserAction;
import io.xpipe.app.browser.action.BrowserActionProvider;
import io.xpipe.app.browser.file.BrowserEntry;
import io.xpipe.app.browser.file.BrowserFileSystemTabModel;
import io.xpipe.core.process.CommandBuilder;
import io.xpipe.core.process.OsType;
import io.xpipe.core.process.ShellControl;
import io.xpipe.core.process.ShellDialects;
import io.xpipe.core.store.FilePath;
import io.xpipe.app.process.CommandBuilder;
import io.xpipe.core.OsType;
import io.xpipe.app.process.ShellControl;
import io.xpipe.app.process.ShellDialects;
import io.xpipe.core.FilePath;
import lombok.experimental.SuperBuilder;
import lombok.extern.jackson.Jacksonized;
@@ -3,11 +3,11 @@ package io.xpipe.app.browser.menu.impl.compress;
import io.xpipe.app.browser.action.BrowserAction;
import io.xpipe.app.browser.action.BrowserActionProvider;
import io.xpipe.app.browser.file.BrowserEntry;
import io.xpipe.core.process.CommandBuilder;
import io.xpipe.core.process.OsType;
import io.xpipe.core.process.ShellDialects;
import io.xpipe.core.store.FileKind;
import io.xpipe.core.store.FilePath;
import io.xpipe.app.process.CommandBuilder;
import io.xpipe.core.OsType;
import io.xpipe.app.process.ShellDialects;
import io.xpipe.core.FileKind;
import io.xpipe.core.FilePath;
import lombok.NonNull;
import lombok.experimental.SuperBuilder;
@@ -13,8 +13,8 @@ import io.xpipe.app.storage.ContextualFileReference;
import io.xpipe.app.storage.DataStorageSyncHandler;
import io.xpipe.app.storage.DataStoreEntryRef;
import io.xpipe.app.util.PlatformThread;
import io.xpipe.core.store.FilePath;
import io.xpipe.core.store.FileSystemStore;
import io.xpipe.core.FilePath;
import io.xpipe.app.ext.FileSystemStore;
import javafx.application.Platform;
import javafx.beans.binding.Bindings;
@@ -3,7 +3,7 @@ package io.xpipe.app.comp.base;
import io.xpipe.app.comp.Comp;
import io.xpipe.app.comp.CompStructure;
import io.xpipe.app.issue.ErrorEventFactory;
import io.xpipe.core.util.FailableConsumer;
import io.xpipe.core.FailableConsumer;
import javafx.geometry.Pos;
import javafx.scene.Node;
@@ -5,9 +5,9 @@ import io.xpipe.app.comp.CompStructure;
import io.xpipe.app.ext.ShellStore;
import io.xpipe.app.storage.DataStoreEntryRef;
import io.xpipe.app.util.FileOpener;
import io.xpipe.core.process.ShellScript;
import io.xpipe.core.process.ShellStoreState;
import io.xpipe.core.store.StatefulDataStore;
import io.xpipe.app.process.ShellScript;
import io.xpipe.app.process.ShellStoreState;
import io.xpipe.app.ext.StatefulDataStore;
import javafx.application.Platform;
import javafx.beans.binding.Bindings;
@@ -4,7 +4,7 @@ import io.xpipe.app.comp.SimpleComp;
import io.xpipe.app.core.AppFontSizes;
import io.xpipe.app.core.AppI18n;
import io.xpipe.app.util.LabelGraphic;
import io.xpipe.core.process.OsType;
import io.xpipe.core.OsType;
import javafx.geometry.Pos;
import javafx.scene.control.Label;
@@ -3,7 +3,7 @@ package io.xpipe.app.comp.base;
import io.xpipe.app.comp.Comp;
import io.xpipe.app.comp.CompStructure;
import io.xpipe.app.util.PlatformThread;
import io.xpipe.core.process.OsType;
import io.xpipe.core.OsType;
import javafx.application.Platform;
import javafx.beans.property.Property;

Some files were not shown because too many files have changed in this diff Show More