mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
restored dialog to add library to module dependencies after creation
This commit is contained in:
+19
@@ -20,6 +20,7 @@ import com.intellij.ide.IdeBundle;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectBundle;
|
||||
import com.intellij.openapi.roots.LibraryOrderEntry;
|
||||
import com.intellij.openapi.roots.ModuleRootModel;
|
||||
import com.intellij.openapi.roots.OrderEntry;
|
||||
@@ -30,6 +31,7 @@ import com.intellij.openapi.roots.impl.libraries.LibraryImpl;
|
||||
import com.intellij.openapi.roots.impl.libraries.LibraryTableImplUtil;
|
||||
import com.intellij.openapi.roots.libraries.*;
|
||||
import com.intellij.openapi.roots.libraries.ui.OrderRoot;
|
||||
import com.intellij.openapi.roots.ui.configuration.ChooseModulesDialog;
|
||||
import com.intellij.openapi.roots.ui.configuration.classpath.ClasspathPanel;
|
||||
import com.intellij.openapi.roots.ui.configuration.projectRoot.LibrariesModifiableModel;
|
||||
import com.intellij.openapi.roots.ui.configuration.projectRoot.ModuleStructureConfigurable;
|
||||
@@ -211,4 +213,21 @@ public class LibraryEditingUtil {
|
||||
}
|
||||
return modules;
|
||||
}
|
||||
|
||||
public static void showDialogAndAddLibraryToDependencies(@NotNull Library library, @NotNull Project project) {
|
||||
final ModuleStructureConfigurable moduleStructureConfigurable = ModuleStructureConfigurable.getInstance(project);
|
||||
final List<Module> modules = getSuitableModules(moduleStructureConfigurable, ((LibraryEx)library).getType());
|
||||
if (modules.isEmpty()) return;
|
||||
final ChooseModulesDialog
|
||||
dlg = new ChooseModulesDialog(moduleStructureConfigurable.getProject(), modules, ProjectBundle.message("choose.modules.dialog.title"),
|
||||
ProjectBundle
|
||||
.message("choose.modules.dialog.description", library.getName()));
|
||||
dlg.show();
|
||||
if (dlg.isOK()) {
|
||||
final List<Module> chosenModules = dlg.getChosenElements();
|
||||
for (Module module : chosenModules) {
|
||||
moduleStructureConfigurable.addLibraryOrderEntry(module, library);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+2
@@ -76,8 +76,10 @@ public class CreateNewLibraryAction extends DumbAwareAction {
|
||||
final DefaultMutableTreeNode
|
||||
libraryNode = MasterDetailsComponent.findNodeByObject((TreeNode)rootConfigurable.getTree().getModel().getRoot(), library);
|
||||
rootConfigurable.selectNodeInTree(libraryNode);
|
||||
LibraryEditingUtil.showDialogAndAddLibraryToDependencies(library, myProject);
|
||||
}
|
||||
|
||||
|
||||
@Nullable
|
||||
public static Library createLibrary(@Nullable final LibraryType type, @NotNull final Component parentComponent,
|
||||
@NotNull final Project project, @NotNull final LibrariesModifiableModel modifiableModel) {
|
||||
|
||||
+1
-16
@@ -1,6 +1,5 @@
|
||||
package com.intellij.openapi.roots.ui.configuration.projectRoot.daemon;
|
||||
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.project.ProjectBundle;
|
||||
import com.intellij.openapi.roots.JavadocOrderRootType;
|
||||
@@ -11,7 +10,6 @@ import com.intellij.openapi.roots.impl.libraries.LibraryImpl;
|
||||
import com.intellij.openapi.roots.libraries.Library;
|
||||
import com.intellij.openapi.roots.libraries.LibraryTable;
|
||||
import com.intellij.openapi.roots.libraries.LibraryTablesRegistrar;
|
||||
import com.intellij.openapi.roots.ui.configuration.ChooseModulesDialog;
|
||||
import com.intellij.openapi.roots.ui.configuration.ModuleEditor;
|
||||
import com.intellij.openapi.roots.ui.configuration.ProjectStructureConfigurable;
|
||||
import com.intellij.openapi.roots.ui.configuration.libraries.LibraryEditingUtil;
|
||||
@@ -187,20 +185,7 @@ public class LibraryProjectStructureElement extends ProjectStructureElement {
|
||||
|
||||
@Override
|
||||
public void performFix() {
|
||||
final Project project = myContext.getProject();
|
||||
final ModuleStructureConfigurable moduleStructureConfigurable = ModuleStructureConfigurable.getInstance(project);
|
||||
final List<Module> modules = LibraryEditingUtil.getSuitableModules(moduleStructureConfigurable, ((LibraryEx)myLibrary).getType());
|
||||
if (modules.isEmpty()) return;
|
||||
final ChooseModulesDialog dlg = new ChooseModulesDialog(project, modules, ProjectBundle.message("choose.modules.dialog.title"),
|
||||
ProjectBundle
|
||||
.message("choose.modules.dialog.description", myLibrary.getName()));
|
||||
dlg.show();
|
||||
if (dlg.isOK()) {
|
||||
final List<Module> chosenModules = dlg.getChosenElements();
|
||||
for (Module module : chosenModules) {
|
||||
moduleStructureConfigurable.addLibraryOrderEntry(module, myLibrary);
|
||||
}
|
||||
}
|
||||
LibraryEditingUtil.showDialogAndAddLibraryToDependencies(myLibrary, myContext.getProject());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -313,9 +313,8 @@ project.roots.plain.mode.action.text.disabled=Hide Module Groups
|
||||
project.roots.plain.mode.action.text.enabled=Show Module Groups
|
||||
project.roots.tooltip.library.has.broken.paths=Library ''{0}'' has broken {1, choice, 1#path|2#paths}.
|
||||
project.roots.error.message.invalid.roots=invalid {0} {1, choice, 1#root|2#roots}
|
||||
choose.modules.dialog.title=Choose modules
|
||||
choose.modules.dialog.title=Choose Modules
|
||||
choose.modules.dialog.description=Library '' {0}'' will be added to the selected modules.
|
||||
project.roots.tooltip.unused=''{0}'' is unused.
|
||||
project.roots.javadoc.tab.description=Manage external JavaDocs attached to this module. External JavaDoc override JavaDoc annotations you might have in your module.
|
||||
project.roots.output.compiler.title=Compiler output
|
||||
project.roots.module.jdk.problem.message=Module SDK is not defined.
|
||||
|
||||
Reference in New Issue
Block a user