Index: src/org/eclipse/update/internal/ui/views/FindUpdatesAction.java =================================================================== RCS file: /home/eclipse/org.eclipse.update.ui/src/org/eclipse/update/internal/ui/views/FindUpdatesAction.java,v retrieving revision 1.20 diff -u -r1.20 FindUpdatesAction.java --- src/org/eclipse/update/internal/ui/views/FindUpdatesAction.java 11 Apr 2005 22:45:30 -0000 1.20 +++ src/org/eclipse/update/internal/ui/views/FindUpdatesAction.java 9 Jun 2005 18:59:22 -0000 @@ -10,18 +10,20 @@ *******************************************************************************/ package org.eclipse.update.internal.ui.views; -import org.eclipse.core.runtime.*; -import org.eclipse.jface.action.*; -import org.eclipse.jface.dialogs.*; -import org.eclipse.jface.wizard.*; -import org.eclipse.swt.custom.*; -import org.eclipse.swt.widgets.*; -import org.eclipse.update.core.*; -import org.eclipse.update.internal.operations.*; -import org.eclipse.update.internal.ui.*; -import org.eclipse.update.internal.ui.wizards.*; -import org.eclipse.update.operations.*; -import org.eclipse.update.search.*; +import org.eclipse.core.runtime.IStatus; +import org.eclipse.core.runtime.jobs.Job; +import org.eclipse.jface.action.Action; +import org.eclipse.jface.dialogs.ErrorDialog; +import org.eclipse.jface.dialogs.MessageDialog; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.IWorkbenchWindow; +import org.eclipse.update.core.IFeature; +import org.eclipse.update.internal.ui.UpdateUI; +import org.eclipse.update.internal.ui.UpdateUIMessages; +import org.eclipse.update.internal.ui.wizards.InstallWizard; +import org.eclipse.update.internal.ui.wizards.InstallWizardOperation; +import org.eclipse.update.operations.OperationsManager; +import org.eclipse.update.ui.UpdateJob; public class FindUpdatesAction extends Action { @@ -58,16 +60,16 @@ IFeature [] features=null; if (feature!=null) features = new IFeature[] { feature }; - final UpdateSearchRequest searchRequest = UpdateUtils.createNewUpdatesRequest(features); + + UpdateJob job = new UpdateJob(UpdateUIMessages.InstallWizard_jobName, false, false, features); + + job.setUser(true); + job.setPriority(Job.INTERACTIVE); + + InstallWizardOperation operation = new InstallWizardOperation(); + IWorkbenchWindow window = UpdateUI.getActiveWorkbenchWindow(); + operation.run(shell, job); - BusyIndicator.showWhile(shell.getDisplay(), new Runnable() { - public void run() { - InstallWizard wizard = new InstallWizard(searchRequest); - WizardDialog dialog = new ResizableInstallWizardDialog(shell, wizard, UpdateUIMessages.FindUpdatesAction_updates); - dialog.create(); - dialog.open(); - } - }); } private boolean confirm(String message) { Index: src/org/eclipse/update/ui/UpdateJob.java =================================================================== RCS file: /home/eclipse/org.eclipse.update.ui/src/org/eclipse/update/ui/UpdateJob.java,v retrieving revision 1.6 diff -u -r1.6 UpdateJob.java --- src/org/eclipse/update/ui/UpdateJob.java 18 May 2005 22:48:27 -0000 1.6 +++ src/org/eclipse/update/ui/UpdateJob.java 9 Jun 2005 18:59:22 -0000 @@ -68,11 +68,22 @@ * @param download download updates automatically */ public UpdateJob( String name, boolean isAutomatic, boolean download ) { + this(name,isAutomatic,download, null); + } + /** + * Use this constructor to search for updates to installed features + * @param isAutomatic true if automatically searching for updates + * @param name the job name + * @param download download updates automatically + * @param features the features to search for updates. If you want to search all features, pass a null array or use the other constructor. + */ + public UpdateJob( String name, boolean isAutomatic, boolean download, IFeature[] features ) { super(name); this.isUpdate = true; this.isAutomatic = isAutomatic; this.download = download; updates = new ArrayList(); + searchRequest = UpdateUtils.createNewUpdatesRequest(features); setPriority(Job.DECORATE); } @@ -144,7 +155,6 @@ else UpdateCore.debug("Update search started."); //$NON-NLS-1$ } - searchRequest = UpdateUtils.createNewUpdatesRequest(null); if (resultCollector == null) resultCollector = new ResultCollectorWithMirrors();