mirror of
https://gitflic.ru/project/openide/openide.git
synced 2025-12-16 14:23:28 +07:00
[java] IDEA-378944 Navigation to implicit classes from project view requires extra clicks
(cherry picked from commit 19da49da5217fa5644b437ca295be751531df864) IJ-CR-175396 GitOrigin-RevId: f38a624274bc54d74fa10e27b6ae5d43f78e22cc
This commit is contained in:
committed by
intellij-monorepo-bot
parent
c5f55812d1
commit
4966283984
@@ -74,8 +74,10 @@ public final class ClassesTreeStructureProvider implements SelectableTreeStructu
|
|||||||
: Collections.emptyList();
|
: Collections.emptyList();
|
||||||
if (classes.length == 1 && isClassForTreeNode(file, classes[0])) {
|
if (classes.length == 1 && isClassForTreeNode(file, classes[0])) {
|
||||||
result.add(new ClassTreeNode(myProject, classes[0], settings1, nestedFileNodes));
|
result.add(new ClassTreeNode(myProject, classes[0], settings1, nestedFileNodes));
|
||||||
} else {
|
}
|
||||||
result.add(new PsiClassOwnerTreeNode(classOwner, settings1, nestedFileNodes));
|
else {
|
||||||
|
boolean isImplicitClass = classes.length == 1 && classes[0] instanceof PsiImplicitClass;
|
||||||
|
result.add(new PsiClassOwnerTreeNode(classOwner, settings1, nestedFileNodes, isImplicitClass));
|
||||||
}
|
}
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
@@ -148,15 +150,23 @@ public final class ClassesTreeStructureProvider implements SelectableTreeStructu
|
|||||||
|
|
||||||
private static class PsiClassOwnerTreeNode extends PsiFileNode implements FileNodeWithNestedFileNodes {
|
private static class PsiClassOwnerTreeNode extends PsiFileNode implements FileNodeWithNestedFileNodes {
|
||||||
private final @NotNull Collection<? extends AbstractTreeNode<?>> myNestedFileNodes;
|
private final @NotNull Collection<? extends AbstractTreeNode<?>> myNestedFileNodes;
|
||||||
|
private final boolean myIsImplicitClass;
|
||||||
|
|
||||||
PsiClassOwnerTreeNode(@NotNull PsiClassOwner classOwner,
|
PsiClassOwnerTreeNode(@NotNull PsiClassOwner classOwner,
|
||||||
ViewSettings settings,
|
ViewSettings settings,
|
||||||
@NotNull Collection<? extends AbstractTreeNode<?>> nestedFileNodes) {
|
@NotNull Collection<? extends AbstractTreeNode<?>> nestedFileNodes,
|
||||||
|
boolean isImplicitClass) {
|
||||||
super(classOwner.getProject(), classOwner, settings);
|
super(classOwner.getProject(), classOwner, settings);
|
||||||
|
myIsImplicitClass = isImplicitClass;
|
||||||
myNestedFileNodes = nestedFileNodes;
|
myNestedFileNodes = nestedFileNodes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean expandOnDoubleClick() {
|
||||||
|
if (myIsImplicitClass) return false;
|
||||||
|
return super.expandOnDoubleClick();
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public @NotNull Collection<? extends AbstractTreeNode<?>> getNestedFileNodes() {
|
public @NotNull Collection<? extends AbstractTreeNode<?>> getNestedFileNodes() {
|
||||||
return myNestedFileNodes;
|
return myNestedFileNodes;
|
||||||
|
|||||||
Reference in New Issue
Block a user