mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
IDEA-89449 Quick Documentation: link to Project Settings, which is shown when do documentation is found, doesn't work
Adding support for navigating to library settings from package info control
This commit is contained in:
+14
-3
@@ -813,13 +813,24 @@ public class DocumentationManager extends DockablePopupManager<DocumentationComp
|
||||
final PsiManager manager = PsiManager.getInstance(getProject(psiElement));
|
||||
if (url.startsWith("open")) {
|
||||
final PsiFile containingFile = psiElement.getContainingFile();
|
||||
OrderEntry libraryEntry = null;
|
||||
if (containingFile != null) {
|
||||
final VirtualFile virtualFile = containingFile.getVirtualFile();
|
||||
final OrderEntry libraryEntry = LibraryUtil.findLibraryEntry(virtualFile, myProject);
|
||||
if (libraryEntry != null) {
|
||||
ProjectSettingsService.getInstance(myProject).openLibraryOrSdkSettings(libraryEntry);
|
||||
libraryEntry = LibraryUtil.findLibraryEntry(virtualFile, myProject);
|
||||
}
|
||||
else if (psiElement instanceof PsiDirectoryContainer) {
|
||||
PsiDirectory[] directories = ((PsiDirectoryContainer)psiElement).getDirectories();
|
||||
for (PsiDirectory directory : directories) {
|
||||
final VirtualFile virtualFile = directory.getVirtualFile();
|
||||
libraryEntry = LibraryUtil.findLibraryEntry(virtualFile, myProject);
|
||||
if (libraryEntry != null) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (libraryEntry != null) {
|
||||
ProjectSettingsService.getInstance(myProject).openLibraryOrSdkSettings(libraryEntry);
|
||||
}
|
||||
} else if (url.startsWith(PSI_ELEMENT_PROTOCOL)) {
|
||||
final String refText = url.substring(PSI_ELEMENT_PROTOCOL.length());
|
||||
DocumentationProvider provider = getProviderFromElement(psiElement);
|
||||
|
||||
Reference in New Issue
Block a user