package org.marketcetera.photon.actions;
import org.eclipse.jface.action.Action;
import org.eclipse.jface.action.IAction;
import org.eclipse.swt.custom.BusyIndicator;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.update.ui.UpdateJob;
import org.eclipse.update.ui.UpdateManagerUI;
import org.marketcetera.photon.Messages;
/**
* "Check for updates" action.
*
* @author alissovski
*/
@SuppressWarnings("deprecation")
public class CheckForUpdatesAction
extends Action
implements IAction, Messages
{
public static final String ID = "org.marketcetera.photon.actions.CheckForUpdatesAction"; //$NON-NLS-1$
private IWorkbenchWindow window;
public CheckForUpdatesAction(IWorkbenchWindow window) {
this.window = window;
setId(ID);
setText(CHECK_FOR_UPDATES_ACTION.getText());
setToolTipText(CHECK_FOR_UPDATES_ACTION_DESCRIPTION.getText());
}
/* (non-Javadoc)
* @see org.eclipse.jface.action.Action#run()
*/
@Override
public void run() {
BusyIndicator.showWhile(window.getShell().getDisplay(),
new Runnable() {
public void run() {
final boolean automatic = false;
final boolean download = false;
UpdateJob job = new UpdateJob(CHECK_FOR_UPDATES_JOB_ACTION.getText(),
automatic,
download);
UpdateManagerUI.openInstaller(window.getShell(), job);
}
});
}
}