Commit Graph

33 Commits

Author SHA1 Message Date
Allan Odgaard
8f5ddc672f Move bundles pop-up menu to BundleMenu library 2012-09-06 23:10:56 +02:00
Allan Odgaard
cf5e9f1530 Leave autoenablesItems at its default value 2012-09-06 23:10:56 +02:00
Allan Odgaard
f57d35362e Rename method: scope → scopeContext
This is to avoid a clash as there is also another method called scope (WebKit / DOM).
2012-09-06 23:10:56 +02:00
Allan Odgaard
73d586c2ba Use helper for bundle item’s key equivalent
This is to allow a bundle item to display another key than the one assigned to the item, e.g. when the bundle item is matched by a proxy item it should show that item’s key equivalent.
2012-09-06 23:10:56 +02:00
Allan Odgaard
81de007bd4 Use new API for better bundle item display names 2012-09-04 20:34:54 +02:00
Allan Odgaard
c61977ea57 Use outlet for bundles menu item
This way we don’t rely on the menu item title (which could be localized).
2012-09-04 19:22:52 +02:00
Allan Odgaard
049611064d Handle bundle item keys in OakMainMenu
This is an attempt of simplifying the arcane key equivalent handling.
2012-09-04 19:22:52 +02:00
Allan Odgaard
18175e455a Position filter lists relative to parent window
I am not sure if this is desired for the Go to Symbol as some people prefer to keep this open at all time.
2012-09-04 19:22:51 +02:00
Allan Odgaard
8b65acf393 Reverse menu search order
This is specifically to find the actions bound to modifier + [, {, }, and ] before finding the actions bound to modifier + numbers, since on some keyboards, modifier + number results in one of the brace characters.

This should address issue #374 (although this isn’t a fix per se for the underlying problem of having some key maps result in duplicate keys in the menus).
2012-09-03 22:00:23 +02:00
Allan Odgaard
b2bb89c150 Disable main menu’s key equivalent handling
This is done by overloading performKeyEquivalent: for the main menu (by setting it to OakMainMenu in MainMenu.xib).

The default implementation of performKeyEquivalent: does not know about scope selectors so it will sometimes call the wrong actions. For example a bundle overloading ⌘X for “-dyn.selection” may still see the item fire with a selection.

This wasn’t a problem previously, as we set the key equivalents via (deprecated) Carbon API (so presumably Cocoa didn’t know about the keys).

This is a preliminary implementation, I just want it out there to have it tested for edge-cases. Long-term we can probably remove the overload of performKeyEquivalent: on OakTextView, which sort of does similar (stops Cocoa from executing the wrong menu actions or interfering with multi-stroke key bindings).
2012-09-01 14:17:47 +02:00
Allan Odgaard
73ff758a52 Coerce keyFileCustomPath to UTF-8
The text encoding (or even field type) can be practically anything, so we need to either handle everything or coerce to UTF-8.

This is a quick fix for an issue with QuickCursor, a more thorough review of encoding used with AppleEvents is to follow.
2012-08-31 14:58:26 +02:00
Allan Odgaard
0e96a04d76 Remove compatibility checks
Since we now require 10.7 we don’t need all of this. Keeping it around is just noise that can lead to confusion about code paths.
2012-08-29 16:02:29 +02:00
Jacob Bandes-Storch
34d65bbb26 Use 64-bit: alignment pragma change 2012-08-28 21:32:46 +02:00
Jacob Bandes-Storch
9584afba16 Use 64-bit: replace SELNAME with sel_getName 2012-08-28 21:32:46 +02:00
Jacob Bandes-Storch
e3aa997b06 Use libc++: replace std::tr1 with std 2012-08-28 13:30:20 +02:00
Jacob Bandes-Storch
6aeb27f02f Use Cocoa instead of Carbon for popup menus 2012-08-27 01:03:16 +02:00
Jacob Bandes-Storch
1aec57762c Bring back the dock menu 2012-08-27 01:03:16 +02:00
Allan Odgaard
92b3c9e2c5 Remove hardcoded paths from settings_t
Mainly this is because when we run tests, we do not want global or default settings from TextMate, so now TextMate.app explicitly sets the path to the default and global settings (unlike when running tests).
2012-08-26 01:26:16 +02:00
Allan Odgaard
3415d775c5 Use symbolic name for FD_CLOEXEC
Unsure why I was using ‘1’ — perhaps the symbolic name was missing in the older SDK.
2012-08-24 16:52:45 +02:00
Allan Odgaard
d38308f6c8 Move ‘mate’ socket (back) to /tmp
We moved it to TMPDIR so that multiple instances of TextMate could run (for different users) but have since gotten a lot of reports about problems with this location. The short version is that ‘ls’ shows the socket exists (in TMPDIR), but stat’ing it or similar will fail.

