Monday, November 08, 2010 at 12:01 AM.
system.verbs.apps.FinderMenu.commands.findLockedFiles
local (confirmationdisabled = false); local (ctmatches = 0); <<number of locked files we found local (ctunlocked = 0); <<number of files we unlocked local (usercancelled = false); on unlockFolder (folder) { msg (file.fileFromPath (folder)); rollBeachball (); fileloop (f in folder) { if file.isFolder (f) { if not unlockFolder (f) { <<user cancelled return (false)}} else { if file.isLocked (f) { local (unlock = true); if confirmationdisabled { unlock = true} else { local (s, result); s = "The file “" + file.fileFromPath (f) + "” is locked."; s = s + " Would you like to unlock it?"; msg ("Option-yes disables confirmation dialog."); result = dialog.yesNoCancel (s); msg (""); case result { 1 { <<yes if kb.optionKey () { confirmationdisabled = true}; unlock = true}; 2 { <<no unlock = false}; 3 { <<cancel usercancelled = true; return (false)}}}; <<halt traversal ctmatches++; if unlock { ctunlocked++; file.unlock (f)}}}}; return (true)}; on visit (path) { local (folder = path); if not file.isFolder (path) { folder = file.folderFromPath (path)}; return (unlockFolder (folder))}; FinderMenu.visitPaths (@visit); msg (""); if not usercancelled { dialog.alert (ctmatches + " locked files found. " + ctunlocked + " were unlocked.")}; Finder.bringToFront ()
This listing is for code that runs in the OPML Editor environment. I created these listings because I wanted the search engines to index it, so that when I want to look up something in my codebase I don't have to use the much slower search functionality in my object database. Dave Winer.