public static void updateRunConfigurationActions(Project project, ProjectSystemId systemId) { final AbstractExternalSystemTaskConfigurationType configurationType = ExternalSystemUtil.findConfigurationType(systemId); if (configurationType == null) return; ActionManager actionManager = ActionManager.getInstance(); for (String eachAction : actionManager.getActionIds(getActionPrefix(project, null))) { AnAction action = actionManager.getAction(eachAction); if (action instanceof ExternalSystemRunConfigurationAction) { actionManager.unregisterAction(eachAction); } } Set<RunnerAndConfigurationSettings> settings = new THashSet<RunnerAndConfigurationSettings>( RunManager.getInstance(project).getConfigurationSettingsList(configurationType)); final ExternalSystemShortcutsManager shortcutsManager = ExternalProjectsManager.getInstance(project).getShortcutsManager(); for (RunnerAndConfigurationSettings configurationSettings : settings) { ExternalSystemRunConfigurationAction runConfigurationAction = new ExternalSystemRunConfigurationAction(project, configurationSettings); String id = runConfigurationAction.getId(); actionManager.unregisterAction(id); if (shortcutsManager.hasShortcuts(id)) { actionManager.registerAction(id, runConfigurationAction); } } }
public static void clearActions(Project project) { ActionManager manager = ActionManager.getInstance(); if (manager != null) { for (String each : manager.getActionIds(getActionPrefix(project, null))) { manager.unregisterAction(each); } } }
public static ExternalSystemAction getOrRegisterAction( Project project, RunnerAndConfigurationSettings configurationSettings) { ActionManager manager = ActionManager.getInstance(); ExternalSystemRunConfigurationAction runConfigurationAction = new ExternalSystemRunConfigurationAction(project, configurationSettings); String id = runConfigurationAction.getId(); manager.unregisterAction(id); manager.registerAction(id, runConfigurationAction); return runConfigurationAction; }
private static void unregisterAction(String actionId, String groupId) { ActionManager actionManager = ActionManager.getInstance(); AnAction action = actionManager.getAction(actionId); if (action != null) { AnAction actionGroup = actionManager.getAction(groupId); if (actionGroup != null && actionGroup instanceof DefaultActionGroup) { ((DefaultActionGroup) actionGroup).remove(action); actionManager.unregisterAction(actionId); } } }
public static ExternalSystemAction getOrRegisterAction( Project project, String group, TaskData taskData) { ExternalSystemTaskAction action = new ExternalSystemTaskAction(project, group, taskData); ActionManager manager = ActionManager.getInstance(); AnAction anAction = manager.getAction(action.getId()); if (anAction instanceof ExternalSystemTaskAction && action.equals(anAction)) { return (ExternalSystemAction) anAction; } manager.unregisterAction(action.getId()); manager.registerAction(action.getId(), action); return action; }
public static void clearActions(Project project, Collection<DataNode<TaskData>> taskData) { ActionManager actionManager = ActionManager.getInstance(); if (actionManager != null) { for (DataNode<TaskData> each : taskData) { for (String eachAction : actionManager.getActionIds( getActionPrefix(project, each.getData().getLinkedExternalProjectPath()))) { AnAction action = actionManager.getAction(eachAction); if (!(action instanceof ExternalSystemRunConfigurationAction)) { actionManager.unregisterAction(eachAction); } } } } }
private static void createActions(Project project, Collection<DataNode<TaskData>> taskNodes) { ActionManager actionManager = ActionManager.getInstance(); final ExternalSystemShortcutsManager shortcutsManager = ExternalProjectsManager.getInstance(project).getShortcutsManager(); if (actionManager != null) { for (DataNode<TaskData> each : taskNodes) { final DataNode<ModuleData> moduleData = ExternalSystemApiUtil.findParent(each, ProjectKeys.MODULE); if (moduleData == null || moduleData.isIgnored()) continue; TaskData taskData = each.getData(); ExternalSystemTaskAction eachAction = new ExternalSystemTaskAction(project, moduleData.getData().getInternalName(), taskData); actionManager.unregisterAction(eachAction.getId()); if (shortcutsManager.hasShortcuts( taskData.getLinkedExternalProjectPath(), taskData.getName())) { actionManager.registerAction(eachAction.getId(), eachAction); } } } }