package net.jeeeyul.eclipse.themes.ui.linux;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.handlers.IHandlerService;
import org.eclipse.ui.progress.UIJob;
/**
* A job that asks user to restart workbench.
*
* @author Jeeeyul
*/
public class AskingRestart extends UIJob {
/**
* Creates an {@link AskingRestart}.
*/
public AskingRestart() {
super("Restart Eclipse");
setSystem(true);
setUser(false);
}
@Override
public IStatus runInUIThread(IProgressMonitor monitor) {
if (MessageDialog.openQuestion(Display.getDefault().getActiveShell(), "Jeeeyul's Eclipse Themes", "Do you want to restart eclipse now?")) {
IHandlerService hs = (IHandlerService) PlatformUI.getWorkbench().getService(IHandlerService.class);
try {
hs.executeCommand("org.eclipse.ui.file.restartWorkbench", null);
} catch (Exception e) {
e.printStackTrace();
}
}
return Status.OK_STATUS;
}
}