Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
View | Details | Raw Unified | Return to bug 211977
Collapse All | Expand All

(-)extensions/org/eclipse/ui/dialogs/FilteredResourcesSelectionDialog.java (-14 / +26 lines)
Lines 10-15 Link Here
10
 *******************************************************************************/
10
 *******************************************************************************/
11
package org.eclipse.ui.dialogs;
11
package org.eclipse.ui.dialogs;
12
12
13
import com.ibm.icu.text.Collator;
14
13
import java.io.IOException;
15
import java.io.IOException;
14
import java.io.StringReader;
16
import java.io.StringReader;
15
import java.io.StringWriter;
17
import java.io.StringWriter;
Lines 18-34 Link Here
18
import java.util.Comparator;
20
import java.util.Comparator;
19
import java.util.List;
21
import java.util.List;
20
22
23
import org.eclipse.core.runtime.CoreException;
24
import org.eclipse.core.runtime.IPath;
25
import org.eclipse.core.runtime.IProgressMonitor;
26
import org.eclipse.core.runtime.IStatus;
27
import org.eclipse.core.runtime.ListenerList;
28
import org.eclipse.core.runtime.Status;
29
21
import org.eclipse.core.resources.IContainer;
30
import org.eclipse.core.resources.IContainer;
22
import org.eclipse.core.resources.IResource;
31
import org.eclipse.core.resources.IResource;
23
import org.eclipse.core.resources.IResourceProxy;
32
import org.eclipse.core.resources.IResourceProxy;
24
import org.eclipse.core.resources.IResourceProxyVisitor;
33
import org.eclipse.core.resources.IResourceProxyVisitor;
25
import org.eclipse.core.resources.IWorkspace;
34
import org.eclipse.core.resources.IWorkspace;
26
import org.eclipse.core.resources.ResourcesPlugin;
35
import org.eclipse.core.resources.ResourcesPlugin;
27
import org.eclipse.core.runtime.CoreException;
36
28
import org.eclipse.core.runtime.IProgressMonitor;
37
import org.eclipse.swt.graphics.Image;
29
import org.eclipse.core.runtime.IStatus;
38
import org.eclipse.swt.widgets.Composite;
30
import org.eclipse.core.runtime.ListenerList;
39
import org.eclipse.swt.widgets.Control;
31
import org.eclipse.core.runtime.Status;
40
import org.eclipse.swt.widgets.Shell;
41
32
import org.eclipse.jface.action.Action;
42
import org.eclipse.jface.action.Action;
33
import org.eclipse.jface.action.IAction;
43
import org.eclipse.jface.action.IAction;
34
import org.eclipse.jface.action.IMenuManager;
44
import org.eclipse.jface.action.IMenuManager;
Lines 44-53 Link Here
44
import org.eclipse.jface.viewers.LabelProviderChangedEvent;
54
import org.eclipse.jface.viewers.LabelProviderChangedEvent;
45
import org.eclipse.jface.viewers.Viewer;
55
import org.eclipse.jface.viewers.Viewer;
46
import org.eclipse.jface.viewers.ViewerFilter;
56
import org.eclipse.jface.viewers.ViewerFilter;
47
import org.eclipse.swt.graphics.Image;
57
48
import org.eclipse.swt.widgets.Composite;
49
import org.eclipse.swt.widgets.Control;
50
import org.eclipse.swt.widgets.Shell;
51
import org.eclipse.ui.IMemento;
58
import org.eclipse.ui.IMemento;
52
import org.eclipse.ui.IWorkbenchPage;
59
import org.eclipse.ui.IWorkbenchPage;
53
import org.eclipse.ui.IWorkbenchWindow;
60
import org.eclipse.ui.IWorkbenchWindow;
Lines 66-73 Link Here
66
import org.eclipse.ui.model.WorkbenchLabelProvider;
73
import org.eclipse.ui.model.WorkbenchLabelProvider;
67
import org.eclipse.ui.statushandlers.StatusManager;
74
import org.eclipse.ui.statushandlers.StatusManager;
68
75
69
import com.ibm.icu.text.Collator;
70
71
/**
76
/**
72
 * Shows a list of resources to the user with a text entry field for a string
77
 * Shows a list of resources to the user with a text entry field for a string
73
 * pattern used to filter the list of resources.
78
 * pattern used to filter the list of resources.
Lines 407-415 Link Here
407
				String s2 = resource2.getName();
412
				String s2 = resource2.getName();
408
				int comparability = collator.compare(s1, s2);
413
				int comparability = collator.compare(s1, s2);
409
				if (comparability == 0) {
414
				if (comparability == 0) {
410
					s1 = resource1.getFullPath().toString();
415
					IPath p1 = resource1.getFullPath();
411
					s2 = resource2.getFullPath().toString();
416
					IPath p2 = resource2.getFullPath();
412
					comparability = collator.compare(s1, s2);
417
					int c1 = p1.segmentCount();
418
					int c2 = p2.segmentCount();
419
					for (int i= 0; i < c1 && i < c2; i++) {
420
						comparability = collator.compare(p1.segment(i), p2.segment(i));
421
						if (comparability != 0)
422
							return comparability;
423
					}
424
					comparability = c2 - c1;
413
				}
425
				}
414
426
415
				return comparability;
427
				return comparability;

Return to bug 211977