Rework how we forward (movement) events to table view
Move table view movement helper to OakAppKit
Override doCommandBySelector: to avoid beep from super
Remove unused ‘sender’ parameter
Set NSLineBreakByTruncatingMiddle for bundle item cell

This is relevant when there is no filter string, as we then show a regular NSString which does not have an associated line break mode (unlike a string with marked up ranges).
Include menu items in bundle item chooser
Change format of menu items in bundle item chooser

Changed from “submenu » item — Main Menu” to “item — Main Menu » submenu”.
Table cell: Use highlight color for key equivalent / tab trigger

Previously we would use highlight color if the table view was first responder. Now we use the highlight color if the cell’s background is set to NSBackgroundStyleDark, which then works when we use the cell in a table view which “shares focus” with a text or key equivalent field.
Use menu item as sender when triggering its action

This is required so that the receiver can ask the menu item (sender) for its tag value.
Learn abbreviations for menu items (in addition to bundle items)

Since the menu item’s title can change (e.g. Word or Selection) and multiple menu items can have the same title (e.g. Tab Size » 4, Toggle Foldings at Level » 4) we store the menu item’s action + tag for the abbreviation.
Don’t search for crash reports generated on 10.6 or lower
Setup bundle item chooser actions before causing content reload

Triggering a content reload will update the ‘enabled’ state of our buttons. These will be disabled if we have no actions set.

Of course the API should be so that the ‘enabled’ state is also updated when setting the actions, but I am being lazy here.
Bundle item chooser: Disable ‘Edit’ button for menu items
Set content hugging priority to high for our buttons

None of our layouts rely on the buttons not hugging their content, so we set the hugging priority so that we do not have to worry about wether or not the constraints capture this requirement.

Curiously, if only the hugging priority is set (to high) for the horizontal orientation then the find dialog can end up with an undesired layout, although all constraints are met.
Add status bar to bundle item chooser

This shows the semantic class or scope selector, when we are filtering on that field. Filtering on other fields results in an empty status bar.
Fix placement of bundle item chooser when there is no window
Our grow calculation would fail to grow when given a size of one
Use proper deallocator for SecKeychainItemCopyAttributesAndData

This was found using clang's static analyzer.
Opening bundle item chooser will reset selection to first row
Opening folder after session restore would not see it as open

When opening a folder we test against the ‘projectPath’ property (on already open window controllers), but this is not setup until we have an open document, and documents are opened using a background queue, so code running in the same event loop cycle as the session restore, will not get the proper value for this property.

The problem this fixes is: open /path/to/foo and quit TextMate. Now drag /path/to/foo to TextMate’s app icon. TextMate would first restore session (which includes /path/to/foo) and then open /path/to/foo (not seeing the restored folder as being /path/to/foo due to the uninitialized ‘projectPath’ property).