From f48b1fa2123a9a79092c751ad185d59fd9ff9251 Mon Sep 17 00:00:00 2001 From: crschnick Date: Sat, 20 May 2023 18:13:21 +0000 Subject: [PATCH] Change context menu behavior --- .../main/java/io/xpipe/app/browser/BrowserFileListComp.java | 2 +- .../java/io/xpipe/app/browser/BrowserFileListModel.java | 3 +-- .../java/io/xpipe/app/browser/BrowserStatusBarComp.java | 2 +- .../main/java/io/xpipe/app/browser/OpenFileSystemComp.java | 2 +- .../storage/collection/SourceCollectionContextMenu.java | 2 +- .../app/comp/storage/source/SourceEntryContextMenu.java | 2 +- .../io/xpipe/app/comp/storage/store/StoreEntryComp.java | 4 ++-- .../io/xpipe/app/fxcomps/augment/ContextMenuAugment.java | 6 ++++-- 8 files changed, 12 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/io/xpipe/app/browser/BrowserFileListComp.java b/app/src/main/java/io/xpipe/app/browser/BrowserFileListComp.java index 019cfee1..9fc914cb 100644 --- a/app/src/main/java/io/xpipe/app/browser/BrowserFileListComp.java +++ b/app/src/main/java/io/xpipe/app/browser/BrowserFileListComp.java @@ -221,7 +221,7 @@ final class BrowserFileListComp extends SimpleComp { table.setRowFactory(param -> { TableRow row = new TableRow<>(); - new ContextMenuAugment<>(false, () -> { + new ContextMenuAugment<>(true, true, () -> { if (row.getItem() != null && row.getItem().isSynthetic()) { return null; } diff --git a/app/src/main/java/io/xpipe/app/browser/BrowserFileListModel.java b/app/src/main/java/io/xpipe/app/browser/BrowserFileListModel.java index 19628664..584b6fb7 100644 --- a/app/src/main/java/io/xpipe/app/browser/BrowserFileListModel.java +++ b/app/src/main/java/io/xpipe/app/browser/BrowserFileListModel.java @@ -2,7 +2,6 @@ package io.xpipe.app.browser; import io.xpipe.app.fxcomps.util.BindingsHelper; import io.xpipe.app.issue.ErrorEvent; -import io.xpipe.app.util.FileOpener; import io.xpipe.core.impl.FileNames; import io.xpipe.core.store.FileSystem; import javafx.beans.property.ObjectProperty; @@ -121,7 +120,7 @@ public final class BrowserFileListModel { fileSystemModel.cd(dir.get()); } } else { - FileOpener.openInTextEditor(entry.getRawFileEntry()); + // FileOpener.openInTextEditor(entry.getRawFileEntry()); } } diff --git a/app/src/main/java/io/xpipe/app/browser/BrowserStatusBarComp.java b/app/src/main/java/io/xpipe/app/browser/BrowserStatusBarComp.java index 93bc4975..000d71ee 100644 --- a/app/src/main/java/io/xpipe/app/browser/BrowserStatusBarComp.java +++ b/app/src/main/java/io/xpipe/app/browser/BrowserStatusBarComp.java @@ -60,7 +60,7 @@ public class BrowserStatusBarComp extends SimpleComp { AppFont.small(bar); // Use status bar as an extension of file list - new ContextMenuAugment<>(false, () -> new BrowserContextMenu(model, null)).augment(new SimpleCompStructure<>(bar)); + new ContextMenuAugment<>(false, true, () -> new BrowserContextMenu(model, null)).augment(new SimpleCompStructure<>(bar)); return bar; } diff --git a/app/src/main/java/io/xpipe/app/browser/OpenFileSystemComp.java b/app/src/main/java/io/xpipe/app/browser/OpenFileSystemComp.java index 96fa018e..dd2be8e7 100644 --- a/app/src/main/java/io/xpipe/app/browser/OpenFileSystemComp.java +++ b/app/src/main/java/io/xpipe/app/browser/OpenFileSystemComp.java @@ -57,7 +57,7 @@ public class OpenFileSystemComp extends SimpleComp { terminalBtn.disableProperty().bind(PlatformThread.sync(model.getNoDirectory())); var menuButton = new MenuButton(null, new FontIcon("mdral-folder_open")); - new ContextMenuAugment<>(true, () -> new BrowserContextMenu(model, null)).augment(new SimpleCompStructure<>(menuButton)); + new ContextMenuAugment<>(true, false, () -> new BrowserContextMenu(model, null)).augment(new SimpleCompStructure<>(menuButton)); var filter = new BrowserFilterComp(model.getFilter()).createStructure(); Shortcuts.addShortcut(filter.toggleButton(), new KeyCodeCombination(KeyCode.F, KeyCombination.SHORTCUT_DOWN)); diff --git a/app/src/main/java/io/xpipe/app/comp/storage/collection/SourceCollectionContextMenu.java b/app/src/main/java/io/xpipe/app/comp/storage/collection/SourceCollectionContextMenu.java index d18a3bbf..7fd5ff9d 100644 --- a/app/src/main/java/io/xpipe/app/comp/storage/collection/SourceCollectionContextMenu.java +++ b/app/src/main/java/io/xpipe/app/comp/storage/collection/SourceCollectionContextMenu.java @@ -17,7 +17,7 @@ public class SourceCollectionContextMenu> extends Con public SourceCollectionContextMenu( boolean showOnPrimaryButton, SourceCollectionWrapper group, Region renameTextField) { - super(showOnPrimaryButton, () -> createContextMenu(group, renameTextField)); + super(showOnPrimaryButton, true, () -> createContextMenu(group, renameTextField)); } private static void onDelete(SourceCollectionWrapper group) { diff --git a/app/src/main/java/io/xpipe/app/comp/storage/source/SourceEntryContextMenu.java b/app/src/main/java/io/xpipe/app/comp/storage/source/SourceEntryContextMenu.java index 1b4b0722..40c16a26 100644 --- a/app/src/main/java/io/xpipe/app/comp/storage/source/SourceEntryContextMenu.java +++ b/app/src/main/java/io/xpipe/app/comp/storage/source/SourceEntryContextMenu.java @@ -20,7 +20,7 @@ public class SourceEntryContextMenu> extends ContextM public SourceEntryContextMenu(boolean showOnPrimaryButton, SourceEntryWrapper entry, Region renameTextField) { - super(showOnPrimaryButton, () -> createContextMenu(entry, renameTextField)); + super(showOnPrimaryButton, true, () -> createContextMenu(entry, renameTextField)); } protected static ContextMenu createContextMenu(SourceEntryWrapper entry, Region renameTextField) { diff --git a/app/src/main/java/io/xpipe/app/comp/storage/store/StoreEntryComp.java b/app/src/main/java/io/xpipe/app/comp/storage/store/StoreEntryComp.java index b40c3f75..616b7793 100644 --- a/app/src/main/java/io/xpipe/app/comp/storage/store/StoreEntryComp.java +++ b/app/src/main/java/io/xpipe/app/comp/storage/store/StoreEntryComp.java @@ -164,7 +164,7 @@ public class StoreEntryComp extends SimpleComp { }); }); - new ContextMenuAugment<>(false, () -> StoreEntryComp.this.createContextMenu()).augment(new SimpleCompStructure<>(button)); + new ContextMenuAugment<>(false, true, () -> StoreEntryComp.this.createContextMenu()).augment(new SimpleCompStructure<>(button)); return button; } @@ -213,7 +213,7 @@ public class StoreEntryComp extends SimpleComp { private Comp createSettingsButton() { var settingsButton = new IconButtonComp("mdomz-settings"); settingsButton.styleClass("settings"); - settingsButton.apply(new ContextMenuAugment<>(true, () -> StoreEntryComp.this.createContextMenu())); + settingsButton.apply(new ContextMenuAugment<>(true, false, () -> StoreEntryComp.this.createContextMenu())); settingsButton.apply(GrowAugment.create(false, true)); settingsButton.apply(s -> { s.get().prefWidthProperty().bind(Bindings.divide(s.get().heightProperty(), 1.35)); diff --git a/app/src/main/java/io/xpipe/app/fxcomps/augment/ContextMenuAugment.java b/app/src/main/java/io/xpipe/app/fxcomps/augment/ContextMenuAugment.java index ac9fd9cd..77fe3e3d 100644 --- a/app/src/main/java/io/xpipe/app/fxcomps/augment/ContextMenuAugment.java +++ b/app/src/main/java/io/xpipe/app/fxcomps/augment/ContextMenuAugment.java @@ -9,10 +9,12 @@ import java.util.function.Supplier; public class ContextMenuAugment> implements Augment { private final boolean showOnPrimaryButton; + private final boolean showOnSecondaryButton; private final Supplier contextMenu; - public ContextMenuAugment(boolean showOnPrimaryButton, Supplier contextMenu) { + public ContextMenuAugment(boolean showOnPrimaryButton, boolean showOnSecondaryButton, Supplier contextMenu) { this.showOnPrimaryButton = showOnPrimaryButton; + this.showOnSecondaryButton = showOnSecondaryButton; this.contextMenu = contextMenu; } @@ -28,7 +30,7 @@ public class ContextMenuAugment> implements Augment