mirror of
https://github.com/xpipe-io/xpipe.git
synced 2026-09-24 17:35:39 +00:00
Reformat
This commit is contained in:
@@ -3,6 +3,7 @@ package io.xpipe.app.action;
|
||||
import io.xpipe.app.comp.Comp;
|
||||
import io.xpipe.app.comp.SimpleComp;
|
||||
import io.xpipe.app.comp.base.*;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.hub.action.BatchStoreAction;
|
||||
import io.xpipe.app.hub.action.MultiStoreAction;
|
||||
import io.xpipe.app.hub.action.StoreAction;
|
||||
@@ -11,7 +12,6 @@ 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.app.ext.DataStore;
|
||||
|
||||
import javafx.beans.property.*;
|
||||
import javafx.collections.FXCollections;
|
||||
|
||||
@@ -2,6 +2,7 @@ package io.xpipe.app.action;
|
||||
|
||||
import io.xpipe.app.comp.Comp;
|
||||
import io.xpipe.app.comp.SimpleComp;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.hub.action.BatchStoreAction;
|
||||
import io.xpipe.app.hub.action.MultiStoreAction;
|
||||
import io.xpipe.app.hub.action.StoreAction;
|
||||
@@ -9,7 +10,6 @@ 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.app.ext.DataStore;
|
||||
|
||||
import javafx.beans.property.SimpleListProperty;
|
||||
import javafx.collections.FXCollections;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package io.xpipe.app.action;
|
||||
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.hub.action.BatchStoreAction;
|
||||
import io.xpipe.app.hub.action.MultiStoreAction;
|
||||
import io.xpipe.app.hub.action.StoreAction;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.core.JacksonMapper;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
|
||||
@@ -18,16 +18,16 @@ public interface ActionProvider {
|
||||
actionProvider.init();
|
||||
|
||||
// For debugging
|
||||
// if (actionProvider instanceof HubLeafProvider<?>) {
|
||||
// actionProvider.getActionClass().orElseThrow();
|
||||
// }
|
||||
// if (actionProvider instanceof HubBranchProvider<?> b) {
|
||||
// for (HubMenuItemProvider<?> child : b.getChildren(null)) {
|
||||
// if (ALL.stream().noneMatch(a -> a.getClass().equals(child.getClass()))) {
|
||||
// System.out.println(child.getClass());
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// if (actionProvider instanceof HubLeafProvider<?>) {
|
||||
// actionProvider.getActionClass().orElseThrow();
|
||||
// }
|
||||
// if (actionProvider instanceof HubBranchProvider<?> b) {
|
||||
// for (HubMenuItemProvider<?> child : b.getChildren(null)) {
|
||||
// if (ALL.stream().noneMatch(a -> a.getClass().equals(child.getClass()))) {
|
||||
// System.out.println(child.getClass());
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
} catch (Throwable t) {
|
||||
ErrorEventFactory.fromThrowable(t).handle();
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package io.xpipe.app.beacon;
|
||||
|
||||
import io.xpipe.app.storage.DataStoreEntry;
|
||||
import io.xpipe.app.process.ShellControl;
|
||||
import io.xpipe.app.storage.DataStoreEntry;
|
||||
|
||||
import lombok.Value;
|
||||
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
package io.xpipe.app.beacon.impl;
|
||||
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.ext.ValidationException;
|
||||
import io.xpipe.app.issue.ErrorEventFactory;
|
||||
import io.xpipe.app.storage.DataStorage;
|
||||
import io.xpipe.app.storage.DataStoreEntry;
|
||||
import io.xpipe.beacon.BeaconClientException;
|
||||
import io.xpipe.beacon.api.ConnectionAddExchange;
|
||||
import io.xpipe.app.ext.ValidationException;
|
||||
import io.xpipe.core.JacksonMapper;
|
||||
|
||||
import com.sun.net.httpserver.HttpExchange;
|
||||
import io.xpipe.core.JacksonMapper;
|
||||
|
||||
public class ConnectionAddExchangeImpl extends ConnectionAddExchange {
|
||||
|
||||
|
||||
@@ -6,9 +6,9 @@ import io.xpipe.app.ext.ShellStore;
|
||||
import io.xpipe.app.storage.DataStorage;
|
||||
import io.xpipe.beacon.BeaconClientException;
|
||||
import io.xpipe.beacon.api.ShellStartExchange;
|
||||
import io.xpipe.core.JacksonMapper;
|
||||
|
||||
import com.sun.net.httpserver.HttpExchange;
|
||||
import io.xpipe.core.JacksonMapper;
|
||||
import lombok.SneakyThrows;
|
||||
|
||||
public class ShellStartExchangeImpl extends ShellStartExchange {
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package io.xpipe.app.beacon.impl;
|
||||
|
||||
import io.xpipe.app.ext.ProcessControlProvider;
|
||||
import io.xpipe.app.process.ShellDialects;
|
||||
import io.xpipe.app.terminal.TerminalLauncherManager;
|
||||
import io.xpipe.beacon.api.SshLaunchExchange;
|
||||
import io.xpipe.app.process.ShellDialects;
|
||||
|
||||
import com.sun.net.httpserver.HttpExchange;
|
||||
|
||||
|
||||
@@ -9,6 +9,7 @@ import io.xpipe.app.comp.Comp;
|
||||
import io.xpipe.app.comp.base.*;
|
||||
import io.xpipe.app.core.AppFontSizes;
|
||||
import io.xpipe.app.core.AppLayoutModel;
|
||||
import io.xpipe.app.ext.FileSystemStore;
|
||||
import io.xpipe.app.ext.ShellStore;
|
||||
import io.xpipe.app.hub.comp.StoreEntryWrapper;
|
||||
import io.xpipe.app.hub.comp.StoreViewState;
|
||||
@@ -18,7 +19,6 @@ import io.xpipe.app.util.FileReference;
|
||||
import io.xpipe.app.util.PlatformThread;
|
||||
import io.xpipe.app.util.ThreadHelper;
|
||||
import io.xpipe.core.FilePath;
|
||||
import io.xpipe.app.ext.FileSystemStore;
|
||||
|
||||
import javafx.beans.property.BooleanProperty;
|
||||
import javafx.beans.property.SimpleObjectProperty;
|
||||
|
||||
@@ -2,13 +2,13 @@ package io.xpipe.app.browser;
|
||||
|
||||
import io.xpipe.app.browser.file.BrowserEntry;
|
||||
import io.xpipe.app.browser.file.BrowserFileSystemTabModel;
|
||||
import io.xpipe.app.ext.FileSystemStore;
|
||||
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.FilePath;
|
||||
import io.xpipe.app.ext.FileSystemStore;
|
||||
import io.xpipe.core.FailableFunction;
|
||||
import io.xpipe.core.FilePath;
|
||||
|
||||
import javafx.beans.property.BooleanProperty;
|
||||
import javafx.beans.property.SimpleBooleanProperty;
|
||||
|
||||
@@ -4,14 +4,14 @@ import io.xpipe.app.browser.file.BrowserFileSystemTabModel;
|
||||
import io.xpipe.app.browser.file.BrowserHistorySavedState;
|
||||
import io.xpipe.app.browser.file.BrowserHistoryTabModel;
|
||||
import io.xpipe.app.browser.file.BrowserTransferModel;
|
||||
import io.xpipe.app.ext.FileSystemStore;
|
||||
import io.xpipe.app.prefs.AppPrefs;
|
||||
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.FilePath;
|
||||
import io.xpipe.app.ext.FileSystemStore;
|
||||
import io.xpipe.core.FailableFunction;
|
||||
import io.xpipe.core.FilePath;
|
||||
|
||||
import javafx.beans.binding.Bindings;
|
||||
import javafx.beans.property.BooleanProperty;
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package io.xpipe.app.browser;
|
||||
|
||||
import io.xpipe.app.comp.Comp;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.storage.DataStorage;
|
||||
import io.xpipe.app.storage.DataStoreColor;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
|
||||
@@ -5,9 +5,9 @@ import io.xpipe.app.browser.BrowserStoreSessionTab;
|
||||
import io.xpipe.app.browser.file.BrowserEntry;
|
||||
import io.xpipe.app.browser.file.BrowserFileSystemTabModel;
|
||||
import io.xpipe.app.core.AppLayoutModel;
|
||||
import io.xpipe.app.ext.FileSystemStore;
|
||||
import io.xpipe.app.hub.action.StoreAction;
|
||||
import io.xpipe.core.FilePath;
|
||||
import io.xpipe.app.ext.FileSystemStore;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
+1
-1
@@ -4,9 +4,9 @@ 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.app.process.ShellControl;
|
||||
import io.xpipe.app.util.DesktopHelper;
|
||||
import io.xpipe.app.util.LocalShell;
|
||||
import io.xpipe.app.process.ShellControl;
|
||||
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import lombok.extern.jackson.Jacksonized;
|
||||
|
||||
+2
-2
@@ -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.app.util.LocalShell;
|
||||
import io.xpipe.app.process.CommandBuilder;
|
||||
import io.xpipe.core.OsType;
|
||||
import io.xpipe.app.process.ShellControl;
|
||||
import io.xpipe.app.util.LocalShell;
|
||||
import io.xpipe.core.FileKind;
|
||||
import io.xpipe.core.OsType;
|
||||
|
||||
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.OsType;
|
||||
import io.xpipe.core.FileKind;
|
||||
import io.xpipe.core.OsType;
|
||||
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import lombok.extern.jackson.Jacksonized;
|
||||
|
||||
+1
-1
@@ -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.app.util.CommandDialog;
|
||||
import io.xpipe.app.process.CommandBuilder;
|
||||
import io.xpipe.app.util.CommandDialog;
|
||||
|
||||
import lombok.NonNull;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
@@ -4,10 +4,10 @@ import io.xpipe.app.action.AbstractAction;
|
||||
import io.xpipe.app.action.ActionProvider;
|
||||
import io.xpipe.app.action.StoreContextAction;
|
||||
import io.xpipe.app.browser.file.BrowserFileTransferOperation;
|
||||
import io.xpipe.app.ext.FileSystemStore;
|
||||
import io.xpipe.app.storage.DataStorage;
|
||||
import io.xpipe.app.storage.DataStoreEntry;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.ext.FileSystemStore;
|
||||
|
||||
import lombok.NonNull;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package io.xpipe.app.browser.file;
|
||||
|
||||
import io.xpipe.app.ext.FileEntry;
|
||||
import io.xpipe.app.ext.ProcessControlProvider;
|
||||
import io.xpipe.app.issue.ErrorEventFactory;
|
||||
import io.xpipe.app.util.GlobalClipboard;
|
||||
import io.xpipe.app.ext.FileEntry;
|
||||
|
||||
import javafx.beans.property.Property;
|
||||
import javafx.beans.property.SimpleObjectProperty;
|
||||
|
||||
@@ -3,11 +3,11 @@ package io.xpipe.app.browser.file;
|
||||
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.OsType;
|
||||
import io.xpipe.app.ext.FileEntry;
|
||||
import io.xpipe.app.util.*;
|
||||
import io.xpipe.core.FileInfo;
|
||||
import io.xpipe.core.FileKind;
|
||||
import io.xpipe.core.OsType;
|
||||
|
||||
import javafx.application.Platform;
|
||||
import javafx.beans.binding.Bindings;
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
package io.xpipe.app.browser.file;
|
||||
|
||||
import io.xpipe.app.browser.action.impl.MoveFileActionProvider;
|
||||
import io.xpipe.app.ext.FileEntry;
|
||||
import io.xpipe.app.issue.ErrorEventFactory;
|
||||
import io.xpipe.app.prefs.AppPrefs;
|
||||
import io.xpipe.core.OsType;
|
||||
import io.xpipe.app.ext.FileEntry;
|
||||
import io.xpipe.core.FileKind;
|
||||
import io.xpipe.core.FilePath;
|
||||
import io.xpipe.core.OsType;
|
||||
|
||||
import javafx.beans.property.Property;
|
||||
import javafx.beans.property.SimpleBooleanProperty;
|
||||
|
||||
@@ -3,19 +3,19 @@ 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.ext.FileEntry;
|
||||
import io.xpipe.app.issue.ErrorEventFactory;
|
||||
import io.xpipe.app.prefs.AppPrefs;
|
||||
import io.xpipe.app.process.CommandBuilder;
|
||||
import io.xpipe.app.process.ElevationFunction;
|
||||
import io.xpipe.app.process.ProcessOutputException;
|
||||
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.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 io.xpipe.core.OsType;
|
||||
|
||||
import lombok.SneakyThrows;
|
||||
|
||||
@@ -45,8 +45,8 @@ public class BrowserFileOpener {
|
||||
}
|
||||
|
||||
var sc = model.getFileSystem().getShell().orElseThrow();
|
||||
var requiresSudo = sc.getOsType() != OsType.WINDOWS &&
|
||||
requiresSudo(model, (FileInfo.Unix) file.getInfo(), file.getPath());
|
||||
var requiresSudo =
|
||||
sc.getOsType() != OsType.WINDOWS && requiresSudo(model, (FileInfo.Unix) file.getInfo(), file.getPath());
|
||||
|
||||
var defOutput = createFileOutput(model, file, totalBytes, false);
|
||||
if (!requiresSudo) {
|
||||
@@ -91,12 +91,16 @@ public class BrowserFileOpener {
|
||||
return !test;
|
||||
}
|
||||
|
||||
private static BrowserFileOutput createFileOutput(BrowserFileSystemTabModel model, FileEntry file, long totalBytes, boolean elevate) throws
|
||||
Exception {
|
||||
var sc = elevate ? model.getFileSystem().getShell().orElseThrow()
|
||||
.identicalDialectSubShell()
|
||||
.elevated(ElevationFunction.elevated(null))
|
||||
.start() : model.getFileSystem().getShell().orElseThrow().start();
|
||||
private static BrowserFileOutput createFileOutput(
|
||||
BrowserFileSystemTabModel model, FileEntry file, long totalBytes, boolean elevate) throws Exception {
|
||||
var sc = elevate
|
||||
? model.getFileSystem()
|
||||
.getShell()
|
||||
.orElseThrow()
|
||||
.identicalDialectSubShell()
|
||||
.elevated(ElevationFunction.elevated(null))
|
||||
.start()
|
||||
: model.getFileSystem().getShell().orElseThrow().start();
|
||||
var fs = elevate ? new ConnectionFileSystem(sc) : model.getFileSystem();
|
||||
var isSudoersFile = file.getPath().startsWith("/etc/sudo");
|
||||
var output = new BrowserFileOutput() {
|
||||
@@ -135,7 +139,10 @@ public class BrowserFileOpener {
|
||||
if (isSudoersFile) {
|
||||
if (sc.view().findProgram("visudo").isPresent()) {
|
||||
try {
|
||||
sc.command(CommandBuilder.of().add("visudo", "-c", "-f").addFile(file.getPath())).execute();
|
||||
sc.command(CommandBuilder.of()
|
||||
.add("visudo", "-c", "-f")
|
||||
.addFile(file.getPath()))
|
||||
.execute();
|
||||
} catch (ProcessOutputException ex) {
|
||||
ErrorEventFactory.fromThrowable(ex).expected().handle();
|
||||
fs.copy(sc.getSystemTemporaryDirectory().join(file.getName()), file.getPath());
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package io.xpipe.app.browser.file;
|
||||
|
||||
import io.xpipe.app.util.PasswdFile;
|
||||
import io.xpipe.app.util.ShellControlCache;
|
||||
import io.xpipe.app.process.CommandBuilder;
|
||||
import io.xpipe.core.OsType;
|
||||
import io.xpipe.app.process.ShellControl;
|
||||
import io.xpipe.app.process.ShellDialect;
|
||||
import io.xpipe.app.util.PasswdFile;
|
||||
import io.xpipe.app.util.ShellControlCache;
|
||||
import io.xpipe.core.OsType;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package io.xpipe.app.browser.file;
|
||||
|
||||
import io.xpipe.app.ext.FileEntry;
|
||||
import io.xpipe.app.ext.FileSystem;
|
||||
import io.xpipe.app.issue.ErrorEventFactory;
|
||||
import io.xpipe.core.OsType;
|
||||
import io.xpipe.app.ext.FileEntry;
|
||||
import io.xpipe.core.FileKind;
|
||||
import io.xpipe.core.FilePath;
|
||||
import io.xpipe.core.OsType;
|
||||
|
||||
import java.time.Instant;
|
||||
import java.util.List;
|
||||
|
||||
@@ -8,6 +8,7 @@ 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.FileEntry;
|
||||
import io.xpipe.app.ext.FileSystem;
|
||||
import io.xpipe.app.ext.FileSystemStore;
|
||||
import io.xpipe.app.ext.ProcessControlProvider;
|
||||
@@ -20,11 +21,10 @@ import io.xpipe.app.terminal.*;
|
||||
import io.xpipe.app.util.BooleanScope;
|
||||
import io.xpipe.app.util.ThreadHelper;
|
||||
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,13 +1,13 @@
|
||||
package io.xpipe.app.browser.file;
|
||||
|
||||
import io.xpipe.app.ext.FileEntry;
|
||||
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.app.ext.FileEntry;
|
||||
import io.xpipe.core.FileKind;
|
||||
import io.xpipe.core.FilePath;
|
||||
|
||||
import javafx.beans.property.BooleanProperty;
|
||||
import javafx.beans.value.ChangeListener;
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package io.xpipe.app.browser.file;
|
||||
|
||||
import io.xpipe.app.ext.LocalStore;
|
||||
import io.xpipe.app.ext.FileEntry;
|
||||
import io.xpipe.app.ext.FileSystem;
|
||||
import io.xpipe.app.ext.LocalStore;
|
||||
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;
|
||||
|
||||
@@ -4,12 +4,12 @@ import io.xpipe.app.comp.SimpleComp;
|
||||
import io.xpipe.app.comp.base.SimpleTitledPaneComp;
|
||||
import io.xpipe.app.comp.base.VerticalComp;
|
||||
import io.xpipe.app.core.AppI18n;
|
||||
import io.xpipe.app.ext.FileEntry;
|
||||
import io.xpipe.app.issue.ErrorEventFactory;
|
||||
import io.xpipe.app.process.OsFileSystem;
|
||||
import io.xpipe.app.process.ShellControl;
|
||||
import io.xpipe.app.util.DerivedObservableList;
|
||||
import io.xpipe.app.util.ThreadHelper;
|
||||
import io.xpipe.app.process.ShellControl;
|
||||
import io.xpipe.app.ext.FileEntry;
|
||||
|
||||
import javafx.application.Platform;
|
||||
import javafx.collections.FXCollections;
|
||||
|
||||
@@ -3,10 +3,10 @@ package io.xpipe.app.browser.file;
|
||||
import io.xpipe.app.browser.icon.BrowserIconManager;
|
||||
import io.xpipe.app.comp.base.PrettyImageHelper;
|
||||
import io.xpipe.app.core.AppFontSizes;
|
||||
import io.xpipe.app.ext.FileEntry;
|
||||
import io.xpipe.app.util.BooleanAnimationTimer;
|
||||
import io.xpipe.app.util.InputHelper;
|
||||
import io.xpipe.app.util.ThreadHelper;
|
||||
import io.xpipe.app.ext.FileEntry;
|
||||
import io.xpipe.core.FileKind;
|
||||
|
||||
import javafx.application.Platform;
|
||||
|
||||
@@ -109,7 +109,8 @@ public class BrowserTransferModel {
|
||||
return;
|
||||
}
|
||||
|
||||
var fixedFile = OsFileSystem.ofLocal().makeFileSystemCompatible(entry.getRawFileEntry().getPath());
|
||||
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);
|
||||
|
||||
@@ -4,9 +4,9 @@ import io.xpipe.app.browser.file.BrowserEntry;
|
||||
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.app.process.CommandBuilder;
|
||||
import io.xpipe.app.process.ShellControl;
|
||||
import io.xpipe.app.util.CommandDialog;
|
||||
|
||||
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.OsType;
|
||||
import io.xpipe.core.FileKind;
|
||||
import io.xpipe.core.OsType;
|
||||
|
||||
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.OsType;
|
||||
import io.xpipe.core.FileKind;
|
||||
import io.xpipe.core.OsType;
|
||||
|
||||
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.OsType;
|
||||
import io.xpipe.core.FileKind;
|
||||
import io.xpipe.core.OsType;
|
||||
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
|
||||
@@ -7,9 +7,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.browser.menu.FileTypeMenuProvider;
|
||||
import io.xpipe.app.util.FileOpener;
|
||||
import io.xpipe.app.process.CommandBuilder;
|
||||
import io.xpipe.app.process.ShellControl;
|
||||
import io.xpipe.app.util.FileOpener;
|
||||
|
||||
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.OsType;
|
||||
import io.xpipe.core.FileKind;
|
||||
import io.xpipe.core.FilePath;
|
||||
import io.xpipe.core.OsType;
|
||||
|
||||
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.core.AppI18n;
|
||||
import io.xpipe.app.util.LabelGraphic;
|
||||
import io.xpipe.core.OsType;
|
||||
import io.xpipe.core.FileKind;
|
||||
import io.xpipe.core.OsType;
|
||||
|
||||
import javafx.beans.value.ObservableValue;
|
||||
import javafx.scene.input.KeyCode;
|
||||
|
||||
@@ -5,13 +5,13 @@ import io.xpipe.app.browser.file.BrowserFileSystemTabModel;
|
||||
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.app.ext.FileEntry;
|
||||
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.app.util.LabelGraphic;
|
||||
import io.xpipe.core.FileKind;
|
||||
import io.xpipe.core.OsType;
|
||||
|
||||
import javafx.beans.value.ObservableValue;
|
||||
|
||||
|
||||
+2
-1
@@ -53,7 +53,8 @@ public class BaseUntarMenuProvider implements BrowserApplicationPathMenuProvider
|
||||
|
||||
@Override
|
||||
public ObservableValue<String> getName(BrowserFileSystemTabModel model, List<BrowserEntry> entries) {
|
||||
var sep = OsFileSystem.of(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;
|
||||
|
||||
+2
-1
@@ -50,7 +50,8 @@ public abstract class BaseUnzipUnixMenuProvider implements BrowserMenuLeafProvid
|
||||
|
||||
@Override
|
||||
public ObservableValue<String> getName(BrowserFileSystemTabModel model, List<BrowserEntry> entries) {
|
||||
var sep = OsFileSystem.of(model.getFileSystem().getShell().orElseThrow().getOsType()).getFileSystemSeparator();
|
||||
var sep = OsFileSystem.of(model.getFileSystem().getShell().orElseThrow().getOsType())
|
||||
.getFileSystemSeparator();
|
||||
var dir = entries.size() > 1
|
||||
? "[...]"
|
||||
: UnzipActionProvider.getTarget(
|
||||
|
||||
+2
-1
@@ -36,7 +36,8 @@ public abstract class BaseUnzipWindowsActionProvider implements BrowserMenuLeafP
|
||||
|
||||
@Override
|
||||
public ObservableValue<String> getName(BrowserFileSystemTabModel model, List<BrowserEntry> entries) {
|
||||
var sep = OsFileSystem.of(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.OsType;
|
||||
import io.xpipe.core.FileKind;
|
||||
import io.xpipe.core.OsType;
|
||||
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
|
||||
@@ -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.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 io.xpipe.core.OsType;
|
||||
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import lombok.extern.jackson.Jacksonized;
|
||||
|
||||
@@ -4,10 +4,10 @@ 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.process.CommandBuilder;
|
||||
import io.xpipe.core.OsType;
|
||||
import io.xpipe.app.process.ShellDialects;
|
||||
import io.xpipe.core.FileKind;
|
||||
import io.xpipe.core.FilePath;
|
||||
import io.xpipe.core.OsType;
|
||||
|
||||
import lombok.NonNull;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
@@ -6,6 +6,7 @@ import io.xpipe.app.comp.CompStructure;
|
||||
import io.xpipe.app.comp.SimpleCompStructure;
|
||||
import io.xpipe.app.core.AppLayoutModel;
|
||||
import io.xpipe.app.core.window.AppDialog;
|
||||
import io.xpipe.app.ext.FileSystemStore;
|
||||
import io.xpipe.app.ext.ProcessControlProvider;
|
||||
import io.xpipe.app.issue.ErrorEventFactory;
|
||||
import io.xpipe.app.prefs.AppPrefs;
|
||||
@@ -14,7 +15,6 @@ import io.xpipe.app.storage.DataStorageSyncHandler;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.util.PlatformThread;
|
||||
import io.xpipe.core.FilePath;
|
||||
import io.xpipe.app.ext.FileSystemStore;
|
||||
|
||||
import javafx.application.Platform;
|
||||
import javafx.beans.binding.Bindings;
|
||||
|
||||
@@ -3,11 +3,11 @@ package io.xpipe.app.comp.base;
|
||||
import io.xpipe.app.comp.Comp;
|
||||
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.app.ext.StatefulDataStore;
|
||||
import io.xpipe.app.process.ShellScript;
|
||||
import io.xpipe.app.process.ShellStoreState;
|
||||
import io.xpipe.app.ext.StatefulDataStore;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.util.FileOpener;
|
||||
|
||||
import javafx.application.Platform;
|
||||
import javafx.beans.binding.Bindings;
|
||||
|
||||
@@ -5,8 +5,8 @@ import io.xpipe.app.core.AppImages;
|
||||
import io.xpipe.app.issue.TrackEvent;
|
||||
import io.xpipe.app.prefs.AppPrefs;
|
||||
import io.xpipe.app.util.PlatformThread;
|
||||
|
||||
import io.xpipe.core.FilePath;
|
||||
|
||||
import javafx.beans.binding.Bindings;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
@@ -98,7 +98,8 @@ public class PrettyImageComp extends SimpleComp {
|
||||
&& AppPrefs.get().theme().getValue() != null
|
||||
&& AppPrefs.get().theme().getValue().isDark();
|
||||
var fixed = val != null
|
||||
? FilePath.of(val).getBaseName() + (useDark ? "-dark" : "") + "." + FilePath.of(val).getExtension().orElseThrow()
|
||||
? FilePath.of(val).getBaseName() + (useDark ? "-dark" : "") + "."
|
||||
+ FilePath.of(val).getExtension().orElseThrow()
|
||||
: null;
|
||||
image.set(fixed);
|
||||
|
||||
|
||||
@@ -4,9 +4,8 @@ import io.xpipe.app.comp.Comp;
|
||||
import io.xpipe.app.core.AppImages;
|
||||
import io.xpipe.app.core.window.AppMainWindow;
|
||||
import io.xpipe.app.util.BindingsHelper;
|
||||
|
||||
|
||||
import io.xpipe.core.FilePath;
|
||||
|
||||
import javafx.beans.binding.Bindings;
|
||||
import javafx.beans.property.SimpleDoubleProperty;
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
|
||||
@@ -5,8 +5,8 @@ import io.xpipe.app.ext.ProcessControlProvider;
|
||||
import io.xpipe.app.issue.ErrorEventFactory;
|
||||
import io.xpipe.app.issue.TrackEvent;
|
||||
import io.xpipe.app.util.ModuleAccess;
|
||||
import io.xpipe.core.OsType;
|
||||
import io.xpipe.core.ModuleLayerLoader;
|
||||
import io.xpipe.core.OsType;
|
||||
import io.xpipe.core.XPipeInstallation;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@@ -2,10 +2,10 @@ package io.xpipe.app.core;
|
||||
|
||||
import io.xpipe.app.core.mode.OperationMode;
|
||||
import io.xpipe.app.ext.ProcessControlProvider;
|
||||
import io.xpipe.app.util.LocalShell;
|
||||
import io.xpipe.core.OsType;
|
||||
import io.xpipe.app.process.ShellDialect;
|
||||
import io.xpipe.app.process.ShellDialects;
|
||||
import io.xpipe.app.util.LocalShell;
|
||||
import io.xpipe.core.OsType;
|
||||
import io.xpipe.core.XPipeInstallation;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -2,8 +2,8 @@ package io.xpipe.app.core.check;
|
||||
|
||||
import io.xpipe.app.ext.ProcessControlProvider;
|
||||
import io.xpipe.app.prefs.AppPrefs;
|
||||
import io.xpipe.core.OsType;
|
||||
import io.xpipe.app.process.ShellDialects;
|
||||
import io.xpipe.core.OsType;
|
||||
|
||||
import java.util.concurrent.TimeUnit;
|
||||
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
package io.xpipe.app.core.check;
|
||||
|
||||
import io.xpipe.app.issue.ErrorEventFactory;
|
||||
import io.xpipe.core.OsType;
|
||||
|
||||
import io.xpipe.core.FilePath;
|
||||
import io.xpipe.core.OsType;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
@@ -17,7 +16,8 @@ public class AppHomebrewCoreutilsCheck {
|
||||
var out = new String(proc.getInputStream().readAllBytes());
|
||||
proc.waitFor(1, TimeUnit.SECONDS);
|
||||
var first = out.lines().findFirst();
|
||||
return first.filter(s -> s.contains("coreutils")).map(s -> FilePath.of(s).getParent().toString());
|
||||
return first.filter(s -> s.contains("coreutils"))
|
||||
.map(s -> FilePath.of(s).getParent().toString());
|
||||
} catch (Exception e) {
|
||||
return Optional.empty();
|
||||
}
|
||||
|
||||
@@ -2,10 +2,10 @@ package io.xpipe.app.core.check;
|
||||
|
||||
import io.xpipe.app.ext.ProcessControlProvider;
|
||||
import io.xpipe.app.issue.ErrorEventFactory;
|
||||
import io.xpipe.app.util.LocalShell;
|
||||
import io.xpipe.app.util.ScriptHelper;
|
||||
import io.xpipe.app.process.ProcessOutputException;
|
||||
import io.xpipe.app.process.ShellSpawnException;
|
||||
import io.xpipe.app.util.LocalShell;
|
||||
import io.xpipe.app.util.ScriptHelper;
|
||||
|
||||
import lombok.Value;
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package io.xpipe.app.core.check;
|
||||
|
||||
import io.xpipe.app.process.ProcessOutputException;
|
||||
import io.xpipe.app.util.LocalShell;
|
||||
import io.xpipe.core.OsType;
|
||||
import io.xpipe.app.process.ProcessOutputException;
|
||||
import io.xpipe.core.XPipeInstallation;
|
||||
|
||||
public class AppTestCommandCheck {
|
||||
|
||||
@@ -12,8 +12,8 @@ import io.xpipe.app.prefs.CloseBehaviour;
|
||||
import io.xpipe.app.storage.DataStorage;
|
||||
import io.xpipe.app.update.AppDistributionType;
|
||||
import io.xpipe.app.util.*;
|
||||
import io.xpipe.core.OsType;
|
||||
import io.xpipe.core.FailableRunnable;
|
||||
import io.xpipe.core.OsType;
|
||||
import io.xpipe.core.XPipeDaemonMode;
|
||||
|
||||
import javafx.application.Platform;
|
||||
|
||||
@@ -4,9 +4,10 @@ import io.xpipe.app.core.AppI18n;
|
||||
import io.xpipe.app.core.AppProperties;
|
||||
import io.xpipe.app.update.AppDistributionType;
|
||||
import io.xpipe.app.util.LicenseProvider;
|
||||
import io.xpipe.app.util.PlatformThread;
|
||||
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.beans.property.StringProperty;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
public class AppWindowTitle {
|
||||
@@ -17,26 +18,28 @@ public class AppWindowTitle {
|
||||
public static void init() {
|
||||
if (LicenseProvider.get() != null) {
|
||||
var t = LicenseProvider.get().licenseTitle();
|
||||
t.subscribe(_ -> {
|
||||
t.subscribe(ignored -> {
|
||||
title.setValue(createTitle());
|
||||
});
|
||||
}
|
||||
|
||||
var l = AppI18n.activeLanguage();
|
||||
l.subscribe(_ -> {
|
||||
l.subscribe(ignored -> {
|
||||
title.setValue(createTitle());
|
||||
});
|
||||
|
||||
if (AppDistributionType.get() != AppDistributionType.UNKNOWN) {
|
||||
var u = AppDistributionType.get().getUpdateHandler().getPreparedUpdate();
|
||||
u.subscribe(_ -> {
|
||||
u.subscribe(ignored -> {
|
||||
title.setValue(createTitle());
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private static String createTitle() {
|
||||
var t = LicenseProvider.get() != null ? " " + LicenseProvider.get().licenseTitle().getValue() : "";
|
||||
var t = LicenseProvider.get() != null
|
||||
? " " + LicenseProvider.get().licenseTitle().getValue()
|
||||
: "";
|
||||
var base = String.format("XPipe%s (%s)", t, AppProperties.get().getVersion());
|
||||
var prefix = AppProperties.get().isStaging() ? "[Public Test Build, Not a proper release] " : "";
|
||||
var dist = AppDistributionType.get();
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package io.xpipe.app.ext;
|
||||
|
||||
import io.xpipe.app.issue.ErrorEventFactory;
|
||||
import io.xpipe.app.util.DocumentationLink;
|
||||
import io.xpipe.app.process.CommandBuilder;
|
||||
import io.xpipe.app.process.ShellControl;
|
||||
import io.xpipe.app.process.ShellDialects;
|
||||
import io.xpipe.app.util.DocumentationLink;
|
||||
import io.xpipe.core.FilePath;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
|
||||
@@ -3,6 +3,7 @@ package io.xpipe.app.ext;
|
||||
import io.xpipe.core.FileInfo;
|
||||
import io.xpipe.core.FileKind;
|
||||
import io.xpipe.core.FilePath;
|
||||
|
||||
import lombok.NonNull;
|
||||
import lombok.Setter;
|
||||
import lombok.Value;
|
||||
|
||||
@@ -3,9 +3,11 @@ package io.xpipe.app.ext;
|
||||
import io.xpipe.core.FileInfo;
|
||||
import io.xpipe.core.FileKind;
|
||||
import io.xpipe.core.FilePath;
|
||||
|
||||
import lombok.EqualsAndHashCode;
|
||||
import lombok.NonNull;
|
||||
import lombok.Value;
|
||||
|
||||
import java.time.Instant;
|
||||
|
||||
@Value
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package io.xpipe.app.ext;
|
||||
|
||||
import io.xpipe.app.storage.DataStoreEntry;
|
||||
import io.xpipe.app.process.ShellControl;
|
||||
import io.xpipe.app.storage.DataStoreEntry;
|
||||
import io.xpipe.core.ModuleLayerLoader;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package io.xpipe.app.ext;
|
||||
|
||||
|
||||
import io.xpipe.app.storage.DataStateHandler;
|
||||
|
||||
import lombok.SneakyThrows;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
@@ -2,9 +2,9 @@ package io.xpipe.app.hub.action;
|
||||
|
||||
import io.xpipe.app.action.AbstractAction;
|
||||
import io.xpipe.app.action.ActionProvider;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.util.LabelGraphic;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
|
||||
import javafx.beans.value.ObservableValue;
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package io.xpipe.app.hub.action;
|
||||
|
||||
import io.xpipe.app.action.*;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.storage.DataStorage;
|
||||
import io.xpipe.app.storage.DataStoreEntry;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.core.JacksonMapper;
|
||||
|
||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package io.xpipe.app.hub.action;
|
||||
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package io.xpipe.app.hub.action;
|
||||
|
||||
import io.xpipe.app.action.AbstractAction;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
|
||||
import lombok.SneakyThrows;
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package io.xpipe.app.hub.action;
|
||||
|
||||
import io.xpipe.app.action.ActionProvider;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.util.LabelGraphic;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
|
||||
import javafx.beans.value.ObservableValue;
|
||||
|
||||
|
||||
@@ -3,10 +3,10 @@ package io.xpipe.app.hub.action;
|
||||
import io.xpipe.app.action.ActionJacksonMapper;
|
||||
import io.xpipe.app.action.SerializableAction;
|
||||
import io.xpipe.app.action.StoreContextAction;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.storage.DataStorage;
|
||||
import io.xpipe.app.storage.DataStoreEntry;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.core.JacksonMapper;
|
||||
|
||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||
|
||||
@@ -3,10 +3,10 @@ package io.xpipe.app.hub.action;
|
||||
import io.xpipe.app.action.ActionJacksonMapper;
|
||||
import io.xpipe.app.action.SerializableAction;
|
||||
import io.xpipe.app.action.StoreContextAction;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.storage.DataStorage;
|
||||
import io.xpipe.app.storage.DataStoreEntry;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.core.JacksonMapper;
|
||||
|
||||
import com.fasterxml.jackson.databind.node.ObjectNode;
|
||||
|
||||
@@ -3,6 +3,7 @@ package io.xpipe.app.hub.action.impl;
|
||||
import io.xpipe.app.browser.BrowserFullSessionModel;
|
||||
import io.xpipe.app.core.AppI18n;
|
||||
import io.xpipe.app.core.AppLayoutModel;
|
||||
import io.xpipe.app.ext.FileSystemStore;
|
||||
import io.xpipe.app.ext.ProcessControlProvider;
|
||||
import io.xpipe.app.hub.action.HubLeafProvider;
|
||||
import io.xpipe.app.hub.action.StoreAction;
|
||||
@@ -10,7 +11,6 @@ import io.xpipe.app.hub.action.StoreActionCategory;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.util.LabelGraphic;
|
||||
import io.xpipe.core.FilePath;
|
||||
import io.xpipe.app.ext.FileSystemStore;
|
||||
|
||||
import javafx.beans.property.SimpleBooleanProperty;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package io.xpipe.app.hub.action.impl;
|
||||
|
||||
import io.xpipe.app.core.AppI18n;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.hub.action.HubLeafProvider;
|
||||
import io.xpipe.app.hub.action.StoreAction;
|
||||
import io.xpipe.app.hub.action.StoreActionCategory;
|
||||
@@ -8,7 +9,6 @@ import io.xpipe.app.storage.DataStorage;
|
||||
import io.xpipe.app.storage.DataStoreEntry;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.util.LabelGraphic;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
|
||||
import javafx.beans.value.ObservableValue;
|
||||
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package io.xpipe.app.hub.action.impl;
|
||||
|
||||
import io.xpipe.app.core.AppI18n;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.hub.action.HubLeafProvider;
|
||||
import io.xpipe.app.hub.action.StoreAction;
|
||||
import io.xpipe.app.hub.action.StoreActionCategory;
|
||||
import io.xpipe.app.hub.comp.StoreCreationDialog;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.util.LabelGraphic;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
|
||||
import javafx.beans.value.ObservableValue;
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
package io.xpipe.app.hub.action.impl;
|
||||
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.hub.action.HubLeafProvider;
|
||||
import io.xpipe.app.hub.comp.StoreViewState;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.util.ThreadHelper;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
|
||||
public abstract class InitHubLeafProvider<T extends DataStore, O> implements HubLeafProvider<T> {
|
||||
|
||||
@@ -17,11 +17,14 @@ public abstract class InitHubLeafProvider<T extends DataStore, O> implements Hub
|
||||
|
||||
// Update entries to potentially show item
|
||||
if (available != null) {
|
||||
StoreViewState.get().getAllEntries().getList().stream().filter(w -> w.getValidity().getValue().isUsable()).forEach(w -> {
|
||||
if (getApplicableClass().isAssignableFrom(w.getStore().getValue().getClass())) {
|
||||
w.update();
|
||||
}
|
||||
});
|
||||
StoreViewState.get().getAllEntries().getList().stream()
|
||||
.filter(w -> w.getValidity().getValue().isUsable())
|
||||
.forEach(w -> {
|
||||
if (getApplicableClass()
|
||||
.isAssignableFrom(w.getStore().getValue().getClass())) {
|
||||
w.update();
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package io.xpipe.app.hub.action.impl;
|
||||
|
||||
import io.xpipe.app.core.AppI18n;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.hub.action.BatchHubProvider;
|
||||
import io.xpipe.app.hub.action.HubLeafProvider;
|
||||
import io.xpipe.app.hub.action.StoreAction;
|
||||
import io.xpipe.app.hub.action.StoreActionCategory;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.util.LabelGraphic;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
|
||||
import javafx.beans.value.ObservableValue;
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package io.xpipe.app.hub.action.impl;
|
||||
|
||||
import io.xpipe.app.action.*;
|
||||
import io.xpipe.app.hub.action.StoreAction;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.hub.action.StoreAction;
|
||||
|
||||
import lombok.experimental.SuperBuilder;
|
||||
import lombok.extern.jackson.Jacksonized;
|
||||
|
||||
@@ -5,12 +5,12 @@ import io.xpipe.app.ext.ShellStore;
|
||||
import io.xpipe.app.hub.action.HubLeafProvider;
|
||||
import io.xpipe.app.hub.action.StoreAction;
|
||||
import io.xpipe.app.hub.action.StoreActionCategory;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.util.LabelGraphic;
|
||||
import io.xpipe.app.process.CommandControl;
|
||||
import io.xpipe.app.process.ElevationFunction;
|
||||
import io.xpipe.app.process.ShellControl;
|
||||
import io.xpipe.app.process.ShellDialects;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.util.LabelGraphic;
|
||||
import io.xpipe.core.FilePath;
|
||||
|
||||
import javafx.beans.value.ObservableValue;
|
||||
|
||||
@@ -5,12 +5,12 @@ import io.xpipe.app.core.AppI18n;
|
||||
import io.xpipe.app.ext.ShellStore;
|
||||
import io.xpipe.app.hub.action.BatchHubProvider;
|
||||
import io.xpipe.app.hub.action.MultiStoreAction;
|
||||
import io.xpipe.app.process.ShellTtyState;
|
||||
import io.xpipe.app.process.SystemState;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.util.LabelGraphic;
|
||||
import io.xpipe.app.util.ScanDialog;
|
||||
import io.xpipe.app.util.ScanDialogAction;
|
||||
import io.xpipe.app.process.ShellTtyState;
|
||||
import io.xpipe.app.process.SystemState;
|
||||
|
||||
import javafx.beans.value.ObservableValue;
|
||||
|
||||
|
||||
@@ -6,11 +6,11 @@ import io.xpipe.app.ext.ShellStore;
|
||||
import io.xpipe.app.hub.action.HubLeafProvider;
|
||||
import io.xpipe.app.hub.action.StoreAction;
|
||||
import io.xpipe.app.hub.action.StoreActionCategory;
|
||||
import io.xpipe.app.process.ShellTtyState;
|
||||
import io.xpipe.app.process.SystemState;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.util.LabelGraphic;
|
||||
import io.xpipe.app.util.ScanDialog;
|
||||
import io.xpipe.app.process.ShellTtyState;
|
||||
import io.xpipe.app.process.SystemState;
|
||||
|
||||
import javafx.beans.value.ObservableValue;
|
||||
|
||||
|
||||
@@ -5,9 +5,8 @@ import io.xpipe.app.comp.base.PrettyImageHelper;
|
||||
import io.xpipe.app.comp.base.StackComp;
|
||||
import io.xpipe.app.core.AppResources;
|
||||
import io.xpipe.app.process.SystemState;
|
||||
|
||||
|
||||
import io.xpipe.core.FilePath;
|
||||
|
||||
import javafx.beans.binding.Bindings;
|
||||
import javafx.beans.property.SimpleObjectProperty;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
@@ -76,7 +75,12 @@ public class OsLogoComp extends SimpleComp {
|
||||
.map(path -> path.getFileName().toString())
|
||||
.forEach(path -> {
|
||||
var base = path.replace("-dark", "").replace("-24.png", ".svg");
|
||||
ICONS.put(FilePath.of(base).getBaseName().toString().split("-")[0], "os/" + base);
|
||||
ICONS.put(
|
||||
FilePath.of(base)
|
||||
.getBaseName()
|
||||
.toString()
|
||||
.split("-")[0],
|
||||
"os/" + base);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -30,15 +30,18 @@ public class StandardStoreEntryComp extends StoreEntryComp {
|
||||
|
||||
private Label createSummary() {
|
||||
var summary = new Label();
|
||||
summary.textProperty().bind(Bindings.createStringBinding(() -> {
|
||||
var summaryValue = getWrapper().getShownSummary().getValue();
|
||||
if (summaryValue != null) {
|
||||
return summaryValue;
|
||||
} else {
|
||||
var provider = getWrapper().getEntry().getProvider();
|
||||
return AppI18n.get(provider.getId() + ".displayName");
|
||||
}
|
||||
}, getWrapper().getShownSummary()));
|
||||
summary.textProperty()
|
||||
.bind(Bindings.createStringBinding(
|
||||
() -> {
|
||||
var summaryValue = getWrapper().getShownSummary().getValue();
|
||||
if (summaryValue != null) {
|
||||
return summaryValue;
|
||||
} else {
|
||||
var provider = getWrapper().getEntry().getProvider();
|
||||
return AppI18n.get(provider.getId() + ".displayName");
|
||||
}
|
||||
},
|
||||
getWrapper().getShownSummary()));
|
||||
summary.getStyleClass().add("summary");
|
||||
AppFontSizes.xs(summary);
|
||||
return summary;
|
||||
|
||||
@@ -4,12 +4,12 @@ import io.xpipe.app.comp.SimpleComp;
|
||||
import io.xpipe.app.comp.base.ModalButton;
|
||||
import io.xpipe.app.comp.base.ModalOverlay;
|
||||
import io.xpipe.app.core.AppI18n;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.storage.DataStorage;
|
||||
import io.xpipe.app.storage.DataStoreCategoryConfig;
|
||||
import io.xpipe.app.storage.DataStoreColor;
|
||||
import io.xpipe.app.storage.DataStoreEntry;
|
||||
import io.xpipe.app.util.OptionsBuilder;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
|
||||
import javafx.beans.property.Property;
|
||||
import javafx.beans.property.SimpleIntegerProperty;
|
||||
|
||||
@@ -6,6 +6,7 @@ import io.xpipe.app.comp.base.*;
|
||||
import io.xpipe.app.core.AppFontSizes;
|
||||
import io.xpipe.app.core.AppI18n;
|
||||
import io.xpipe.app.core.window.AppDialog;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.ext.LocalStore;
|
||||
import io.xpipe.app.ext.ShellStore;
|
||||
import io.xpipe.app.storage.DataStorage;
|
||||
@@ -14,7 +15,6 @@ import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.util.BindingsHelper;
|
||||
import io.xpipe.app.util.DataStoreCategoryChoiceComp;
|
||||
import io.xpipe.app.util.LabelGraphic;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
|
||||
import javafx.beans.binding.Bindings;
|
||||
import javafx.beans.property.*;
|
||||
|
||||
@@ -5,6 +5,7 @@ import io.xpipe.app.comp.base.ModalOverlay;
|
||||
import io.xpipe.app.core.AppI18n;
|
||||
import io.xpipe.app.core.AppLayoutModel;
|
||||
import io.xpipe.app.core.window.AppDialog;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.ext.DataStoreCreationCategory;
|
||||
import io.xpipe.app.ext.DataStoreProvider;
|
||||
import io.xpipe.app.ext.DataStoreProviders;
|
||||
@@ -13,7 +14,6 @@ import io.xpipe.app.prefs.AppPrefs;
|
||||
import io.xpipe.app.storage.DataStorage;
|
||||
import io.xpipe.app.storage.DataStoreEntry;
|
||||
import io.xpipe.app.util.*;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
|
||||
import javafx.beans.binding.Bindings;
|
||||
import javafx.beans.property.SimpleBooleanProperty;
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
package io.xpipe.app.hub.comp;
|
||||
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.ext.DataStoreProvider;
|
||||
import io.xpipe.app.ext.ShellStore;
|
||||
import io.xpipe.app.ext.ValidatableStore;
|
||||
import io.xpipe.app.ext.ValidationException;
|
||||
import io.xpipe.app.hub.action.impl.LaunchHubMenuLeafProvider;
|
||||
import io.xpipe.app.issue.ErrorEventFactory;
|
||||
import io.xpipe.app.process.ShellTtyState;
|
||||
import io.xpipe.app.storage.DataStorage;
|
||||
import io.xpipe.app.storage.DataStoreCategory;
|
||||
import io.xpipe.app.storage.DataStoreEntry;
|
||||
import io.xpipe.app.util.*;
|
||||
import io.xpipe.app.process.ShellTtyState;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.ext.ValidatableStore;
|
||||
import io.xpipe.app.ext.ValidationException;
|
||||
|
||||
import javafx.application.Platform;
|
||||
import javafx.beans.binding.Bindings;
|
||||
|
||||
@@ -6,10 +6,10 @@ import io.xpipe.app.comp.SimpleComp;
|
||||
import io.xpipe.app.comp.augment.ContextMenuAugment;
|
||||
import io.xpipe.app.comp.base.*;
|
||||
import io.xpipe.app.core.AppI18n;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.hub.action.BatchHubProvider;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.util.*;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
|
||||
import javafx.beans.binding.Bindings;
|
||||
import javafx.beans.property.SimpleObjectProperty;
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package io.xpipe.app.hub.comp;
|
||||
|
||||
import io.xpipe.app.action.*;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.ext.GroupStore;
|
||||
import io.xpipe.app.ext.LocalStore;
|
||||
import io.xpipe.app.ext.ShellStore;
|
||||
@@ -18,7 +19,6 @@ import io.xpipe.app.storage.DataStoreEntry;
|
||||
import io.xpipe.app.util.FixedHierarchyStore;
|
||||
import io.xpipe.app.util.PlatformThread;
|
||||
import io.xpipe.app.util.ThreadHelper;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
|
||||
import javafx.application.Platform;
|
||||
import javafx.beans.binding.Bindings;
|
||||
@@ -340,8 +340,9 @@ public class StoreEntryWrapper {
|
||||
}
|
||||
|
||||
public boolean canBreakOutCategory() {
|
||||
return (getStore().getValue() instanceof FixedHierarchyStore || getStore().getValue() instanceof GroupStore<?>) &&
|
||||
StoreViewState.get().getParentSectionForWrapper(this).isPresent();
|
||||
return (getStore().getValue() instanceof FixedHierarchyStore
|
||||
|| getStore().getValue() instanceof GroupStore<?>)
|
||||
&& StoreViewState.get().getParentSectionForWrapper(this).isPresent();
|
||||
}
|
||||
|
||||
public void breakOutCategory() {
|
||||
@@ -421,8 +422,9 @@ public class StoreEntryWrapper {
|
||||
}
|
||||
|
||||
var isSingle = section.get().getAllChildren().getList().stream()
|
||||
.filter(sec -> sec.getWrapper().getOrderIndex().get() == orderIndex.getValue())
|
||||
.count() == 1;
|
||||
.filter(sec -> sec.getWrapper().getOrderIndex().get() == orderIndex.getValue())
|
||||
.count()
|
||||
== 1;
|
||||
var max = section.get().getAllChildren().getList().stream()
|
||||
.map(sec -> sec.getWrapper().getOrderIndex().getValue())
|
||||
.filter(value -> value != null && value != Integer.MIN_VALUE && value != Integer.MAX_VALUE)
|
||||
@@ -443,8 +445,9 @@ public class StoreEntryWrapper {
|
||||
}
|
||||
|
||||
var isSingle = section.get().getAllChildren().getList().stream()
|
||||
.filter(sec -> sec.getWrapper().getOrderIndex().get() == orderIndex.getValue())
|
||||
.count() == 1;
|
||||
.filter(sec -> sec.getWrapper().getOrderIndex().get() == orderIndex.getValue())
|
||||
.count()
|
||||
== 1;
|
||||
var min = section.get().getAllChildren().getList().stream()
|
||||
.map(sec -> sec.getWrapper().getOrderIndex().getValue())
|
||||
.filter(value -> value != null && value != Integer.MIN_VALUE && value != Integer.MAX_VALUE)
|
||||
|
||||
@@ -3,8 +3,8 @@ package io.xpipe.app.hub.comp;
|
||||
import io.xpipe.app.comp.Comp;
|
||||
import io.xpipe.app.comp.SimpleComp;
|
||||
import io.xpipe.app.comp.base.*;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.storage.DataStoreEntryRef;
|
||||
|
||||
import javafx.beans.binding.Bindings;
|
||||
import javafx.beans.property.ListProperty;
|
||||
|
||||
@@ -3,10 +3,10 @@ package io.xpipe.app.hub.comp;
|
||||
import io.xpipe.app.comp.SimpleComp;
|
||||
import io.xpipe.app.comp.base.ToggleSwitchComp;
|
||||
import io.xpipe.app.core.AppI18n;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.app.storage.DataStoreEntry;
|
||||
import io.xpipe.app.util.LabelGraphic;
|
||||
import io.xpipe.app.util.ThreadHelper;
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
|
||||
import javafx.application.Platform;
|
||||
import javafx.beans.binding.Bindings;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package io.xpipe.app.hub.comp;
|
||||
|
||||
import io.xpipe.app.comp.SimpleComp;
|
||||
import io.xpipe.app.process.ShellStoreState;
|
||||
import io.xpipe.app.util.BindingsHelper;
|
||||
import io.xpipe.app.util.PlatformThread;
|
||||
import io.xpipe.app.process.ShellStoreState;
|
||||
|
||||
import javafx.beans.property.ReadOnlyObjectWrapper;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
|
||||
@@ -3,11 +3,11 @@ package io.xpipe.app.icon;
|
||||
import io.xpipe.app.core.AppCache;
|
||||
import io.xpipe.app.core.AppImages;
|
||||
import io.xpipe.app.core.AppProperties;
|
||||
import io.xpipe.app.ext.ValidationException;
|
||||
import io.xpipe.app.issue.ErrorEventFactory;
|
||||
import io.xpipe.app.prefs.AppPrefs;
|
||||
import io.xpipe.app.prefs.SupportedLocale;
|
||||
import io.xpipe.app.storage.DataStorage;
|
||||
import io.xpipe.app.ext.ValidationException;
|
||||
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Path;
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
package io.xpipe.app.icon;
|
||||
|
||||
import io.xpipe.app.ext.ProcessControlProvider;
|
||||
import io.xpipe.app.ext.ValidationException;
|
||||
import io.xpipe.app.issue.ErrorEventFactory;
|
||||
import io.xpipe.app.process.CommandBuilder;
|
||||
import io.xpipe.app.util.DesktopHelper;
|
||||
import io.xpipe.app.util.Hyperlinks;
|
||||
import io.xpipe.app.util.Validators;
|
||||
import io.xpipe.app.process.CommandBuilder;
|
||||
|
||||
import io.xpipe.core.FilePath;
|
||||
import io.xpipe.app.ext.ValidationException;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package io.xpipe.app.issue;
|
||||
|
||||
import io.xpipe.app.process.ProcessOutputException;
|
||||
import io.xpipe.app.util.DocumentationLink;
|
||||
import io.xpipe.core.OsType;
|
||||
import io.xpipe.app.process.ProcessOutputException;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.IdentityHashMap;
|
||||
|
||||
@@ -6,6 +6,7 @@ import io.xpipe.app.ext.PrefsHandler;
|
||||
import io.xpipe.app.ext.PrefsProvider;
|
||||
import io.xpipe.app.icon.SystemIconManager;
|
||||
import io.xpipe.app.icon.SystemIconSource;
|
||||
import io.xpipe.app.process.ShellScript;
|
||||
import io.xpipe.app.pwman.PasswordManager;
|
||||
import io.xpipe.app.rdp.ExternalRdpClient;
|
||||
import io.xpipe.app.storage.DataStorage;
|
||||
@@ -18,7 +19,6 @@ import io.xpipe.app.util.PlatformThread;
|
||||
import io.xpipe.app.vnc.ExternalVncClient;
|
||||
import io.xpipe.app.vnc.InternalVncClient;
|
||||
import io.xpipe.app.vnc.VncCategory;
|
||||
import io.xpipe.app.process.ShellScript;
|
||||
|
||||
import javafx.beans.property.*;
|
||||
import javafx.beans.value.ObservableBooleanValue;
|
||||
|
||||
@@ -6,11 +6,11 @@ import io.xpipe.app.comp.base.HorizontalComp;
|
||||
import io.xpipe.app.comp.base.TextFieldComp;
|
||||
import io.xpipe.app.core.AppProperties;
|
||||
import io.xpipe.app.issue.TrackEvent;
|
||||
import io.xpipe.app.process.ProcessOutputException;
|
||||
import io.xpipe.app.util.LabelGraphic;
|
||||
import io.xpipe.app.util.LocalShell;
|
||||
import io.xpipe.app.util.OptionsBuilder;
|
||||
import io.xpipe.app.util.ThreadHelper;
|
||||
import io.xpipe.app.process.ProcessOutputException;
|
||||
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.geometry.Insets;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package io.xpipe.app.prefs;
|
||||
|
||||
import io.xpipe.app.issue.TrackEvent;
|
||||
import io.xpipe.app.util.LocalShell;
|
||||
import io.xpipe.app.process.CommandBuilder;
|
||||
import io.xpipe.app.util.LocalShell;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Locale;
|
||||
|
||||
@@ -2,13 +2,13 @@ package io.xpipe.app.prefs;
|
||||
|
||||
import io.xpipe.app.ext.PrefsValue;
|
||||
import io.xpipe.app.issue.ErrorEventFactory;
|
||||
import io.xpipe.app.process.CommandBuilder;
|
||||
import io.xpipe.app.process.CommandControl;
|
||||
import io.xpipe.app.process.ShellControl;
|
||||
import io.xpipe.app.util.CommandSupport;
|
||||
import io.xpipe.app.util.LocalShell;
|
||||
import io.xpipe.app.util.Translatable;
|
||||
import io.xpipe.app.process.CommandBuilder;
|
||||
import io.xpipe.app.process.CommandControl;
|
||||
import io.xpipe.core.OsType;
|
||||
import io.xpipe.app.process.ShellControl;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Files;
|
||||
|
||||
@@ -2,12 +2,12 @@ package io.xpipe.app.prefs;
|
||||
|
||||
import io.xpipe.app.ext.PrefsChoiceValue;
|
||||
import io.xpipe.app.issue.ErrorEventFactory;
|
||||
import io.xpipe.app.process.CommandBuilder;
|
||||
import io.xpipe.app.process.ShellScript;
|
||||
import io.xpipe.app.terminal.TerminalLauncher;
|
||||
import io.xpipe.app.util.LocalShell;
|
||||
import io.xpipe.app.util.WindowsRegistry;
|
||||
import io.xpipe.app.process.CommandBuilder;
|
||||
import io.xpipe.core.OsType;
|
||||
import io.xpipe.app.process.ShellScript;
|
||||
|
||||
import javafx.beans.property.SimpleStringProperty;
|
||||
import javafx.beans.value.ObservableValue;
|
||||
|
||||
@@ -10,12 +10,11 @@ import io.xpipe.app.core.mode.OperationMode;
|
||||
import io.xpipe.app.core.window.AppDialog;
|
||||
import io.xpipe.app.issue.ErrorEventFactory;
|
||||
import io.xpipe.app.issue.UserReportComp;
|
||||
import io.xpipe.app.process.ShellScript;
|
||||
import io.xpipe.app.terminal.TerminalLauncher;
|
||||
import io.xpipe.app.util.*;
|
||||
import io.xpipe.core.OsType;
|
||||
import io.xpipe.app.process.ShellScript;
|
||||
|
||||
import io.xpipe.core.FilePath;
|
||||
import io.xpipe.core.OsType;
|
||||
import io.xpipe.core.XPipeInstallation;
|
||||
|
||||
import com.sun.management.HotSpotDiagnosticMXBean;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package io.xpipe.app.process;
|
||||
|
||||
import io.xpipe.core.FilePath;
|
||||
import io.xpipe.core.FailableConsumer;
|
||||
import io.xpipe.core.FailableFunction;
|
||||
import io.xpipe.core.FilePath;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.SneakyThrows;
|
||||
|
||||
@@ -19,11 +19,11 @@ public interface OsFileSystem {
|
||||
|
||||
static OsFileSystem of(OsType osType) {
|
||||
return switch (osType) {
|
||||
case OsType.Windows _ -> WINDOWS;
|
||||
case OsType.Bsd _ -> UNIX;
|
||||
case OsType.Linux _ -> UNIX;
|
||||
case OsType.MacOs _ -> MACOS;
|
||||
case OsType.Solaris _ -> UNIX;
|
||||
case OsType.Windows ignored -> WINDOWS;
|
||||
case OsType.Bsd ignored -> UNIX;
|
||||
case OsType.Linux ignored -> UNIX;
|
||||
case OsType.MacOs ignored -> MACOS;
|
||||
case OsType.Solaris ignored -> UNIX;
|
||||
default -> throw new IllegalStateException();
|
||||
};
|
||||
}
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
package io.xpipe.app.process;
|
||||
|
||||
import io.xpipe.app.ext.DataStore;
|
||||
import io.xpipe.core.FilePath;
|
||||
import io.xpipe.app.ext.StatefulDataStore;
|
||||
import io.xpipe.core.FailableConsumer;
|
||||
import io.xpipe.core.FailableFunction;
|
||||
|
||||
import io.xpipe.core.FilePath;
|
||||
import io.xpipe.core.OsType;
|
||||
|
||||
import lombok.NonNull;
|
||||
|
||||
import java.io.IOException;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user