quicksilver/Quicksilver — pull request #1492 by pjrobertson (2013-05-10 01:17:19+00:00)
Title: Uti switch

Here I've attempted to switch to using only UTIs for object types, which means we can use all the fun things like UTI conformance, means devs will rearly need to implement `validActionsForDirectObject...` since you can now just define say `public.image` to specify *all* images, or `qs.process` or whatever

Things to note:

* `directFileTypes` is now gone. You just stick your file types directly in the `directTypes` bit.
* I've written code to transform current 'old style' pasteboard types (e.g. `NSStringPboardType`) to UTIs, so most plugins should still just work (most!)
* These changes are backwards incompatible with the cache. It needs to be cleared if you go back/forward a version. Reasonable I think
* We must update plugins in the following ways:
** Remove un-needed references to pboard types like `NSFilenamesPboardTypes` and remove directFileTypes
** Update OpenMeta plugin to remove QSTypeDefinition. I don't know why, but it defines a type for just files :/ Maybe since tags only work with files and not
** Add UTI definitions to Info.plists. I.e. define our own UTIs and the conformance - qs.process, qs.itunes.track etc. etc. See [here](https://developer.apple.com/library/mac/#documentation/FileManagement/Conceptual/understanding_utis/understand_utis_intro/understand_utis_intro.html). I'm not sure if we can define UTIs in plugin's info.plists
** Make sure QSTypeDefinitions in the plist is updated correctly

If there are any actions you see are missing, they're probably because a plugin hasn't been updated