/** * Aptana Studio * Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved. * Licensed under the terms of the GNU Public License (GPL) v3 (with exceptions). * Please see the license.html included with this distribution for details. * Any modifications to this file must keep this entire header intact. */ package com.aptana.ide.syncing.ui.handlers; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.core.filesystem.IFileStore; import org.eclipse.jface.viewers.StructuredSelection; import org.eclipse.ui.handlers.HandlerUtil; import com.aptana.ide.core.io.preferences.CloakingUtils; import com.aptana.ide.syncing.ui.actions.CloakAction; public class CloakHandler extends BaseCloakHandler { public Object execute(ExecutionEvent event) throws ExecutionException { CloakAction action = new CloakAction(); action.setActivePart(null, HandlerUtil.getActivePart(event)); action.setSelection(new StructuredSelection(getSelectedFiles())); action.run(null); return null; } @Override public boolean isEnabled() { IFileStore[] selectedFiles = getSelectedFiles(); for (IFileStore fileStore : selectedFiles) { if (!CloakingUtils.isFileCloaked(fileStore)) { return true; } } return false; } }