// Simple View // (c) 2020 Steve Banham scriptName = "Simple View"; scriptVersion = "1.1"; scriptDate = "12/5/2020"; scriptCopyright = "(c) 2020 Steve Banham"; scriptMinVersion = "12.20.3"; scriptDesc = "Simple image viewer."; var strName; var flgRotate = true; function OnInit(initData) { initData.name = scriptName; initData.version = scriptVersion; initData.copyright = scriptCopyright; initData.desc = scriptDesc; initData.default_enable = true; initData.min_version = scriptMinVersion; initData.config_desc = DOpus.Create.Map(); initData.config_groups = DOpus.Create.Map(); var configName = ""; configName = "no_rotate_image"; initData.Config[configName] = false; initData.config_desc(configName) = "If set to true, the viewer will no longer use rotation metadata to display images."; configName = "remember_position"; initData.Config[configName] = true; initData.config_desc(configName) = "The dialog remembers it's last size and position."; var cmd = initData.AddCommand(); cmd.name = "SimpleView"; cmd.method = "onSimpleView"; cmd.desc = scriptDesc; cmd.label = "SimpleView"; } function onSimpleView(scriptCmdData) { var srcTab = scriptCmdData.func.sourcetab; if (srcTab.stats.selfiles == 0) { DOpus.Output("No files selected.",false,true); return; } if (srcTab.selected_files(0).metadata != "image") { DOpus.Output("Not an image file.",false,true); return; } if (Script.Config["no_rotate_image"] == true) { flgRotate = false; } else flgRotate = true; strName = srcTab.selected_files(0).name; var dlg = DOpus.Dlg; dlg.title = scriptName + " " + scriptVersion + " - Directory Opus"; dlg.template = "dlgSimpleView"; if (Script.Config["remember_position"] == true) { dlg.LoadPosition("Steve_SimpleView"); } dlg.detach = true; dlg.Create(); dlg.WatchTab(srcTab, "select,srcdst"); if (flgRotate == true) { dlg.Control("staticImage").rotate = 360 - srcTab.selected_files(0).metadata.image.rotation; } dlg.Control("staticImage").label = srcTab.selected_files(0).path + "\\" + srcTab.selected_files(0).name; dlg.Show(); while (true) { var msg = dlg.GetMsg(); if (!msg.result) break; if (msg.event == "tab") { if (msg.value == "srcdst") { var srcTab = DOpus.listers.lastactive.activetab; srcTab.Update(); dlg.WatchTab(srcTab, "select,srcdst"); } if (msg.value == "select") { srcTab.Update(); if (srcTab.stats.selitems != 0 && srcTab.source == true) { if (srcTab.selected(0).is_dir == true) { dlg.Control("staticImage").label = ""; strName = srcTab.selected(0).name; } else { if (srcTab.selected_files(0).metadata == "image" && strName != srcTab.selected_files(0).name) { dlg.Control("staticImage").label = ""; if (flgRotate == true) { dlg.Control("staticImage").rotate = 360 - srcTab.selected_files(0).metadata.image.rotation; } dlg.Control("staticImage").label = srcTab.selected_files(0).path + "\\" + srcTab.selected_files(0).name; strName = srcTab.selected_files(0).name; } if (srcTab.selected_files(0).metadata != "image" && strName != srcTab.selected_files(0).name) { dlg.Control("staticImage").label = ""; strName = srcTab.selected_files(0).name; } } } } } } if (Script.Config["remember_position"] == true) { dlg.SavePosition("Steve_SimpleView"); } } function OnAboutScript(aboutData){ dlg = DOpus.Dlg; dlg.window = aboutData.window; dlg.title = scriptName + scriptVersion + " - Directory Opus"; dlg.message = scriptName + " v" + scriptVersion + "\t\t\t\t" + scriptDate + "\n\n" + scriptDesc + "\n\n" + scriptCopyright; dlg.buttons = "Close"; dlg.icon = "info"; dlg.show; } ==SCRIPT RESOURCES