Do not show classes in file node by default in project view
This commit is contained in:
@@ -44,7 +44,7 @@ public class JetIconProvider extends IconProvider {
|
|||||||
if (psiElement instanceof JetFile) {
|
if (psiElement instanceof JetFile) {
|
||||||
JetFile file = (JetFile) psiElement;
|
JetFile file = (JetFile) psiElement;
|
||||||
JetClassOrObject mainClass = getMainClass(file);
|
JetClassOrObject mainClass = getMainClass(file);
|
||||||
return mainClass != null ? getIcon(mainClass, flags) : JetIcons.FILE;
|
return mainClass != null && file.getDeclarations().size() == 1 ? getIcon(mainClass, flags) : JetIcons.FILE;
|
||||||
}
|
}
|
||||||
if (psiElement instanceof JetNamespaceHeader) {
|
if (psiElement instanceof JetNamespaceHeader) {
|
||||||
return (flags & Iconable.ICON_FLAG_OPEN) != 0 ? PlatformIcons.PACKAGE_OPEN_ICON : PlatformIcons.PACKAGE_ICON;
|
return (flags & Iconable.ICON_FLAG_OPEN) != 0 ? PlatformIcons.PACKAGE_OPEN_ICON : PlatformIcons.PACKAGE_ICON;
|
||||||
|
|||||||
@@ -45,14 +45,16 @@ public class JetFileTreeNode extends PsiFileNode {
|
|||||||
if (file == null) return Collections.emptyList();
|
if (file == null) return Collections.emptyList();
|
||||||
ArrayList<AbstractTreeNode> result = new ArrayList<AbstractTreeNode>();
|
ArrayList<AbstractTreeNode> result = new ArrayList<AbstractTreeNode>();
|
||||||
|
|
||||||
List<JetDeclaration> declarations = file.getDeclarations();
|
if (getSettings().isShowMembers()) {
|
||||||
|
List<JetDeclaration> declarations = file.getDeclarations();
|
||||||
|
|
||||||
for (JetDeclaration declaration : declarations) {
|
for (JetDeclaration declaration : declarations) {
|
||||||
if (declaration instanceof JetClassOrObject) {
|
if (declaration instanceof JetClassOrObject) {
|
||||||
result.add(new JetClassOrObjectTreeNode(file.getProject(), (JetClassOrObject) declaration, getSettings()));
|
result.add(new JetClassOrObjectTreeNode(file.getProject(), (JetClassOrObject) declaration, getSettings()));
|
||||||
}
|
}
|
||||||
else if (getSettings().isShowMembers()) {
|
else if (getSettings().isShowMembers()) {
|
||||||
result.add(new JetDeclarationTreeNode(getProject(), declaration, getSettings()));
|
result.add(new JetDeclarationTreeNode(getProject(), declaration, getSettings()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ public class JetProjectViewProvider implements SelectableTreeStructureProvider,
|
|||||||
List<JetDeclaration> declarations = file.getDeclarations();
|
List<JetDeclaration> declarations = file.getDeclarations();
|
||||||
|
|
||||||
JetClassOrObject mainClass = JetIconProvider.getMainClass(file);
|
JetClassOrObject mainClass = JetIconProvider.getMainClass(file);
|
||||||
if (mainClass != null && (!settings.isShowMembers() || declarations.size() == 1)) {
|
if (mainClass != null && declarations.size() == 1) {
|
||||||
result.add(new JetClassOrObjectTreeNode(file.getProject(), mainClass, settings));
|
result.add(new JetClassOrObjectTreeNode(file.getProject(), mainClass, settings));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -106,7 +106,7 @@ public class JetProjectViewProvider implements SelectableTreeStructureProvider,
|
|||||||
return current != null ? current : file;
|
return current != null ? current : file;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean isSelectable(PsiElement element) {
|
private static boolean isSelectable(PsiElement element) {
|
||||||
if (element instanceof JetFile) return true;
|
if (element instanceof JetFile) return true;
|
||||||
if (element instanceof JetDeclaration) {
|
if (element instanceof JetDeclaration) {
|
||||||
PsiElement parent = element.getParent();
|
PsiElement parent = element.getParent();
|
||||||
|
|||||||
Reference in New Issue
Block a user