// Maximum Print Size Column // (c) 2020 Steve Banham // This is a script for Directory Opus. // See https://www.gpsoft.com.au/DScripts/redirect.asp?page=scripts for development information. // Called by Directory Opus to initialize the script function OnInit(initData) { initData.name = "Column: Max. Print Size"; initData.version = "1.1"; initData.copyright = "(c) 2020 Steve Banham"; initData.url = "https://resource.dopus.com/t/column-maximum-print-size"; initData.desc = "Adds a new column displaying maximum print size for an image."; initData.default_enable = true; initData.min_version = "12.0"; initData.config_desc = DOpus.Create.Map(); initData.config_groups = DOpus.Create.Map(); var configName = ""; configName = "DPI"; initData.Config[configName] = "200"; initData.config_desc(configName) = "DPI to use when calculating print size."; initData.config_groups(configName) = "Settings"; configName = "Show DPI"; initData.Config[configName] = true; initData.config_desc(configName) = "Include DPI setting in the column." initData.config_groups(configName) = "Settings"; configName = "Show Units"; initData.Config[configName] = true; initData.config_desc(configName) = "Include measurement unit in the column." initData.config_groups(configName) = "Settings"; configName = "Centimetres"; initData.Config[configName] = true; initData.config_desc(configName) = "Show the results in centimetres (true) or in inches (false)."; initData.config_groups(configName) = "Settings"; configName = "Directories"; initData.Config[configName] = ""; initData.config_desc(configName) = "The string used in the column for directories (can be blank)."; initData.config_groups(configName) = "Non Image"; configName = "Files"; initData.Config[configName] = "---"; initData.config_desc(configName) = "The string used in the column for files which aren't images (can be blank)."; initData.config_groups(configName) = "Non Image"; var col = initData.AddColumn(); col.name = "MaxPrintSize"; col.method = "OnMaxPrintSize"; col.label = "Maximum Print Size"; col.autogroup = true; col.autorefresh = true; col.justify = "center"; col.match.push_back("Yes"); } function OnMaxPrintSize(scriptColData) { if (scriptColData.item.is_dir) { scriptColData.value = Script.Config["Directories"]; return; } if (scriptColData.item.metadata() == "image") { var prtMaxWidth = scriptColData.item.metadata.image_text.picwidth / Script.Config["DPI"] var prtMaxHeight = scriptColData.item.metadata.image_text.picheight / Script.Config["DPI"]; if (Script.Config["Centimetres"] == true) { prtMaxWidth = prtMaxWidth * 2.54; prtMaxHeight = prtMaxHeight * 2.54; } prtMaxWidth = prtMaxWidth.toFixed(2); prtMaxHeight = prtMaxHeight.toFixed(2); var strUnits = "cm"; var strDPI = " (" + Script.Config["DPI"] + "dpi)"; if (Script.Config["Show DPI"] == false) { var strDPI = ""; } if (Script.Config["Centimetres"] == false) { strUnits = "\""; } if (Script.Config["Show Units"] == false) { strUnits = ""; } scriptColData.value = prtMaxWidth + strUnits + " x " + prtMaxHeight + strUnits + strDPI; } else { scriptColData.value = Script.Config["Files"]; } }