|
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() { |