IJPL-165136 "Add to main toolbar" does nothing

(cherry picked from commit 331988126e23268cc28bde35cf93bd15a43f5627)

IJ-CR-147828

GitOrigin-RevId: 9ca19f89fd583227d46fcba7fcd38bdb0ea5baf1
This commit is contained in:
Gregory.Shrago
2024-10-25 12:20:25 +04:00
committed by intellij-monorepo-bot
parent f2d3f300fe
commit ddecda38af
2 changed files with 16 additions and 8 deletions

View File

@@ -4,6 +4,7 @@ package com.intellij.ide.ui.customization;
import com.intellij.openapi.actionSystem.*;
import com.intellij.openapi.util.NlsActions;
import com.intellij.util.ArrayUtil;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -51,6 +52,14 @@ public final class CustomisedActionGroup extends ActionGroupWrapper {
return myChildren;
}
@ApiStatus.Internal
public AnAction @NotNull [] getDefaultChildrenOrStubs() {
ActionGroup delegate = getDelegate();
if (!(delegate instanceof DefaultActionGroup g)) return EMPTY_ARRAY;
return CustomizationUtil.getReordableChildren(
delegate, g.getChildActionsOrStubs(), mySchema, myDefaultGroupName, myRootGroupName);
}
public @Nullable AnAction getFirstAction() {
AnAction[] children = getChildren(null);
return children.length > 0 ? children[0] : null;

View File

@@ -8,6 +8,7 @@ import com.intellij.ide.actionMacro.ActionMacro;
import com.intellij.ide.plugins.IdeaPluginDescriptor;
import com.intellij.ide.plugins.PluginManagerCore;
import com.intellij.ide.ui.customization.ActionUrl;
import com.intellij.ide.ui.customization.CustomisedActionGroup;
import com.intellij.ide.ui.search.SearchUtil;
import com.intellij.ide.ui.search.SearchableOptionsRegistrar;
import com.intellij.idea.ActionsBundle;
@@ -768,15 +769,13 @@ public final class ActionsTreeUtil {
}
private static AnAction @NotNull [] getActions(@NotNull ActionGroup group) {
try {
if (group instanceof DefaultActionGroup g) {
return g.getChildActionsOrStubs();
}
else {
return AnAction.EMPTY_ARRAY;
}
if (group instanceof DefaultActionGroup g) {
return g.getChildActionsOrStubs();
}
catch (Throwable e) {
else if (group instanceof CustomisedActionGroup g) {
return g.getDefaultChildrenOrStubs();
}
else {
return AnAction.EMPTY_ARRAY;
}
}