package org.xmind.ui.internal.handlers;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.runtime.SafeRunner;
import org.eclipse.jface.util.SafeRunnable;
import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.handlers.HandlerUtil;
import org.xmind.ui.internal.MindMapUIPlugin;
import org.xmind.ui.internal.dialogs.ReduceFileSizeDialog;
public class ReduceFileSizeHandler extends AbstractHandler {
public Object execute(ExecutionEvent event) throws ExecutionException {
IWorkbenchPart part = HandlerUtil.getActivePartChecked(event);
if (part == null || !(part instanceof IEditorPart))
return null;
reduceFileSize((IEditorPart) part);
return null;
}
private void reduceFileSize(final IEditorPart editor) {
MindMapUIPlugin.getDefault().getUsageDataCollector()
.increase("ReduceFileSizeCount"); //$NON-NLS-1$
SafeRunner.run(new SafeRunnable() {
public void run() throws Exception {
ReduceFileSizeDialog dialog = new ReduceFileSizeDialog(editor);
dialog.open();
}
});
}
}