From 6dd517d2d856aaf2d7de986faac6828515d626c3 Mon Sep 17 00:00:00 2001 From: ghidragon <106987263+ghidragon@users.noreply.github.com> Date: Wed, 24 Apr 2024 15:57:50 -0400 Subject: [PATCH] GP-4558 fixing a few bugs with actions dialog --- .../java/docking/action/ShowActionChooserDialogAction.java | 1 + .../main/java/docking/actions/dialog/ActionChooserDialog.java | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Ghidra/Framework/Docking/src/main/java/docking/action/ShowActionChooserDialogAction.java b/Ghidra/Framework/Docking/src/main/java/docking/action/ShowActionChooserDialogAction.java index c276d1d534..766e9946f7 100644 --- a/Ghidra/Framework/Docking/src/main/java/docking/action/ShowActionChooserDialogAction.java +++ b/Ghidra/Framework/Docking/src/main/java/docking/action/ShowActionChooserDialogAction.java @@ -46,6 +46,7 @@ public class ShowActionChooserDialogAction extends DockingAction { Tool tool = DockingWindowManager.getActiveInstance().getTool(); if (focusedWindow instanceof DockingDialog dialog) { + context = dialog.getDialogComponent().getActionContext(null); showActionsDialog(tool, dialog, context); } else if (focusedWindow instanceof DockingFrame dockingFrame) { diff --git a/Ghidra/Framework/Docking/src/main/java/docking/actions/dialog/ActionChooserDialog.java b/Ghidra/Framework/Docking/src/main/java/docking/actions/dialog/ActionChooserDialog.java index 0551cd81d8..891f72349b 100644 --- a/Ghidra/Framework/Docking/src/main/java/docking/actions/dialog/ActionChooserDialog.java +++ b/Ghidra/Framework/Docking/src/main/java/docking/actions/dialog/ActionChooserDialog.java @@ -63,6 +63,7 @@ public class ActionChooserDialog extends DialogComponentProvider { "This dialog initialy shows only locally relevant actions. Repeat initial keybinding " + "to show More. Use up down arrows to scroll through list of actions and press" + " enter to invoke selected action. Type text to filter list."); + setOkEnabled(false); } @Override @@ -308,7 +309,8 @@ public class ActionChooserDialog extends DialogComponentProvider { Color fgName = getForeground(); // defaults to list foreground; handles selected state Color fgKeyBinding = isSelected ? getForeground() : Messages.HINT; - if (!action.isEnabled()) { + ActionContext context = model.getContext(); + if (!(action.isValidContext(context) && action.isEnabledForContext(context))) { fgName = isSelected ? getForeground() : Colors.FOREGROUND_DISABLED; fgKeyBinding = isSelected ? getForeground() : Colors.FOREGROUND_DISABLED; disabledText = isSelected ? " disabled" : "";