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:
Denis.Zhdanov
2012-07-31 12:54:02 +04:00
parent 0cbfeac250
commit 23085b030c
@@ -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);