mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
packages view: if modules are selected then it is possible to determine package directory unambiguously
This commit is contained in:
@@ -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"));
|
||||
|
||||
Reference in New Issue
Block a user