mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-163208: more verbose logging
always log action ID when can't find AnAction
This commit is contained in:
@@ -17,6 +17,7 @@ import com.intellij.ui.components.JBOptionButton;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import com.intellij.util.messages.MessageBus;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import java.awt.*;
|
||||
import java.util.List;
|
||||
@@ -60,28 +61,30 @@ public class TouchBarActionBase extends TouchBarProjectBase implements Execution
|
||||
public void onHide() { ActionManager.getInstance().removeTransparentTimerListener(myTimerListener); }
|
||||
|
||||
TBItemAnActionButton addAnActionButton(String actId) {
|
||||
return addAnActionButton(ActionManager.getInstance().getAction(actId), true, TBItemAnActionButton.SHOWMODE_IMAGE_ONLY, myComponent, null);
|
||||
final AnAction act = _getActionById(actId);
|
||||
if (act == null)
|
||||
return null;
|
||||
|
||||
return _addAnActionButton(act, true, TBItemAnActionButton.SHOWMODE_IMAGE_ONLY, myComponent, null);
|
||||
}
|
||||
|
||||
TBItemAnActionButton addAnActionButton(String actId, boolean hiddenWhenDisabled) {
|
||||
final AnAction act = ActionManager.getInstance().getAction(actId);
|
||||
if (act == null) {
|
||||
LOG.error("can't find action by id: " + actId);
|
||||
final AnAction act = _getActionById(actId);
|
||||
if (act == null)
|
||||
return null;
|
||||
}
|
||||
return addAnActionButton(act, hiddenWhenDisabled, TBItemAnActionButton.SHOWMODE_IMAGE_ONLY, myComponent, null);
|
||||
|
||||
return _addAnActionButton(act, hiddenWhenDisabled, TBItemAnActionButton.SHOWMODE_IMAGE_ONLY, myComponent, null);
|
||||
}
|
||||
|
||||
TBItemAnActionButton addAnActionButton(AnAction act, boolean hiddenWhenDisabled, int showMode) {
|
||||
return addAnActionButton(act, hiddenWhenDisabled, showMode, myComponent, null);
|
||||
TBItemAnActionButton addAnActionButton(String actId, boolean hiddenWhenDisabled, int showMode) {
|
||||
final AnAction act = _getActionById(actId);
|
||||
if (act == null)
|
||||
return null;
|
||||
|
||||
return _addAnActionButton(act, hiddenWhenDisabled, showMode, myComponent, null);
|
||||
}
|
||||
|
||||
TBItemAnActionButton addAnActionButton(AnAction act, boolean hiddenWhenDisabled, int showMode, Component component, ModalityState modality) {
|
||||
if (act == null) {
|
||||
LOG.error("can't create action-button with null action");
|
||||
return null;
|
||||
}
|
||||
|
||||
private TBItemAnActionButton _addAnActionButton(@NotNull AnAction act, boolean hiddenWhenDisabled, int showMode, Component component, ModalityState modality) {
|
||||
final String uid = String.format("%s.anActionButton.%d.%s", myName, myCounter++, ActionManager.getInstance().getId(act));
|
||||
final TBItemAnActionButton butt = new TBItemAnActionButton(uid, act, hiddenWhenDisabled, showMode, component, modality);
|
||||
myItems.add(butt);
|
||||
@@ -93,10 +96,10 @@ public class TouchBarActionBase extends TouchBarProjectBase implements Execution
|
||||
List<AnAction> visibleActions = ContainerUtil.newArrayListWithCapacity(10);
|
||||
Utils.expandActionGroup(false, actionGroup, visibleActions, myPresentationFactory, dctx, ActionPlaces.UNKNOWN, ActionManager.getInstance());
|
||||
for (AnAction act: visibleActions) {
|
||||
if (act instanceof Separator)
|
||||
if (act == null || act instanceof Separator)
|
||||
continue;
|
||||
|
||||
addAnActionButton(act, false, TBItemAnActionButton.SHOWMODE_TEXT_ONLY, forCtx, modality);
|
||||
_addAnActionButton(act, false, TBItemAnActionButton.SHOWMODE_TEXT_ONLY, forCtx, modality);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -134,4 +137,12 @@ public class TouchBarActionBase extends TouchBarProjectBase implements Execution
|
||||
if (layoutChanged)
|
||||
selectVisibleItemsToShow();
|
||||
}
|
||||
|
||||
private static @Nullable AnAction _getActionById(String actId) {
|
||||
final AnAction act = ActionManager.getInstance().getAction(actId);
|
||||
if (act == null)
|
||||
LOG.error("can't find action by id: " + actId);
|
||||
|
||||
return act;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.ui.mac.touchbar;
|
||||
|
||||
import com.intellij.openapi.actionSystem.ActionManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -12,6 +11,6 @@ public class TouchBarEditorAlt extends TouchBarActionBase {
|
||||
super("editor_alt", project, component);
|
||||
|
||||
addFlexibleSpacing();
|
||||
addAnActionButton(ActionManager.getInstance().getAction("Terminal.OpenInTerminal"), false, TBItemAnActionButton.SHOWMODE_IMAGE_TEXT);
|
||||
addAnActionButton("Terminal.OpenInTerminal", false, TBItemAnActionButton.SHOWMODE_IMAGE_TEXT);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.ui.mac.touchbar;
|
||||
|
||||
import com.intellij.openapi.actionSystem.ActionManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -17,10 +16,10 @@ public class TouchBarEditorCmd extends TouchBarActionBase {
|
||||
addAnActionButton("Forward", false);
|
||||
addSpacing(true);
|
||||
|
||||
addAnActionButton(ActionManager.getInstance().getAction("ToggleBookmark"), false, TBItemAnActionButton.SHOWMODE_TEXT_ONLY); // TODO: make with custom icon (doesn't defined in template presentation)
|
||||
addAnActionButton(ActionManager.getInstance().getAction("ToggleLineBreakpoint"), false, TBItemAnActionButton.SHOWMODE_TEXT_ONLY); // TODO: make with custom icon (doesn't defined in template presentation)
|
||||
addAnActionButton("ToggleBookmark", false, TBItemAnActionButton.SHOWMODE_TEXT_ONLY); // TODO: make with custom icon (doesn't defined in template presentation)
|
||||
addAnActionButton("ToggleLineBreakpoint", false, TBItemAnActionButton.SHOWMODE_TEXT_ONLY); // TODO: make with custom icon (doesn't defined in template presentation)
|
||||
addFlexibleSpacing();
|
||||
|
||||
addAnActionButton(ActionManager.getInstance().getAction("FindUsages"), false, TBItemAnActionButton.SHOWMODE_TEXT_ONLY);
|
||||
addAnActionButton("FindUsages", false, TBItemAnActionButton.SHOWMODE_TEXT_ONLY);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.ui.mac.touchbar;
|
||||
|
||||
import com.intellij.openapi.actionSystem.ActionManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -12,8 +11,8 @@ public class TouchBarEditorCmdAlt extends TouchBarActionBase {
|
||||
super("editor_cmd_alt", project, component);
|
||||
|
||||
addFlexibleSpacing();
|
||||
addAnActionButton(ActionManager.getInstance().getAction("SwitchCoverage"), false, TBItemAnActionButton.SHOWMODE_TEXT_ONLY);
|
||||
addAnActionButton("SwitchCoverage", false, TBItemAnActionButton.SHOWMODE_TEXT_ONLY);
|
||||
addSpacing(true);
|
||||
addAnActionButton(ActionManager.getInstance().getAction("FindUsages"), false, TBItemAnActionButton.SHOWMODE_TEXT_ONLY);
|
||||
addAnActionButton("FindUsages", false, TBItemAnActionButton.SHOWMODE_TEXT_ONLY);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
|
||||
package com.intellij.ui.mac.touchbar;
|
||||
|
||||
import com.intellij.openapi.actionSystem.ActionManager;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
@@ -12,12 +11,12 @@ public class TouchBarEditorShift extends TouchBarActionBase {
|
||||
super("editor_shift", project, component);
|
||||
|
||||
// Use Shift to show Refactor actions
|
||||
addAnActionButton(ActionManager.getInstance().getAction("RenameElement"), false, TBItemAnActionButton.SHOWMODE_TEXT_ONLY);
|
||||
addAnActionButton(ActionManager.getInstance().getAction("ChangeSignature"), false, TBItemAnActionButton.SHOWMODE_TEXT_ONLY);
|
||||
addAnActionButton(ActionManager.getInstance().getAction("ChangeTypeSignature"), false, TBItemAnActionButton.SHOWMODE_TEXT_ONLY);
|
||||
addAnActionButton("RenameElement", false, TBItemAnActionButton.SHOWMODE_TEXT_ONLY);
|
||||
addAnActionButton("ChangeSignature", false, TBItemAnActionButton.SHOWMODE_TEXT_ONLY);
|
||||
addAnActionButton("ChangeTypeSignature", false, TBItemAnActionButton.SHOWMODE_TEXT_ONLY);
|
||||
|
||||
addFlexibleSpacing();
|
||||
addAnActionButton(ActionManager.getInstance().getAction("CopyElement"), false, TBItemAnActionButton.SHOWMODE_TEXT_ONLY);
|
||||
addAnActionButton(ActionManager.getInstance().getAction("Move"), false, TBItemAnActionButton.SHOWMODE_TEXT_ONLY);
|
||||
addAnActionButton("CopyElement", false, TBItemAnActionButton.SHOWMODE_TEXT_ONLY);
|
||||
addAnActionButton("Move", false, TBItemAnActionButton.SHOWMODE_TEXT_ONLY);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user