in idea-plugin/src/main/java/com/jetbrains/ide/streamdeck/customization/CustomizationUtilPatched.java [40:101]
public static void acceptObjectIconAndText(@Nullable Object obj, @NotNull CustomizationUtil.CustomPresentationConsumer consumer) {
@NotNull String text;
@Nullable String description = null;
Icon icon = null;
if (obj instanceof Group) {
Group group = (Group)obj;
String name = group.getName();
@NlsSafe String id = group.getId();
text = name != null ? name : ObjectUtils.notNull(id, IdeBundle.message("action.group.name.unnamed.group"));
icon = group.getIcon();
if (UISettings.getInstance().getShowInplaceCommentsInternal()) {
description = id;
}
}
else if (obj instanceof String) {
String actionId = (String)obj;
AnAction action = ActionManager.getInstance().getAction(actionId);
String name = action != null ? action.getTemplatePresentation().getText() : null;
text = !StringUtil.isEmptyOrSpaces(name) ? name : actionId;
if (action != null) {
Icon actionIcon = action.getTemplatePresentation().getIcon();
if (actionIcon != null) {
icon = actionIcon;
}
}
// if (UISettings.getInstance().getShowInplaceCommentsInternal()) {
description = actionId;
// }
}
else if (obj instanceof Pair<?, ?> pair) {
Object actionIdOrGroup = pair.first;
String actionId = actionIdOrGroup instanceof Group group ? group.getId() : (String)actionIdOrGroup;
AnAction action = actionId == null ? null : ActionManager.getInstance().getAction(actionId);
var t = action != null ? action.getTemplatePresentation().getText() : null;
text = StringUtil.isNotEmpty(t) ? t : ObjectUtils.notNull(actionId, IdeBundle.message("action.group.name.unnamed.group"));
Icon actionIcon = (Icon)pair.second;
if (actionIcon == null && action != null) {
actionIcon = action.getTemplatePresentation().getClientProperty(CustomActionsSchema.PROP_ORIGINAL_ICON);
}
icon = actionIcon;
// if (UISettings.getInstance().getShowInplaceCommentsInternal()) {
description = actionId;
// }
}
else if (obj instanceof Separator) {
text = "-------------";
}
else if (obj instanceof QuickList quickList) {
text = quickList.getDisplayName();
// if (UISettings.getInstance().getShowInplaceCommentsInternal()) {
description = quickList.getActionId();
// }
}
else if (obj == null) {
//noinspection HardCodedStringLiteral
text = "null";
}
else {
throw new IllegalArgumentException("unknown obj: " + obj);
}
consumer.accept(text, description, icon);
}