// Command.Generic_ShowInfo ////////////////////////////////////////////////////////// // Called by Directory Opus to initialize the script function OnInit(initData) { initData.name = "Command.Generic_ShowInfo"; initData.desc = "Show Filename and Tags in a Popup Menu"; initData.copyright = "(c) 2014 Kundal"; initData.version = "1.1"; initData.default_enable = true; var cmd = initData.AddCommand(); cmd.name = "ShowInfo"; cmd.method = "OnShowInfo"; cmd.desc = "Show Filename and Tags in a Popup Menu"; } // Implement the ShowInfo command function OnShowInfo(clickData) { function PadSpaceRight(str, len) { str = str + ""; // Force to string. if (str.length < len) str = str + Array(len + 1 - str.length).join(" "); return str; } clickData.func.Command.RunCommand("Go Refresh") clickData.func.Command.RunCommand("Select FROMSCRIPT DESELECTNOMATCH MAKEVISIBLE") var item = clickData.func.sourcetab.selected_files(0); var tagString = DOpus.Create.Vector tagString.push_back("Name: " + item); tagString.push_back("-"); tagString.push_back("Tags:"); if (item.metadata == "none") { tagString.push_back(""); } else { tagString.push_back(""); var tagEnum = (new Enumerator(item.metadata.tags)) if (!tagEnum.item(0)) { tagString.push_back(""); } for ((tagEnum); !tagEnum.atEnd(); tagEnum.moveNext()) { tagString.push_back(tagEnum.item()); } } dlg = DOpus.Dlg; dlg.choices = tagString; dlg.menu = DOpus.Create.Vector(2,0); ret = dlg.Show; }