To still allow different users to use mate side-by-side we add the user ID to the socket name.

Hopefully this closes issue #183.
2012-08-21 21:54:18 +02:00
Allan Odgaard
53bcc664b3 Update installed mate if required 2012-08-21 21:23:41 +02:00
Allan Odgaard
c7f267cd12 Show error if failing to unlink old socket
This is in response to issue #183.
2012-08-18 15:30:24 +02:00
Allan Odgaard
fee36aaec9 Favorites prefixed with ‘[DIR]’ show folders within
For example if you have all your projects under ~/Projects then you can do:

    mkdir -p ~/Library/Application\ Support/TextMate/Favorites
    cd ~/Library/Application\ Support/TextMate/Favorites
    ln -s ~/Projects "[DIR] My Projects"

This will then have all the folders inside ~/Projects show when you choose Open Favorites… (⇧⌘O).

Long-term it might be useful to store actual property lists in the favorites folder, akin to smart folders (i.e. describe a query for what to show) and/or allow descending into the folders shown in the ⇧⌘O window.
2012-08-18 15:30:23 +02:00
Allan Odgaard
d1a31f6bff Test if bind or listen fails
This is motivated by issue #165 where someone reports the named socket does not exist.
2012-08-15 20:48:36 +02:00
Allan Odgaard
ea88c5a713 Handle txmt: URLs without a file argument 2012-08-14 18:43:37 +02:00
Allan Odgaard
e5c2daa05a Revert "Use current document when no URL given in txmt URL"
Pending improved implementation which also handle the case where frontmost document is untitled.

This reverts commit 2beac7080b.
2012-08-14 18:43:37 +02:00
Allan Odgaard
6c35a3314a Fix leaking bundle menu delegates 2012-08-13 00:39:10 +02:00
Elia Schito
b0018c2099 Extract Bundle menu to a framework 2012-08-12 23:56:19 +02:00
jtbandes
0112532e64 Stop using deprecated NSSavePanel/NSOpenPanel methods 2012-08-12 12:59:43 +02:00
Allan Odgaard
5d0682d317 Use user-specific temp directory for mate’s socket
We have TextMate create a named socket that ‘mate’ can use to contact the main application. Previously it was hardcoded to ‘/tmp/avian.sock’ which is bad on a multi-user system.

Placing it in the user’s temporary directory should ensure it doesn’t clash, yet still give us a predictable path (for mate to use).

Presently we maintain the old socket path as a link to the new location so that old versions of mate will still work.
2012-08-11 21:01:40 +02:00
Gerd Knops
2beac7080b Use current document when no URL given in txmt URL
Brings TM2 in line with the promises in

	http://manual.macromates.com/en/using_textmate_from_terminal.html

Could probably be written nicer, I just don't get C++!
2012-08-10 19:17:35 +02:00
Gerd Knops
aa234b723d Opening txmt URLs with escaped spaces no longer fail
Example: previously it was not possible to open a URL like

	txmt://open?url=file:///Library/Keyboard%20Layouts/
2012-08-10 19:17:35 +02:00
Allan Odgaard
9894969e67 Initial commit 2012-08-09 16:25:56 +02:00