[vcs]: reuse empty action delegate for deep speed search

This commit is contained in:
Nadya Zabrodina
2016-11-22 16:32:29 +03:00
parent ebd66b42eb
commit 6f4dd4e2db
2 changed files with 14 additions and 19 deletions
@@ -93,7 +93,7 @@ public final class EmptyAction extends AnAction {
new MyDelegatingAction(action);
}
private static class MyDelegatingAction extends AnAction {
public static class MyDelegatingAction extends AnAction {
@NotNull private final AnAction myDelegate;
public MyDelegatingAction(@NotNull AnAction action) {
@@ -128,7 +128,7 @@ public final class EmptyAction extends AnAction {
}
}
private static class MyDelegatingActionGroup extends ActionGroup {
public static class MyDelegatingActionGroup extends ActionGroup {
@NotNull private final ActionGroup myDelegate;
public MyDelegatingActionGroup(@NotNull ActionGroup action) {
@@ -57,6 +57,11 @@ public class FlatSpeedSearchPopup extends PopupFactoryImpl.ActionGroupPopup {
return new MySpeedSearchAction(child);
}
@NotNull
public static ActionGroup createSpeedSearchActionGroupWrapper(@NotNull ActionGroup child) {
return new MySpeedSearchActionGroup(child);
}
@Override
public boolean shouldBeShowing(Object value) {
if (!super.shouldBeShowing(value)) return false;
@@ -78,27 +83,17 @@ public class FlatSpeedSearchPopup extends PopupFactoryImpl.ActionGroupPopup {
public interface SpeedsearchAction {
}
private static class MySpeedSearchAction extends AnAction implements SpeedsearchAction {
@NotNull private final AnAction myAction;
private static class MySpeedSearchAction extends EmptyAction.MyDelegatingAction implements SpeedsearchAction {
public MySpeedSearchAction(@NotNull AnAction action) {
myAction = action;
copyFrom(action);
super(action);
}
}
@Override
public boolean isDumbAware() {
return myAction.isDumbAware();
}
@Override
public void update(AnActionEvent e) {
myAction.update(e);
}
@Override
public void actionPerformed(AnActionEvent e) {
myAction.actionPerformed(e);
private static class MySpeedSearchActionGroup extends EmptyAction.MyDelegatingActionGroup
implements FlatSpeedSearchPopup.SpeedsearchAction {
public MySpeedSearchActionGroup(@NotNull ActionGroup actionGroup) {
super(actionGroup);
}
}
}