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 233621
Collapse All | Expand All

(-)src/org/eclipse/mylyn/internal/bugzilla/ui/wizard/BugzillaProductPage.java (-1 / +29 lines)
Lines 61-66 Link Here
61
import org.eclipse.swt.widgets.Button;
61
import org.eclipse.swt.widgets.Button;
62
import org.eclipse.swt.widgets.Composite;
62
import org.eclipse.swt.widgets.Composite;
63
import org.eclipse.swt.widgets.Display;
63
import org.eclipse.swt.widgets.Display;
64
import org.eclipse.swt.widgets.TreeItem;
64
import org.eclipse.ui.IWorkbenchWindow;
65
import org.eclipse.ui.IWorkbenchWindow;
65
import org.eclipse.ui.PlatformUI;
66
import org.eclipse.ui.PlatformUI;
66
import org.eclipse.ui.dialogs.FilteredTree;
67
import org.eclipse.ui.dialogs.FilteredTree;
Lines 125-130 Link Here
125
126
126
	}
127
	}
127
128
129
	private class ComponentFilter extends PatternFilter {
130
131
		@Override
132
		public void setPattern(String patternString) {
133
			// ignore
134
			super.setPattern(patternString);
135
			// HACK: waiting on delayed refresh of filtered tree after setting the new pattern
136
			new UIJob("") {
137
				@Override
138
				public IStatus runInUIThread(IProgressMonitor monitor) {
139
					if (BugzillaProductPage.this.getControl() != null
140
							&& BugzillaProductPage.this.getControl().isDisposed()) {
141
						return Status.OK_STATUS;
142
					}
143
					final TreeViewer productViewer = productList.getViewer();
144
					if (productViewer.getTree().getItemCount() == 1) {
145
						TreeItem aq = productViewer.getTree().getItem(0);
146
						String qq = aq.getText();
147
						productViewer.setSelection(new StructuredSelection(qq));
148
					}
149
					return Status.OK_STATUS;
150
				}
151
			}.schedule(300L);
152
153
		}
154
	}
155
128
	public void createControl(Composite parent) {
156
	public void createControl(Composite parent) {
129
		// create the composite to hold the widgets
157
		// create the composite to hold the widgets
130
		Composite composite = new Composite(parent, SWT.NULL);
158
		Composite composite = new Composite(parent, SWT.NULL);
Lines 133-139 Link Here
133
		composite.setLayout(new GridLayout());
161
		composite.setLayout(new GridLayout());
134
162
135
		// create the list of bug reports
163
		// create the list of bug reports
136
		productList = new FilteredTree(composite, SWT.SINGLE | SWT.BORDER, new PatternFilter());
164
		productList = new FilteredTree(composite, SWT.SINGLE | SWT.BORDER, new ComponentFilter());
137
		productList.setLayoutData(GridDataFactory.swtDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).hint(
165
		productList.setLayoutData(GridDataFactory.swtDefaults().align(SWT.FILL, SWT.FILL).grab(true, true).hint(
138
				SWT.DEFAULT, 200).create());
166
				SWT.DEFAULT, 200).create());
139
		final TreeViewer productViewer = productList.getViewer();
167
		final TreeViewer productViewer = productList.getViewer();

Return to bug 233621