blob: 4f7224e9221bd93e3fbeb8117b3a4d0700bd26e7 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2014 Christian Pontesegger and others. All rights reserved.
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v1.0 which accompanies this distribution,
* and is available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors: Christian Pontesegger - initial API and implementation
*
* name : Add script location
* popup : enableFor(org.eclipse.core.resources.IContainer)
* description : Adds the selected folder to monitored script locations
******************************************************************************/
loadModule('/System/UI');
var selection = getSelection();
if (selection instanceof org.eclipse.jface.viewers.IStructuredSelection) {
// get location, due to context menu binding we know this is an IContainer
var container = selection.getFirstElement();
var location = "workspace:/" + container.getFullPath();
var node = location.replace(/\//g, "|");
loadModule('/System/Platform');
// verify that location is not already registered
var storedLocation = readPreferences("org.eclipse.ease.ui/" + node, "location");
if (storedLocation == "") {
// add location preferences
writePreferences("org.eclipse.ease.ui/" + node, "location", location);
writePreferences("org.eclipse.ease.ui/" + node, "default", false);
writePreferences("org.eclipse.ease.ui/" + node, "recursive", true);
// trigger update
var repositoryService = getService(org.eclipse.ease.ui.scripts.repository.IRepositoryService);
repositoryService.updateLocations();
} else
// location already registered
showInfoDialog("Location is already registered");
}