private void doAdd()

in src/main/java/org/jetbrains/plugins/spotbugs/gui/settings/PluginTablePane.java [124:169]


	private void doAdd(@NotNull final AnActionButton anActionButton) {
		final Project project = IdeaUtilImpl.getProject(anActionButton.getDataContext());
		if (bundled.isEmpty()) {
			doAddWithFileChooser(project);
		} else {
			// like com.intellij.codeInsight.template.impl.TemplateListPanel#addTemplateOrGroup
			final DefaultActionGroup group = new DefaultActionGroup();
			for (final PluginInfo pluginInfo : bundled) {
				group.add(new DumbAwareAction(ResourcesLoader.getString("plugins.add", pluginInfo.shortDescription)) {
					@Override
					public void actionPerformed(@NotNull final AnActionEvent e) {
						final Set<PluginSettings> settings = new HashSet<>();
						pluginInfo.settings.enabled = true;
						for (final PluginInfo other : getModel().rows) {
							settings.add(other.settings);
							if (other.settings.enabled) {
								if (other.settings.id.equals(pluginInfo.settings.id)) {
									pluginInfo.settings.enabled = false;
									break;
								}
							}
						}
						bundled.remove(pluginInfo);
						settings.add(pluginInfo.settings);
						load(settings);
					}
				});
			}
			group.add(new DumbAwareAction(ResourcesLoader.getString("plugins.addFromDisk")) {
				@Override
				public void actionPerformed(@NotNull AnActionEvent e) {
					doAddWithFileChooser(project);
				}
			});
			final DataContext context = DataManager.getInstance().getDataContext(anActionButton.getContextComponent());
			final ListPopup popup = JBPopupFactory.getInstance().createActionGroupPopup(
					null,
					group,
					context,
					JBPopupFactory.ActionSelectionAid.ALPHA_NUMBERING,
					true,
					null
			);
			popup.show(anActionButton.getPreferredPopupPoint());
		}
	}