I'm trying to move the layer selection to a new group while keeping the same hierarchy.
I get the selected layers using this function:
Code: Select all
function GetSelectedLayers()
{
var idGrp = stringIDToTypeID( "groupLayersEvent" );
var descGrp = new ActionDescriptor();
var refGrp = new ActionReference();
refGrp.putEnumerated(charIDToTypeID( "Lyr " ),charIDToTypeID( "Ordn" ),charIDToTypeID( "Trgt" ));
descGrp.putReference(charIDToTypeID( "null" ), refGrp );
executeAction( idGrp, descGrp, DialogModes.ALL );
var resultLayers = new Array();
for (var ix=0;ix<app.activeDocument.activeLayer.layers.length;ix++)
{
resultLayers.push(app.activeDocument.activeLayer.layers[ix])
}
var desc5 = new ActionDescriptor();
var ref2 = new ActionReference();
ref2.putEnumerated( cTID("HstS"), cTID("Ordn"), cTID("Prvs"));
desc5.putReference( cTID("null"), ref2 );
executeAction(cTID("slct"), desc5, DialogModes.NO );
return resultLayers;
}
Code: Select all
function MoveToNewSet(setName,selection)
{
var doc = app.activeDocument;
var newLayerSet = doc.layerSets.add();
newLayerSet.name = setName;
for(i = 0; i < selection.length; i++)
{
selection[i].move(newLayerSet, ElementPlacement.INSIDE);
}
}
I'm very new to the Photoshop scripting so any help would be appreciated!