| Index: editor/tools/plugins/com.google.dart.tools.search/src/com/google/dart/tools/search/internal/ui/text/FileLabelProvider.java
|
| ===================================================================
|
| --- editor/tools/plugins/com.google.dart.tools.search/src/com/google/dart/tools/search/internal/ui/text/FileLabelProvider.java (revision 7355)
|
| +++ editor/tools/plugins/com.google.dart.tools.search/src/com/google/dart/tools/search/internal/ui/text/FileLabelProvider.java (working copy)
|
| @@ -20,6 +20,8 @@
|
| import com.google.dart.tools.search.ui.text.AbstractTextSearchViewPage;
|
| import com.google.dart.tools.search.ui.text.Match;
|
|
|
| +import org.eclipse.core.filesystem.EFS;
|
| +import org.eclipse.core.filesystem.IFileStore;
|
| import org.eclipse.core.resources.IResource;
|
| import org.eclipse.jface.viewers.DelegatingStyledCellLabelProvider.IStyledLabelProvider;
|
| import org.eclipse.jface.viewers.ILabelProviderListener;
|
| @@ -30,6 +32,7 @@
|
| import org.eclipse.swt.graphics.Image;
|
| import org.eclipse.ui.model.WorkbenchLabelProvider;
|
|
|
| +import java.io.File;
|
| import java.util.Arrays;
|
| import java.util.Comparator;
|
|
|
| @@ -82,12 +85,18 @@
|
|
|
| @Override
|
| public Image getImage(Object element) {
|
| + if (element instanceof FileResource<?>) {
|
| + element = ((FileResource<?>) element).getResource();
|
| + }
|
| + if (element instanceof File) {
|
| + //TODO(pquitslund): improve image fetching
|
| + IFileStore file = EFS.getLocalFileSystem().fromLocalFile((File) element);
|
| + return fLabelProvider.getImage(file);
|
| + }
|
| +
|
| if (element instanceof LineElement) {
|
| return fLineMatchImage;
|
| }
|
| - if (!(element instanceof IResource)) {
|
| - return null;
|
| - }
|
|
|
| IResource resource = (IResource) element;
|
| Image image = fLabelProvider.getImage(resource);
|
| @@ -98,19 +107,36 @@
|
| return fOrder;
|
| }
|
|
|
| - @Override
|
| - public StyledString getStyledText(Object element) {
|
| - if (element instanceof LineElement) {
|
| - return getLineElementLabel((LineElement) element);
|
| + public StyledString getStyledString(File resource) {
|
| + if (!resource.exists()) {
|
| + return new StyledString(SearchMessages.FileLabelProvider_removed_resource_label);
|
| }
|
|
|
| - if (!(element instanceof IResource)) {
|
| - return new StyledString();
|
| + String name = BasicElementLabels.getResourceName(resource);
|
| + if (fOrder == SHOW_LABEL) {
|
| + return getColoredLabelWithCounts(resource, new StyledString(name));
|
| }
|
|
|
| - IResource resource = (IResource) element;
|
| + String pathString = BasicElementLabels.getParentPathLabel(resource, false);
|
| + if (fOrder == SHOW_LABEL_PATH) {
|
| + StyledString str = new StyledString(name);
|
| + String decorated = Messages.format(fgSeparatorFormat, new String[] {
|
| + str.getString(), pathString});
|
| +
|
| + StyledCellLabelProvider.styleDecoratedString(decorated, StyledString.QUALIFIER_STYLER, str);
|
| + return getColoredLabelWithCounts(resource, str);
|
| + }
|
| +
|
| + StyledString str = new StyledString(Messages.format(fgSeparatorFormat, new String[] {
|
| + pathString, name}));
|
| + return getColoredLabelWithCounts(resource, str);
|
| +
|
| + }
|
| +
|
| + public StyledString getStyledString(IResource resource) {
|
| +
|
| if (!resource.exists()) {
|
| - new StyledString(SearchMessages.FileLabelProvider_removed_resource_label);
|
| + return new StyledString(SearchMessages.FileLabelProvider_removed_resource_label);
|
| }
|
|
|
| String name = BasicElementLabels.getResourceName(resource);
|
| @@ -131,9 +157,31 @@
|
| StyledString str = new StyledString(Messages.format(fgSeparatorFormat, new String[] {
|
| pathString, name}));
|
| return getColoredLabelWithCounts(resource, str);
|
| +
|
| }
|
|
|
| @Override
|
| + public StyledString getStyledText(Object element) {
|
| + if (element instanceof LineElement) {
|
| + return getLineElementLabel((LineElement) element);
|
| + }
|
| +
|
| + if (element instanceof WorkspaceFile) {
|
| + element = ((WorkspaceFile) element).getResource();
|
| + }
|
| +
|
| + if (element instanceof IResource) {
|
| + return getStyledString((IResource) element);
|
| + }
|
| +
|
| + if (element instanceof File) {
|
| + return getStyledString((File) element);
|
| + }
|
| +
|
| + return new StyledString("skipped [" + element.getClass() + "]: " + element.toString());
|
| + }
|
| +
|
| + @Override
|
| public String getText(Object object) {
|
| return getStyledText(object).getString();
|
| }
|
|
|