$.localize = true; #include "./WorkspaceImportExport.jsx" #target photoshop; // The associative array of extension to folder name used for verification/import // If you want the import to accept a new extension into a specific folder, add them here var extensionToFolderMap = { "ADO" : "Duotones", "abr" : "Brushes", "acb" : "Color Books", "aco" : "Color Swatches", "act" : "Optimized Colors", "acv" : "Curves", "ahu" : "Hue and Saturation", "alv" : "Levels", "asl" : "Styles", "atn" : "Actions", "blw" : "Black and White", "cha" : "Channel Mixer", "csh" : "Custom Shapes", "dae" : "Meshes", "eap" : "Exposure", "gds" : "Guides", "grd" : "Gradients", "hdt" : "HDR Toning", "iros" : "Optimized Output Settings", "irs" : "Optimized Settings", "js" : "Scripts", "jsx" : "Scripts", "kys" : "Keyboard Shortcuts", "mnu" : "Menu Customization", "p3e" : "Repousse", "p3l" : "Lights", "p3m" : "Materials", "p3r" : "Volumes", "pat" : "Patterns", "pbk" : "Pixel Bender Files", "ple" : "Lighting Effects", "psw" : "WorkSpaces", "shc" : "Contours", "tbr" : "Custom Toolbars", "tpl" : "Tools", "zvt" : "Zoomify" }; // ZStrings var titleDialog = localize("$$$/PresetImportExport/titleDialog=Export/Import Presets"); var titleFileExport = localize("$$$/PresetImportExport/titleFileExport=Export Presets"); var titleFileImport = localize("$$$/PresetImportExport/titleFileImport=Import Presets"); var titleListBoxExport = localize("$$$/PresetImportExport/titleListBoxExport=Presets to Export"); var titleListBoxUser = localize("$$$/PresetImportExport/titleListBoxUser=Your Presets"); var titleListBoxImport = localize("$$$/PresetImportExport/titleListBoxImport=Presets to Import"); var titleListBoxSource = localize("$$$/PresetImportExport/titleListBoxSource=Source Presets"); var titleSelectFolder = localize("$$$/PresetImportExport/titleSelectFolder=Select a folder"); var titleChooseExportFolder = localize("$$$/PresetImportExport/titleChooseExportFolder=Select an Export Folder"); var titleChooseImportFolder = localize("$$$/PresetImportExport/titleChooseImportFolder=Select an Import Folder"); var titleExportPanel = localize("$$$/PresetImportExport/titleExportPanel=Export Presets"); var titleImportPanel = localize("$$$/PresetImportExport/titleImportPanel=Import Presets"); var titleErrorMsg = localize("$$$/PresetImportExport/titleErrorMsg=Export/Import Error"); var titleSourcePath = localize("$$$/PresetImportExport/titleSourcePath=Source Folder: "); var totalNumToImport = localize("$$$/PresetImportExport/totalNumToImport=Presets to Import: "); var totalNumToExport = localize("$$$/PresetImportExport/totalNumToExport=Presets to Export: "); var btnQuitName = localize("$$$/PresetImportExport/btnQuitName=Cancel"); var btnRemoveAllName = localize("$$$/PresetImportExport/btnRemoveAllName=Remove All"); var btnAddAllName = localize("$$$/PresetImportExport/btnAddAllName=Add All"); var btnSelectFolderName = localize("$$$/PresetImportExport/btnSelectFolderName=Select Import Folder"); var helpTipListBoxDo = localize("$$$/PresetImportExport/helpTipListBoxDo=Double click the item to remove it from list."); var helpTipListBoxDont = localize("$$$/PresetImportExport/helpTipListBoxDont=Double click the item to add it to the list."); var msgNoFileToExport = localize("$$$/PresetImportExport/msgNoFileToExport=Select the presets to export."); var msgNoFileToImport = localize("$$$/PresetImportExport/msgNoFileToImport=Select the presets to import."); var msgSearchingFiles = localize("$$$/PresetImportExport/msgSearchingFiles=Searching for preset files"); var msgExportComplete = localize("$$$/PresetImportExport/msgExportComplete=Presets have been succesfully exported."); var msgImportComplete = localize("$$$/PresetImportExport/msgImportComplete=Presets have been successfully imported."); var msgImportCompleteRestart = localize("$$$/PresetImportExport/msgImportCompleteRestart=Presets have been successfully imported. Restart Photoshop for changes to take effect."); var msgCompleteError = localize("$$$/PresetImportExport/msgCompleteError=An error occured when importing the presets. Preset import failed."); var msgAdmin = localize("$$$/PresetImportExport/msgAdmin=Administrative privileges are required to save these presets."); var msgFolderExists = localize("$$$/PresetImportExport/msgFolderExists=The exported presets folder already exists in this location. Do you want to replace this folder?"); var msgFolderCreate = localize("$$$/PresetImportExport/msgFolderCreate=Presets cannot be exported, because a folder could not be created in the chosen location."); var msgNothingToImport = localize("$$$/PresetImportExport/msgNothingToImport=The selected folder has no presets."); var msgDeleteConfirm = localize("$$$/PresetImportExport/msgDeleteConfirm=This will replace your existing presets folder:" ); var msgDeleteFail = localize("$$$/PresetImportExport/msgDeleteFail=An error occured while replacing presets folder."); var msgWrongVersion = localize("$$$/PresetImportExport/msgWrongVersion=This version of Photoshop is not supported."); var msgImportingFiles = localize("$$$/PresetImportExport/msgImportingFiles=Importing files..."); var msgExportingFiles = localize("$$$/PresetImportExport/msgExportingFiles=Exporting files..."); var msgCopyFailure = localize("$$$/PresetImportExport/msgCopyFailure=Failed to copy file:"); var msgReplaceFiles = localize("$$$/PresetImportExport/msgReplaceFile=Presets with same names already exist in your Presets folders. Do you want to replace those files?"); var kResultSuccess = 0; var kResultCancel = 1; var kResultError = 2; // Utility functions collapse here function getDirApp(){ /* The full path of the location of the Adobe Photoshop application. */ return app.path; } function getDirCommonFiles(){ /* In Windows, the value of %CommonProgramFiles% (by default, C:\\Program Files\\Common Files) In Mac OS, /Library/Application Support */ return Folder.commonFiles; } function getDirUserData(){ /* In Windows, the value of %USERDATA% (by default, C:\\Documents and Settings\\ username \\Application Data) In Mac OS, ~/Library/Application Support. */ return Folder.userData; } function getDirUserPreferencesMac(){ /* In Windows, the value of %USERDATA% (by default, C:\\Documents and Settings\\ username \\Application Data) In Mac OS, ~/Library/Application Support. */ var tempUserData = decodeURI(Folder.userData).toString().replace("Application Support", "Preferences"); return Folder(tempUserData); } function alertScriptError(msg){ alert(msg, titleErrorMsg, true); errorToQuit++; } function getCurOS(curOS){ try{ var myOS; if(curOS.match("Macintosh")){ myOS = "mac"; }else if(curOS.match("XP")){ myOS = "winxp"; }else if(curOS.match("Vista")){ myOS = "winvista"; }else{ myOS = "win7"; } return myOS; }catch(e){ alertScriptError("Line: " + $.line +" - "+ e); } } // This function also brings up an error if the version is not 13 or 12, we have undefined behavior for rest function getAppVer(){ try{ var curAppVer = app.version; var arrayAppVer = curAppVer.split("."); var appVerNo = parseInt(arrayAppVer[0]); var versionStr = ""; if (appVerNo == 19) { versionStr = "CC 2018"; } else if (appVerNo == 18) { versionStr = "CC 2017"; } else if (appVerNo == 17) { versionStr = "CC 2015.5"; } else if (appVerNo == 16) { versionStr = "CC 2015"; } else if (appVerNo == 15) { versionStr = "CC 2014"; } else if (appVerNo == 14) { versionStr = "CC"; } else if (appVerNo == 13) { versionStr = "CS6"; } else if (appVerNo == 12) { versionStr = "CS5"; } else { alertScriptError(msgWrongVersion); } return versionStr; }catch(e){ alertScriptError("Line: " + $.line +" - "+ e); } } function cleanupMultiplesFromArray(theArray){ for (var i=0;i