mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
quick definitions: show location string when applicable (IDEA-22690)
This commit is contained in:
+11
-14
@@ -36,6 +36,7 @@ import com.intellij.openapi.project.Project;
|
||||
import com.intellij.openapi.ui.ComboBox;
|
||||
import com.intellij.openapi.ui.popup.JBPopup;
|
||||
import com.intellij.openapi.util.Comparing;
|
||||
import com.intellij.openapi.util.text.StringUtil;
|
||||
import com.intellij.openapi.vcs.FileStatusManager;
|
||||
import com.intellij.openapi.vfs.VirtualFile;
|
||||
import com.intellij.psi.*;
|
||||
@@ -100,23 +101,19 @@ public class ImplementationViewComponent extends JPanel {
|
||||
private static class FileDescriptor {
|
||||
public final PsiFile myFile;
|
||||
public final String myElementPresentation;
|
||||
private final String myLocationString;
|
||||
|
||||
public FileDescriptor(PsiFile file, PsiElement element) {
|
||||
myFile = file;
|
||||
myElementPresentation = getPresentation(element);
|
||||
}
|
||||
|
||||
@Nullable
|
||||
private static String getPresentation(PsiElement element) {
|
||||
if (element instanceof NavigationItem) {
|
||||
final ItemPresentation presentation = ((NavigationItem)element).getPresentation();
|
||||
if (presentation != null) {
|
||||
return presentation.getPresentableText();
|
||||
}
|
||||
final ItemPresentation presentation = element instanceof NavigationItem ? ((NavigationItem)element).getPresentation() : null;
|
||||
if (presentation != null) {
|
||||
myElementPresentation = presentation.getPresentableText();
|
||||
myLocationString = presentation.getLocationString();
|
||||
}
|
||||
else {
|
||||
myElementPresentation = element instanceof PsiNamedElement ? ((PsiNamedElement)element).getName() : null;
|
||||
myLocationString = null;
|
||||
}
|
||||
|
||||
if (element instanceof PsiNamedElement) return ((PsiNamedElement)element).getName();
|
||||
return null;
|
||||
}
|
||||
|
||||
public String getPresentableName(VirtualFile vFile) {
|
||||
@@ -126,7 +123,7 @@ public class ImplementationViewComponent extends JPanel {
|
||||
}
|
||||
|
||||
if (Comparing.strEqual(vFile.getName(), myElementPresentation + "." + vFile.getExtension())){
|
||||
return presentableName;
|
||||
return presentableName + (!StringUtil.isEmptyOrSpaces(myLocationString) ? " " + myLocationString : "");
|
||||
}
|
||||
|
||||
return presentableName + " (" + myElementPresentation + ")";
|
||||
|
||||
Reference in New Issue
Block a user