packages view: if modules are selected then it is possible to determine package directory unambiguously

This commit is contained in:
anna
2009-10-08 11:47:54 +04:00
parent 4d3897caf0
commit 0eea476261
@@ -24,10 +24,8 @@ import com.intellij.openapi.roots.ProjectFileIndex;
import com.intellij.openapi.roots.ProjectRootManager;
import com.intellij.openapi.util.IconLoader;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.JavaDirectoryService;
import com.intellij.psi.PsiDirectory;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiPackage;
import com.intellij.psi.*;
import com.intellij.psi.search.GlobalSearchScope;
import org.jetbrains.annotations.NonNls;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -101,6 +99,19 @@ public final class PackageViewPane extends AbstractProjectViewPSIPane {
return result;
}
@Override
public PsiDirectory[] getSelectedDirectories() {
final PackageElement packageElement = getSelectedPackageElement();
if (packageElement != null) {
final Module module = packageElement.getModule();
final PsiPackage aPackage = packageElement.getPackage();
if (module != null && aPackage != null) {
return aPackage.getDirectories(GlobalSearchScope.moduleScope(module));
}
}
return super.getSelectedDirectories();
}
private final class ShowModulesAction extends ToggleAction {
private ShowModulesAction() {
super(IdeBundle.message("action.show.modules"), IdeBundle.message("action.description.show.modules"), IconLoader.getIcon("/objectBrowser/showModules.png"));