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 183679 | Differences between
and this patch

Collapse All | Expand All

(-)Eclipse UI/org/eclipse/ui/internal/quickaccess/QuickAccessDialog.java (-23 / +30 lines)
Lines 27-32 Link Here
27
import org.eclipse.jface.window.ToolTip;
27
import org.eclipse.jface.window.ToolTip;
28
import org.eclipse.osgi.util.NLS;
28
import org.eclipse.osgi.util.NLS;
29
import org.eclipse.swt.SWT;
29
import org.eclipse.swt.SWT;
30
import org.eclipse.swt.custom.BusyIndicator;
30
import org.eclipse.swt.events.ControlAdapter;
31
import org.eclipse.swt.events.ControlAdapter;
31
import org.eclipse.swt.events.ControlEvent;
32
import org.eclipse.swt.events.ControlEvent;
32
import org.eclipse.swt.events.KeyAdapter;
33
import org.eclipse.swt.events.KeyAdapter;
Lines 110-143 Link Here
110
	/**
111
	/**
111
	 * @param parent
112
	 * @param parent
112
	 */
113
	 */
113
	QuickAccessDialog(IWorkbenchWindow window, Command invokingCommand) {
114
	QuickAccessDialog(IWorkbenchWindow window, final Command invokingCommand) {
114
		super(ProgressManagerUtil.getDefaultParent(), SWT.RESIZE, true, true,
115
		super(ProgressManagerUtil.getDefaultParent(), SWT.RESIZE, true, true,
115
				true, true, null,
116
				true, true, null,
116
				QuickAccessMessages.QuickAccess_StartTypingToFindMatches);
117
				QuickAccessMessages.QuickAccess_StartTypingToFindMatches);
117
118
118
		this.window = window;
119
		this.window = window;
119
		this.providers = new QuickAccessProvider[] {
120
		BusyIndicator.showWhile(window.getShell() == null ? null : window
120
				new PreviousPicksProvider(), new EditorProvider(),
121
				.getShell().getDisplay(), new Runnable() {
121
				new ViewProvider(), new PerspectiveProvider(),
122
			public void run() {
122
				new CommandProvider(), new ActionProvider(),
123
				QuickAccessDialog.this.providers = new QuickAccessProvider[] {
123
				new WizardProvider(), new PreferenceProvider(),
124
						new PreviousPicksProvider(), new EditorProvider(),
124
				new PropertiesProvider() };
125
						new ViewProvider(), new PerspectiveProvider(),
125
		providers[0] = new PreviousPicksProvider();
126
						new CommandProvider(), new ActionProvider(),
126
		providerMap = new HashMap();
127
						new WizardProvider(), new PreferenceProvider(),
127
		for (int i = 0; i < providers.length; i++) {
128
						new PropertiesProvider() };
128
			providerMap.put(providers[i].getId(), providers[i]);
129
				providers[0] = new PreviousPicksProvider();
129
		}
130
				providerMap = new HashMap();
130
		restoreDialog();
131
				for (int i = 0; i < providers.length; i++) {
131
		this.invokingCommand = invokingCommand;
132
					providerMap.put(providers[i].getId(), providers[i]);
132
		if (this.invokingCommand != null && !this.invokingCommand.isDefined()) {
133
				}
133
			this.invokingCommand = null;
134
				restoreDialog();
134
		} else {
135
				QuickAccessDialog.this.invokingCommand = invokingCommand;
135
			// Pre-fetch key sequence - do not change because scope will
136
				if (QuickAccessDialog.this.invokingCommand != null
136
			// change later.
137
						&& !QuickAccessDialog.this.invokingCommand.isDefined()) {
137
			getInvokingCommandKeySequences();
138
					QuickAccessDialog.this.invokingCommand = null;
138
		}
139
				} else {
139
		// create early
140
					// Pre-fetch key sequence - do not change because scope will
140
		create();
141
					// change later.
142
					getInvokingCommandKeySequences();
143
				}
144
				// create early
145
				create();
146
			}
147
		});
141
		// Ugly hack to avoid bug 184045. If this gets fixed, replace the
148
		// Ugly hack to avoid bug 184045. If this gets fixed, replace the
142
		// following code with a call to refresh("").
149
		// following code with a call to refresh("").
143
		getShell().getDisplay().asyncExec(new Runnable() {
150
		getShell().getDisplay().asyncExec(new Runnable() {

Return to bug 183679