mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
scopes editor: fix 'include recursively' button for module groups nodes
If modules are grouped automatically accordingly to their qualified names it should add proper module name pattern instead of using 'group:' prefix (IDEA-185763).
This commit is contained in:
@@ -64,8 +64,7 @@ public class PackagePatternProvider extends PatternDialectProvider {
|
||||
final String scope = scope1;
|
||||
if (node instanceof ModuleGroupNode){
|
||||
if (!recursively) return null;
|
||||
@NonNls final String modulePattern = "group:" + ((ModuleGroupNode)node).getModuleGroup().toString();
|
||||
return new PatternPackageSet("*..*", scope, modulePattern);
|
||||
return new PatternPackageSet("*..*", scope, ProjectPatternProvider.getGroupModulePattern((ModuleGroupNode)node));
|
||||
} else if (node instanceof ModuleNode) {
|
||||
if (!recursively) return null;
|
||||
final String modulePattern = ((ModuleNode)node).getModuleName();
|
||||
|
||||
@@ -22,6 +22,7 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.psi.PsiFile;
|
||||
import com.intellij.util.PlatformIcons;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.util.Set;
|
||||
@@ -76,4 +77,9 @@ public class ModuleGroupNode extends PackageDependenciesNode {
|
||||
public int hashCode() {
|
||||
return myModuleGroup == null ? 0 : myModuleGroup.hashCode();
|
||||
}
|
||||
|
||||
@NotNull
|
||||
public Project getProject() {
|
||||
return myProject;
|
||||
}
|
||||
}
|
||||
|
||||
+12
-2
@@ -24,6 +24,7 @@ import com.intellij.openapi.actionSystem.AnActionEvent;
|
||||
import com.intellij.openapi.actionSystem.ToggleAction;
|
||||
import com.intellij.openapi.diagnostic.Logger;
|
||||
import com.intellij.openapi.module.Module;
|
||||
import com.intellij.openapi.module.ModuleGrouperKt;
|
||||
import com.intellij.openapi.module.ModuleUtilCore;
|
||||
import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.roots.ProjectRootManager;
|
||||
@@ -83,8 +84,7 @@ public class ProjectPatternProvider extends PatternDialectProvider {
|
||||
public PackageSet createPackageSet(final PackageDependenciesNode node, final boolean recursively) {
|
||||
if (node instanceof ModuleGroupNode) {
|
||||
if (!recursively) return null;
|
||||
@NonNls final String modulePattern = "group:" + ((ModuleGroupNode)node).getModuleGroup().toString();
|
||||
return new FilePatternPackageSet(modulePattern, "*//*");
|
||||
return new FilePatternPackageSet(getGroupModulePattern((ModuleGroupNode)node), "*//*");
|
||||
}
|
||||
else if (node instanceof ModuleNode) {
|
||||
if (!recursively) return null;
|
||||
@@ -127,6 +127,16 @@ public class ProjectPatternProvider extends PatternDialectProvider {
|
||||
return AllIcons.General.ProjectTab;
|
||||
}
|
||||
|
||||
@NotNull
|
||||
static String getGroupModulePattern(ModuleGroupNode node) {
|
||||
if (ModuleGrouperKt.isQualifiedModuleNamesEnabled(node.getProject())) {
|
||||
return node.getModuleGroup().getQualifiedName() + "*";
|
||||
}
|
||||
else {
|
||||
return "group:" + node.getModuleGroup().toString();
|
||||
}
|
||||
}
|
||||
|
||||
private static final class CompactEmptyMiddlePackagesAction extends ToggleAction {
|
||||
private final Runnable myUpdate;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user