From 8092cca52f1ad24f54f05a0ca2144f35e37ea75b Mon Sep 17 00:00:00 2001 From: Sergey Ignatov Date: Wed, 21 Dec 2016 00:05:42 +0300 Subject: [PATCH] propagate shortcut to the intention wrapper if you have an intention which is wrap some real action, you could show an appropriate shortcut in the intention popup --- .../intention/impl/config/IntentionActionWrapper.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionActionWrapper.java b/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionActionWrapper.java index 0a2f5177d5e3..f0b94000a878 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionActionWrapper.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/intention/impl/config/IntentionActionWrapper.java @@ -18,6 +18,8 @@ package com.intellij.codeInsight.intention.impl.config; import com.intellij.codeInsight.intention.IntentionAction; import com.intellij.codeInsight.intention.IntentionActionBean; +import com.intellij.openapi.actionSystem.ShortcutProvider; +import com.intellij.openapi.actionSystem.ShortcutSet; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.editor.Editor; import com.intellij.openapi.project.Project; @@ -28,7 +30,7 @@ import com.intellij.util.IncorrectOperationException; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; -public class IntentionActionWrapper implements IntentionAction { +public class IntentionActionWrapper implements IntentionAction, ShortcutProvider { private static final Logger LOG = Logger.getInstance("#com.intellij.codeInsight.intention.impl.config.IntentionActionWrapper"); private IntentionAction myDelegate; @@ -112,4 +114,11 @@ public class IntentionActionWrapper implements IntentionAction { public boolean equals(Object obj) { return super.equals(obj) || getDelegate().equals(obj); } + + @Nullable + @Override + public ShortcutSet getShortcut() { + IntentionAction delegate = getDelegate(); + return delegate instanceof ShortcutProvider ? ((ShortcutProvider)delegate).getShortcut() : null; + } }