/// <summary> /// Exports the images rights. /// </summary> /// <param name="__docRef">Document</param> /// <param name="_layers">Layers</param> /// <returns></returns> private bool exportImagesRights(Photoshop.Document __docRef, object _layers) { Photoshop.Layers __layers; Photoshop.ArtLayer __alayer = null; Photoshop.LayerSet __slayer; bool __isArtLayer = false; object __layer; int __j; string __soType; ImageRight __ir; __ir = new ImageRight(); __layers = (Photoshop.Layers)_layers; for (__j = 1; __j <= __layers.Count; __j++) { __layer = __layers[__j]; try { __alayer = (Photoshop.ArtLayer)__layer; __isArtLayer = true; } catch { __isArtLayer = false; } if (__isArtLayer) // Everything as Layer goes here { __appRef.ActiveDocument.ActiveLayer = __layer; if (__alayer.Kind == Photoshop.PsLayerKind.psNormalLayer) { __ir.parse(__alayer.Name); if (__ir.isValidURL) { __ir.createLink(__docRef.Path); } } else if (__alayer.Kind == Photoshop.PsLayerKind.psSmartObjectLayer) { __ir.parse(__alayer.Name); if (__ir.Code != null) { if (__ir.isValidURL) { __ir.createLink(__docRef.Path); } } else { __soType = getSmartObjectType(__appRef); if (__soType == ".psd") { int __opn; __opn = __appRef.StringIDToTypeID("placedLayerEditContents"); Photoshop.ActionDescriptor __desc4; __desc4 = new Photoshop.ActionDescriptor(); try { __appRef.ExecuteAction(__opn, __desc4, Photoshop.PsDialogModes.psDisplayNoDialogs); } catch (InvalidOperationException ex) { MessageBox.Show(ex.Message); } bool __test = exportImagesRights(__docRef, __appRef.ActiveDocument.Layers); __appRef.ActiveDocument.Close(2); } } } } else // Everything as LayerSet goes here { __slayer = (Photoshop.LayerSet)__layer; __appRef.ActiveDocument.ActiveLayer = __layer; if (__slayer.LayerType == Photoshop.PsLayerType.psLayerSet) { bool __test = exportImagesRights(__docRef, __slayer.Layers); } } } return true; }