From 67fd51f240384feb62d1f4632687740cd9633f1a Mon Sep 17 00:00:00 2001 From: crschnick Date: Fri, 1 Nov 2024 13:15:34 +0000 Subject: [PATCH] Reformat --- .../xpipe/app/browser/BrowserHomeModel.java | 43 ++---------------- .../app/browser/BrowserTransferComp.java | 8 ++-- .../app/browser/fs/OpenFileSystemModel.java | 1 - .../browser/fs/OpenFileSystemSavedState.java | 7 +-- .../browser/session/BrowserSessionComp.java | 14 +++--- .../browser/session/BrowserSessionTab.java | 5 +-- .../session/BrowserSessionTabsComp.java | 24 +++++----- .../session/BrowserStoreSessionTab.java | 8 ++-- .../xpipe/app/comp/base/SideMenuBarComp.java | 8 ---- .../app/comp/store/StoreCreationComp.java | 3 +- .../app/comp/store/StoreEntryListComp.java | 3 +- .../main/java/io/xpipe/app/core/AppCache.java | 1 + .../xpipe/app/core/window/AppMainWindow.java | 4 +- .../java/io/xpipe/app/ext/LocalStore.java | 1 - .../io/xpipe/app/storage/DataStorage.java | 3 +- .../java/io/xpipe/app/test/TestModule.java | 17 ++++--- .../io/xpipe/app/update/AppInstaller.java | 1 - .../io/xpipe/app/util/DataStoreFormatter.java | 7 --- .../io/xpipe/app/util/ShellStoreFormat.java | 44 ++++++++++++++----- .../io/xpipe/app/resources/style/style.css | 4 +- .../ext/base/store/ShellStoreProvider.java | 3 +- 21 files changed, 97 insertions(+), 112 deletions(-) diff --git a/app/src/main/java/io/xpipe/app/browser/BrowserHomeModel.java b/app/src/main/java/io/xpipe/app/browser/BrowserHomeModel.java index 8d3d31c32..676b7db51 100644 --- a/app/src/main/java/io/xpipe/app/browser/BrowserHomeModel.java +++ b/app/src/main/java/io/xpipe/app/browser/BrowserHomeModel.java @@ -1,47 +1,14 @@ package io.xpipe.app.browser; -import io.xpipe.app.browser.action.BrowserAction; -import io.xpipe.app.browser.file.BrowserFileListModel; -import io.xpipe.app.browser.file.BrowserFileTransferMode; -import io.xpipe.app.browser.file.BrowserFileTransferOperation; -import io.xpipe.app.browser.file.FileSystemHelper; -import io.xpipe.app.browser.fs.OpenFileSystemCache; -import io.xpipe.app.browser.fs.OpenFileSystemComp; -import io.xpipe.app.browser.fs.OpenFileSystemHistory; -import io.xpipe.app.browser.fs.OpenFileSystemSavedState; import io.xpipe.app.browser.session.BrowserAbstractSessionModel; import io.xpipe.app.browser.session.BrowserSessionModel; import io.xpipe.app.browser.session.BrowserSessionTab; -import io.xpipe.app.comp.base.ModalOverlayComp; import io.xpipe.app.core.AppI18n; -import io.xpipe.app.ext.ProcessControlProvider; -import io.xpipe.app.ext.ShellStore; import io.xpipe.app.fxcomps.Comp; -import io.xpipe.app.issue.ErrorEvent; import io.xpipe.app.storage.DataColor; -import io.xpipe.app.storage.DataStorage; -import io.xpipe.app.storage.DataStoreEntryRef; -import io.xpipe.app.util.BooleanScope; -import io.xpipe.app.util.TerminalLauncher; -import io.xpipe.app.util.ThreadHelper; -import io.xpipe.core.process.CommandBuilder; -import io.xpipe.core.process.ShellControl; -import io.xpipe.core.process.ShellDialects; -import io.xpipe.core.process.ShellOpenFunction; import io.xpipe.core.store.*; -import io.xpipe.core.util.FailableConsumer; -import io.xpipe.core.util.FailableRunnable; -import javafx.beans.binding.Bindings; -import javafx.beans.property.*; -import lombok.Getter; -import lombok.SneakyThrows; -import java.io.IOException; -import java.nio.file.Path; -import java.util.List; -import java.util.Objects; -import java.util.Optional; -import java.util.stream.Stream; +import javafx.beans.property.*; public final class BrowserHomeModel extends BrowserSessionTab { @@ -60,14 +27,10 @@ public final class BrowserHomeModel extends BrowserSessionTab { } @Override - public void init() throws Exception { - - } + public void init() throws Exception {} @Override - public void close() { - - } + public void close() {} @Override public String getIcon() { diff --git a/app/src/main/java/io/xpipe/app/browser/BrowserTransferComp.java b/app/src/main/java/io/xpipe/app/browser/BrowserTransferComp.java index 8afa0d225..dc722c250 100644 --- a/app/src/main/java/io/xpipe/app/browser/BrowserTransferComp.java +++ b/app/src/main/java/io/xpipe/app/browser/BrowserTransferComp.java @@ -43,9 +43,11 @@ public class BrowserTransferComp extends SimpleComp { .apply(struc -> struc.get().setGraphic(new FontIcon("mdi2d-download-outline"))) .apply(struc -> struc.get().setWrapText(true)) .visible(model.getEmpty()); - var backgroundStack = - new StackComp(List.of(background)).grow(true, true) - .styleClass("color-box").styleClass("gray").styleClass("download-background"); + var backgroundStack = new StackComp(List.of(background)) + .grow(true, true) + .styleClass("color-box") + .styleClass("gray") + .styleClass("download-background"); var binding = new DerivedObservableList<>(model.getItems(), true) .mapped(item -> item.getBrowserEntry()) diff --git a/app/src/main/java/io/xpipe/app/browser/fs/OpenFileSystemModel.java b/app/src/main/java/io/xpipe/app/browser/fs/OpenFileSystemModel.java index b928e1884..8ee1fbc38 100644 --- a/app/src/main/java/io/xpipe/app/browser/fs/OpenFileSystemModel.java +++ b/app/src/main/java/io/xpipe/app/browser/fs/OpenFileSystemModel.java @@ -9,7 +9,6 @@ import io.xpipe.app.browser.file.BrowserFileTransferMode; import io.xpipe.app.browser.file.BrowserFileTransferOperation; import io.xpipe.app.browser.file.FileSystemHelper; import io.xpipe.app.browser.session.BrowserAbstractSessionModel; -import io.xpipe.app.browser.session.BrowserSessionTab; import io.xpipe.app.browser.session.BrowserStoreSessionTab; import io.xpipe.app.comp.base.ModalOverlayComp; import io.xpipe.app.ext.ProcessControlProvider; diff --git a/app/src/main/java/io/xpipe/app/browser/fs/OpenFileSystemSavedState.java b/app/src/main/java/io/xpipe/app/browser/fs/OpenFileSystemSavedState.java index 2769e835f..97759ae0a 100644 --- a/app/src/main/java/io/xpipe/app/browser/fs/OpenFileSystemSavedState.java +++ b/app/src/main/java/io/xpipe/app/browser/fs/OpenFileSystemSavedState.java @@ -57,9 +57,10 @@ public class OpenFileSystemSavedState { } static OpenFileSystemSavedState loadForStore(OpenFileSystemModel model) { - var state = AppCache.getNonNull("fs-state-" + model.getEntry().get().getUuid(), OpenFileSystemSavedState.class, () -> { - return new OpenFileSystemSavedState(); - }); + var state = AppCache.getNonNull( + "fs-state-" + model.getEntry().get().getUuid(), OpenFileSystemSavedState.class, () -> { + return new OpenFileSystemSavedState(); + }); state.setModel(model); return state; } diff --git a/app/src/main/java/io/xpipe/app/browser/session/BrowserSessionComp.java b/app/src/main/java/io/xpipe/app/browser/session/BrowserSessionComp.java index 1a1103446..92389a4ab 100644 --- a/app/src/main/java/io/xpipe/app/browser/session/BrowserSessionComp.java +++ b/app/src/main/java/io/xpipe/app/browser/session/BrowserSessionComp.java @@ -20,10 +20,8 @@ import io.xpipe.app.util.ThreadHelper; import javafx.application.Platform; import javafx.beans.binding.Bindings; import javafx.beans.property.BooleanProperty; -import javafx.beans.property.SimpleBooleanProperty; import javafx.beans.property.SimpleDoubleProperty; import javafx.geometry.Insets; -import javafx.geometry.Pos; import javafx.scene.layout.AnchorPane; import javafx.scene.layout.Region; import javafx.scene.shape.Rectangle; @@ -70,7 +68,11 @@ public class BrowserSessionComp extends SimpleComp { var bookmarkTopBar = new BrowserBookmarkHeaderComp(); var bookmarksList = new BrowserBookmarkComp( - BindingsHelper.map(model.getSelectedEntry(), v -> v instanceof BrowserStoreSessionTab st ? st.getEntry().get() : null), + BindingsHelper.map( + model.getSelectedEntry(), + v -> v instanceof BrowserStoreSessionTab st + ? st.getEntry().get() + : null), applicable, action, bookmarkTopBar.getCategory(), @@ -113,8 +115,10 @@ public class BrowserSessionComp extends SimpleComp { AnchorPane.setRightAnchor(struc.get(), 0.0); }); vertical.apply(struc -> { - struc.get().paddingProperty().bind(Bindings.createObjectBinding( - () -> new Insets(tabs.getHeaderHeight().get(), 0, 0, 0), tabs.getHeaderHeight())); + struc.get() + .paddingProperty() + .bind(Bindings.createObjectBinding( + () -> new Insets(tabs.getHeaderHeight().get(), 0, 0, 0), tabs.getHeaderHeight())); }); var loadingIndicator = LoadingOverlayComp.noProgress(Comp.empty(), model.getBusy()) .apply(struc -> { diff --git a/app/src/main/java/io/xpipe/app/browser/session/BrowserSessionTab.java b/app/src/main/java/io/xpipe/app/browser/session/BrowserSessionTab.java index 9daaea773..0041f6b70 100644 --- a/app/src/main/java/io/xpipe/app/browser/session/BrowserSessionTab.java +++ b/app/src/main/java/io/xpipe/app/browser/session/BrowserSessionTab.java @@ -2,11 +2,10 @@ package io.xpipe.app.browser.session; import io.xpipe.app.fxcomps.Comp; import io.xpipe.app.storage.DataColor; -import io.xpipe.app.storage.DataStorage; -import io.xpipe.app.storage.DataStoreEntryRef; -import io.xpipe.core.store.DataStore; + import javafx.beans.property.BooleanProperty; import javafx.beans.property.SimpleBooleanProperty; + import lombok.Getter; @Getter diff --git a/app/src/main/java/io/xpipe/app/browser/session/BrowserSessionTabsComp.java b/app/src/main/java/io/xpipe/app/browser/session/BrowserSessionTabsComp.java index a3383677b..b44391059 100644 --- a/app/src/main/java/io/xpipe/app/browser/session/BrowserSessionTabsComp.java +++ b/app/src/main/java/io/xpipe/app/browser/session/BrowserSessionTabsComp.java @@ -1,17 +1,13 @@ package io.xpipe.app.browser.session; -import io.xpipe.app.browser.BrowserWelcomeComp; -import io.xpipe.app.comp.base.MultiContentComp; import io.xpipe.app.core.AppI18n; import io.xpipe.app.fxcomps.Comp; import io.xpipe.app.fxcomps.SimpleComp; import io.xpipe.app.fxcomps.impl.PrettyImageHelper; -import io.xpipe.app.fxcomps.impl.StackComp; import io.xpipe.app.fxcomps.impl.TooltipAugment; import io.xpipe.app.fxcomps.util.LabelGraphic; import io.xpipe.app.fxcomps.util.PlatformThread; import io.xpipe.app.prefs.AppPrefs; -import io.xpipe.app.storage.DataStorage; import io.xpipe.app.util.BooleanScope; import io.xpipe.app.util.ContextMenuHelper; @@ -22,7 +18,6 @@ import javafx.beans.property.SimpleBooleanProperty; import javafx.beans.property.SimpleDoubleProperty; import javafx.beans.property.SimpleStringProperty; import javafx.beans.value.ObservableDoubleValue; -import javafx.beans.value.ObservableValue; import javafx.collections.ListChangeListener; import javafx.css.PseudoClass; import javafx.geometry.Insets; @@ -47,6 +42,7 @@ public class BrowserSessionTabsComp extends SimpleComp { private final BrowserSessionModel model; private final ObservableDoubleValue leftPadding; + @Getter private final DoubleProperty headerHeight; @@ -300,7 +296,9 @@ public class BrowserSessionTabsComp extends SimpleComp { var closeOthers = ContextMenuHelper.item(LabelGraphic.none(), AppI18n.get("closeOtherTabs")); closeOthers.setOnAction(event -> { tabs.getTabs() - .removeAll(tabs.getTabs().stream().filter(t -> t != tab && t.isClosable()).toList()); + .removeAll(tabs.getTabs().stream() + .filter(t -> t != tab && t.isClosable()) + .toList()); event.consume(); }); cm.getItems().add(closeOthers); @@ -332,9 +330,8 @@ public class BrowserSessionTabsComp extends SimpleComp { new KeyCodeCombination(KeyCode.W, KeyCombination.SHORTCUT_DOWN, KeyCombination.SHIFT_DOWN)); closeAll.setOnAction(event -> { tabs.getTabs() - .removeAll(tabs.getTabs().stream() - .filter(t -> t.isClosable()) - .toList()); + .removeAll( + tabs.getTabs().stream().filter(t -> t.isClosable()).toList()); event.consume(); }); cm.getItems().add(closeAll); @@ -365,9 +362,12 @@ public class BrowserSessionTabsComp extends SimpleComp { var image = tabModel.getIcon(); var logo = PrettyImageHelper.ofFixedSizeSquare(image, 16).createRegion(); - tab.graphicProperty().bind(Bindings.createObjectBinding(() -> { - return tabModel.getBusy().get() ? ring : logo; - }, PlatformThread.sync(tabModel.getBusy()))); + tab.graphicProperty() + .bind(Bindings.createObjectBinding( + () -> { + return tabModel.getBusy().get() ? ring : logo; + }, + PlatformThread.sync(tabModel.getBusy()))); } tab.setText(tabModel.getName()); diff --git a/app/src/main/java/io/xpipe/app/browser/session/BrowserStoreSessionTab.java b/app/src/main/java/io/xpipe/app/browser/session/BrowserStoreSessionTab.java index a1821735e..47efd378b 100644 --- a/app/src/main/java/io/xpipe/app/browser/session/BrowserStoreSessionTab.java +++ b/app/src/main/java/io/xpipe/app/browser/session/BrowserStoreSessionTab.java @@ -5,8 +5,7 @@ import io.xpipe.app.storage.DataColor; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntryRef; import io.xpipe.core.store.DataStore; -import javafx.beans.property.BooleanProperty; -import javafx.beans.property.SimpleBooleanProperty; + import lombok.Getter; @Getter @@ -15,7 +14,10 @@ public abstract class BrowserStoreSessionTab extends Browse protected final DataStoreEntryRef entry; public BrowserStoreSessionTab(BrowserAbstractSessionModel browserModel, DataStoreEntryRef entry) { - super(browserModel, DataStorage.get().getStoreEntryDisplayName(entry.get()), DataStorage.get().getStorePath(entry.getEntry()).toString()); + super( + browserModel, + DataStorage.get().getStoreEntryDisplayName(entry.get()), + DataStorage.get().getStorePath(entry.getEntry()).toString()); this.entry = entry; } diff --git a/app/src/main/java/io/xpipe/app/comp/base/SideMenuBarComp.java b/app/src/main/java/io/xpipe/app/comp/base/SideMenuBarComp.java index faeace692..73811eb87 100644 --- a/app/src/main/java/io/xpipe/app/comp/base/SideMenuBarComp.java +++ b/app/src/main/java/io/xpipe/app/comp/base/SideMenuBarComp.java @@ -1,6 +1,5 @@ package io.xpipe.app.comp.base; -import io.xpipe.app.core.AppCache; import io.xpipe.app.core.AppFont; import io.xpipe.app.core.AppLayoutModel; import io.xpipe.app.fxcomps.Comp; @@ -9,17 +8,13 @@ import io.xpipe.app.fxcomps.SimpleCompStructure; import io.xpipe.app.fxcomps.impl.IconButtonComp; import io.xpipe.app.fxcomps.impl.StackComp; import io.xpipe.app.fxcomps.impl.TooltipAugment; -import io.xpipe.app.fxcomps.util.LabelGraphic; import io.xpipe.app.fxcomps.util.PlatformThread; import io.xpipe.app.update.UpdateAvailableAlert; import io.xpipe.app.update.XPipeDistributionType; -import io.xpipe.app.util.Hyperlinks; import javafx.application.Platform; import javafx.beans.binding.Bindings; import javafx.beans.property.Property; -import javafx.beans.property.SimpleBooleanProperty; -import javafx.beans.property.SimpleStringProperty; import javafx.css.PseudoClass; import javafx.geometry.Insets; import javafx.geometry.Pos; @@ -27,9 +22,6 @@ import javafx.scene.control.Button; import javafx.scene.layout.*; import javafx.scene.paint.Color; -import java.time.Instant; -import java.time.ZoneId; -import java.time.ZonedDateTime; import java.util.List; public class SideMenuBarComp extends Comp> { diff --git a/app/src/main/java/io/xpipe/app/comp/store/StoreCreationComp.java b/app/src/main/java/io/xpipe/app/comp/store/StoreCreationComp.java index a067158b0..e8201c452 100644 --- a/app/src/main/java/io/xpipe/app/comp/store/StoreCreationComp.java +++ b/app/src/main/java/io/xpipe/app/comp/store/StoreCreationComp.java @@ -204,7 +204,8 @@ public class StoreCreationComp extends DialogComp { null, prov, base, - dataStoreProvider -> (category != null && category.equals(dataStoreProvider.getCreationCategory())) || dataStoreProvider.equals(prov), + dataStoreProvider -> (category != null && category.equals(dataStoreProvider.getCreationCategory())) + || dataStoreProvider.equals(prov), (e, validated) -> { try { DataStorage.get().addStoreEntryIfNotPresent(e); diff --git a/app/src/main/java/io/xpipe/app/comp/store/StoreEntryListComp.java b/app/src/main/java/io/xpipe/app/comp/store/StoreEntryListComp.java index f4869babb..ea9e69f1b 100644 --- a/app/src/main/java/io/xpipe/app/comp/store/StoreEntryListComp.java +++ b/app/src/main/java/io/xpipe/app/comp/store/StoreEntryListComp.java @@ -52,8 +52,7 @@ public class StoreEntryListComp extends SimpleComp { @Override protected Region createSimple() { - var scriptsIntroShowing = - new SimpleBooleanProperty(!AppCache.getBoolean("scriptsIntroCompleted", false)); + var scriptsIntroShowing = new SimpleBooleanProperty(!AppCache.getBoolean("scriptsIntroCompleted", false)); var initialCount = 1; var showIntro = Bindings.createBooleanBinding( () -> { diff --git a/app/src/main/java/io/xpipe/app/core/AppCache.java b/app/src/main/java/io/xpipe/app/core/AppCache.java index 89f975350..5ca8fb572 100644 --- a/app/src/main/java/io/xpipe/app/core/AppCache.java +++ b/app/src/main/java/io/xpipe/app/core/AppCache.java @@ -3,6 +3,7 @@ package io.xpipe.app.core; import io.xpipe.app.issue.ErrorEvent; import io.xpipe.app.util.JsonConfigHelper; import io.xpipe.core.util.JacksonMapper; + import org.apache.commons.io.FileUtils; import java.io.IOException; diff --git a/app/src/main/java/io/xpipe/app/core/window/AppMainWindow.java b/app/src/main/java/io/xpipe/app/core/window/AppMainWindow.java index c56b1ab4f..f841d44c9 100644 --- a/app/src/main/java/io/xpipe/app/core/window/AppMainWindow.java +++ b/app/src/main/java/io/xpipe/app/core/window/AppMainWindow.java @@ -12,6 +12,7 @@ import io.xpipe.app.prefs.CloseBehaviourAlert; import io.xpipe.app.resources.AppImages; import io.xpipe.app.util.ThreadHelper; import io.xpipe.core.process.OsType; + import javafx.beans.property.BooleanProperty; import javafx.beans.property.SimpleBooleanProperty; import javafx.geometry.Rectangle2D; @@ -24,17 +25,18 @@ import javafx.scene.layout.Region; import javafx.scene.paint.Color; import javafx.stage.Screen; import javafx.stage.Stage; + import lombok.Builder; import lombok.Getter; import lombok.Value; import lombok.extern.jackson.Jacksonized; -import javax.imageio.ImageIO; import java.io.IOException; import java.nio.file.Path; import java.time.Duration; import java.time.Instant; import java.time.temporal.ChronoUnit; +import javax.imageio.ImageIO; public class AppMainWindow { diff --git a/app/src/main/java/io/xpipe/app/ext/LocalStore.java b/app/src/main/java/io/xpipe/app/ext/LocalStore.java index 369e00087..dd4d4d98d 100644 --- a/app/src/main/java/io/xpipe/app/ext/LocalStore.java +++ b/app/src/main/java/io/xpipe/app/ext/LocalStore.java @@ -1,6 +1,5 @@ package io.xpipe.app.ext; -import io.xpipe.app.util.LocalShell; import io.xpipe.core.process.ShellControl; import io.xpipe.core.process.ShellStoreState; import io.xpipe.core.store.DataStore; diff --git a/app/src/main/java/io/xpipe/app/storage/DataStorage.java b/app/src/main/java/io/xpipe/app/storage/DataStorage.java index 04369c7d5..2fcaa9a7f 100644 --- a/app/src/main/java/io/xpipe/app/storage/DataStorage.java +++ b/app/src/main/java/io/xpipe/app/storage/DataStorage.java @@ -372,8 +372,7 @@ public abstract class DataStorage { return refreshChildren(e, true); } - public boolean refreshChildren(DataStoreEntry e, boolean throwOnFail) - throws Exception { + public boolean refreshChildren(DataStoreEntry e, boolean throwOnFail) throws Exception { if (!(e.getStore() instanceof FixedHierarchyStore h)) { return false; } diff --git a/app/src/main/java/io/xpipe/app/test/TestModule.java b/app/src/main/java/io/xpipe/app/test/TestModule.java index 681e5f3cd..46f1fb94d 100644 --- a/app/src/main/java/io/xpipe/app/test/TestModule.java +++ b/app/src/main/java/io/xpipe/app/test/TestModule.java @@ -1,10 +1,11 @@ package io.xpipe.app.test; +import io.xpipe.core.util.FailableSupplier; + +import lombok.SneakyThrows; import org.junit.jupiter.api.Named; import java.util.*; -import java.util.function.Supplier; -import java.util.stream.Collectors; import java.util.stream.Stream; public abstract class TestModule { @@ -12,6 +13,7 @@ public abstract class TestModule { private static final Map, Map> values = new LinkedHashMap<>(); @SuppressWarnings({"unchecked", "rawtypes"}) + @SneakyThrows public static Map get(Class c, Module module, String... classes) { if (!values.containsKey(c)) { List> loadedClasses = Arrays.stream(classes) @@ -31,8 +33,13 @@ public abstract class TestModule { }); } - return (Map) values.get(c).entrySet().stream() - .collect(Collectors.toMap(o -> o.getKey(), o -> ((Supplier) o.getValue()).get())); + Map map = new HashMap<>(); + for (Map.Entry o : values.get(c).entrySet()) { + if (map.put(o.getKey(), ((FailableSupplier) o.getValue()).get()) != null) { + throw new IllegalStateException("Duplicate key"); + } + } + return (Map) map; } public static Stream> getArguments(Class c, Module module, String... classes) { @@ -43,7 +50,7 @@ public abstract class TestModule { return argumentBuilder.build(); } - protected abstract void init(Map> list) throws Exception; + protected abstract void init(Map> list) throws Exception; protected abstract Class getValueClass(); } diff --git a/app/src/main/java/io/xpipe/app/update/AppInstaller.java b/app/src/main/java/io/xpipe/app/update/AppInstaller.java index 151934eae..b4d50b8c5 100644 --- a/app/src/main/java/io/xpipe/app/update/AppInstaller.java +++ b/app/src/main/java/io/xpipe/app/update/AppInstaller.java @@ -3,7 +3,6 @@ package io.xpipe.app.update; import io.xpipe.app.core.AppLogs; import io.xpipe.app.core.AppProperties; import io.xpipe.app.core.mode.OperationMode; -import io.xpipe.app.ext.LocalStore; import io.xpipe.app.prefs.AppPrefs; import io.xpipe.app.terminal.ExternalTerminalType; import io.xpipe.app.util.LocalShell; diff --git a/app/src/main/java/io/xpipe/app/util/DataStoreFormatter.java b/app/src/main/java/io/xpipe/app/util/DataStoreFormatter.java index f4f94aed1..815c7e6f5 100644 --- a/app/src/main/java/io/xpipe/app/util/DataStoreFormatter.java +++ b/app/src/main/java/io/xpipe/app/util/DataStoreFormatter.java @@ -1,13 +1,6 @@ package io.xpipe.app.util; -import io.xpipe.app.comp.store.StoreEntryWrapper; -import io.xpipe.app.fxcomps.util.BindingsHelper; import io.xpipe.app.storage.DataStoreEntry; -import io.xpipe.core.process.ShellDialects; -import io.xpipe.core.process.ShellStoreState; -import io.xpipe.core.process.ShellTtyState; - -import javafx.beans.value.ObservableValue; import java.util.Arrays; diff --git a/app/src/main/java/io/xpipe/app/util/ShellStoreFormat.java b/app/src/main/java/io/xpipe/app/util/ShellStoreFormat.java index e735b991b..eae88ad8b 100644 --- a/app/src/main/java/io/xpipe/app/util/ShellStoreFormat.java +++ b/app/src/main/java/io/xpipe/app/util/ShellStoreFormat.java @@ -8,8 +8,10 @@ import io.xpipe.core.process.ShellDialects; import io.xpipe.core.process.ShellEnvironmentStoreState; import io.xpipe.core.process.ShellStoreState; import io.xpipe.core.process.ShellTtyState; + import javafx.beans.binding.Bindings; import javafx.beans.value.ObservableValue; + import lombok.Value; import java.util.Arrays; @@ -25,33 +27,49 @@ public class ShellStoreFormat { var s = (ShellEnvironmentStoreState) section.getWrapper().getPersistentState().getValue(); var def = Boolean.TRUE.equals(s.getSetDefault()) ? AppI18n.get("default") : null; - var name = DataStoreFormatter.join((includeOsName ? formattedOsName(s.getOsName()) : null), s.getShellName()); - return new ShellStoreFormat(null,name, new String[]{def}).format(); + var name = DataStoreFormatter.join( + (includeOsName ? formattedOsName(s.getOsName()) : null), s.getShellName()); + return new ShellStoreFormat(null, name, new String[] {def}).format(); }, AppPrefs.get().language(), section.getWrapper().getPersistentState()); } @SuppressWarnings("unchecked") - public static ObservableValue shellStore(StoreSection section, Function f) { + public static ObservableValue shellStore( + StoreSection section, Function f) { return BindingsHelper.map(section.getWrapper().getPersistentState(), o -> { var s = (T) o; var info = f.apply(s); if (s.getShellDialect() != null && !s.getShellDialect().getDumbMode().supportsAnyPossibleInteraction()) { if (s.getOsName() != null) { - return new ShellStoreFormat(LicenseProvider.get().checkOsName(s.getOsName()), formattedOsName(s.getOsName()), new String[]{info}).format(); + return new ShellStoreFormat( + LicenseProvider.get().checkOsName(s.getOsName()), + formattedOsName(s.getOsName()), + new String[] {info}) + .format(); } if (s.getShellDialect().equals(ShellDialects.NO_INTERACTION)) { - return new ShellStoreFormat(null, null, new String[]{info}).format(); + return new ShellStoreFormat(null, null, new String[] {info}).format(); } - return new ShellStoreFormat(LicenseProvider.get().getFeature(s.getShellDialect().getLicenseFeatureId()), s.getShellDialect().getDisplayName(), new String[]{info}).format(); + return new ShellStoreFormat( + LicenseProvider.get() + .getFeature(s.getShellDialect().getLicenseFeatureId()), + s.getShellDialect().getDisplayName(), + new String[] {info}) + .format(); } - return new ShellStoreFormat(LicenseProvider.get().checkOsName(s.getOsName()), formattedOsName(s.getOsName()), - new String[]{s.getTtyState() != null && s.getTtyState() != ShellTtyState.NONE ? "TTY" : null, info}).format(); + return new ShellStoreFormat( + LicenseProvider.get().checkOsName(s.getOsName()), + formattedOsName(s.getOsName()), + new String[] { + s.getTtyState() != null && s.getTtyState() != ShellTtyState.NONE ? "TTY" : null, info + }) + .format(); }); } @@ -60,10 +78,16 @@ public class ShellStoreFormat { String[] states; public String format() { - var licenseReq = licensedFeature != null ? licensedFeature.getDescriptionSuffix().orElse(null) : null; + var licenseReq = + licensedFeature != null ? licensedFeature.getDescriptionSuffix().orElse(null) : null; var lic = licenseReq != null ? "[" + licenseReq + "+]" : null; var name = this.name; - var state = getStates() != null ? Arrays.stream(getStates()).filter(s -> s != null).map(s -> "[" + s + "]").collect(Collectors.joining(" ")) : null; + var state = getStates() != null + ? Arrays.stream(getStates()) + .filter(s -> s != null) + .map(s -> "[" + s + "]") + .collect(Collectors.joining(" ")) + : null; if (state != null && state.isEmpty()) { state = null; } diff --git a/app/src/main/resources/io/xpipe/app/resources/style/style.css b/app/src/main/resources/io/xpipe/app/resources/style/style.css index a1a153100..1fe509821 100644 --- a/app/src/main/resources/io/xpipe/app/resources/style/style.css +++ b/app/src/main/resources/io/xpipe/app/resources/style/style.css @@ -97,11 +97,11 @@ -fx-padding: 0.7em 1px 1em 1em; } -.root:windows * { +.root:windows .text { -fx-font-smoothing-type: gray; } -.root:linux * { +.root:linux .text { -fx-font-smoothing-type: lcd; } diff --git a/ext/base/src/main/java/io/xpipe/ext/base/store/ShellStoreProvider.java b/ext/base/src/main/java/io/xpipe/ext/base/store/ShellStoreProvider.java index 95fd851be..e20c05c5b 100644 --- a/ext/base/src/main/java/io/xpipe/ext/base/store/ShellStoreProvider.java +++ b/ext/base/src/main/java/io/xpipe/ext/base/store/ShellStoreProvider.java @@ -14,7 +14,6 @@ import io.xpipe.app.fxcomps.Comp; import io.xpipe.app.resources.SystemIcons; import io.xpipe.app.storage.DataStorage; import io.xpipe.app.storage.DataStoreEntry; -import io.xpipe.app.util.DataStoreFormatter; import io.xpipe.app.util.ShellStoreFormat; import io.xpipe.app.util.TerminalLauncher; import io.xpipe.core.process.ShellStoreState; @@ -73,6 +72,6 @@ public interface ShellStoreProvider extends DataStoreProvider { @Override default ObservableValue informationString(StoreSection section) { - return ShellStoreFormat.shellStore(section,state -> null); + return ShellStoreFormat.shellStore(section, state -> null); } }