Commit Graph

193 Commits

Author SHA1 Message Date
Allan Odgaard
75adb03039 Checkin release notes 2013-02-06 16:48:18 +01:00
Allan Odgaard
c351b89324 Checkin release notes 2013-02-05 21:06:15 +01:00
Allan Odgaard
3ec573931d Checkin release notes 2013-02-05 09:02:04 +01:00
Allan Odgaard
606a0e484e Checkin release notes 2013-02-04 19:38:32 +01:00
Allan Odgaard
b6ba88cda5 Rework about window
We now perform the content hash (to see if release notes have changed) on a background thread.
2013-02-03 10:48:46 +01:00
Allan Odgaard
216bcb61ac mate: don’t disable untitled document when called w/o files 2013-02-03 10:48:44 +01:00
Allan Odgaard
84587dccc9 mate: disable untitled document via user defaults
This is instead of setting an environment variable. Since there already is a user defaults setting for whether or not we want an untitled document created at startup, it seems nicer to have mate set that, instead of effectively introducing an alias for the setting.
2013-02-03 10:48:43 +01:00
Allan Odgaard
d5b3b07f32 Disable SCM status when app is inactive 2013-02-03 10:48:41 +01:00
Allan Odgaard
2bfe82fae4 Remove the AppStartup delegate
This temporary delegate was primarily used to ensure no message “slipped through” back when a license key was mandatory to run the alpha.
2013-02-03 10:48:40 +01:00
Allan Odgaard
32fcb52c68 Workaround for clang linker warning
Using instances with static storage in Objective-C files result in the following warning (starting with clang 425.0.24):

ld: warning: direct access in […] to global weak symbol […] means the weak symbol cannot be overridden at runtime. This was likely caused by different translation units being compiled with different visibility settings.
2013-02-02 08:52:12 +01:00
Allan Odgaard
45a126e5ff Improve page/tab support in about window
Selecting already selected page no longer reloads the HTML.

In addition to ⌘1-n for the n’th page, you can now also use ⌘{ and ⌘} to move between pages.
2013-02-02 08:50:35 +01:00
Allan Odgaard
3e7c569872 Checkin release notes 2013-01-30 19:40:23 +01:00
Allan Odgaard
58cfbcf572 Checkin release notes 2013-01-29 21:16:49 +01:00
Allan Odgaard
3cd2dd0d2d Add Navigate → Move Focus menu item
This has ⌥⌘⇥ as shortcut so should make it easier moving to file browser and back.
2013-01-28 12:42:27 +01:00
Allan Odgaard
b78cf9035a Add xib and xsd as XML document types
The former is mainly to allow using Open With from inside TextMate (to force open the document with TextMate), as you likely have Xcode setup as the default app to handle xib files.
2013-01-25 13:15:36 +01:00
Allan Odgaard
4beb62f2dc Checkin release notes 2013-01-23 18:56:33 +01:00
Allan Odgaard
f0f64ccde4 Change some default settings
- File browser placed on right.
- HTML output placed in new window.
- Theme set to Twilight.
2013-01-23 18:56:32 +01:00
Allan Odgaard
6cbf3e5071 Use ns::create_event_string 2013-01-23 12:36:47 +01:00
Allan Odgaard
4b0a9a08c7 Change our main menu keyhandling ≠overload
We manually handle the Bundles menu (like before) and now use performActionForItemAtIndex: to make the menu flash (although presently only for the default items).

For the other menus we now call super and let that handle it. This means it might go into the Bundles menu, even though or menu delegate (for that menu) will say there are no key equivalents. This is only a problem for keys which do match items, but where all the items it matches are not supposed to fire.
2013-01-22 19:23:16 +01:00
Allan Odgaard
645f8d91e1 Let OS handle keys for Go to Tab submenu
My memory is a little vague here, but I believe the point of handling the menu keys was to workaround a bug in NSMenu.

The bug was that NSMenu would look at (the target of) cached menu items, probably for UI validation, so potentially sending methods to unretained objects, which could lead to a crash. Several workarounds were attempted (like clearing the target property after the menu had been displayed) but the only effective one was overloading key handling.

I’m quite sure though that this bug is no longer relevant.
2013-01-22 11:00:27 +01:00
Allan Odgaard
306ea6bbb4 Checkin release notes 2013-01-21 15:03:53 +01:00
Allan Odgaard
3a515f1551 Checkin release notes 2013-01-17 10:06:30 +01:00
Allan Odgaard
de79c30f69 Checkin release notes 2013-01-13 11:56:08 +01:00
Allan Odgaard
d861ae238e Let the pretty_plist CLI tool accept file name
Previously it only supported stdin meaning it couldn’t be used with find, xargs, and similar.
2013-01-13 11:56:06 +01:00
Allan Odgaard
fae30ed6e8 Use wrapper for getpwuid() to avoid crash
Based on crash logs this problem still exists on 10.8.2 <rdar://10261043>.
2013-01-10 23:48:46 +01:00
Allan Odgaard
6c6332ac78 Checkin release notes 2013-01-10 21:08:55 +01:00
Allan Odgaard
bccaee4be6 Simplify document open API
Removed the ability to specify wether documents should open in current window or a new window — all documents opened via this API will go through the same algorithm to find where the documents should end up (more choice is just adding confusion and complexity).
2013-01-10 06:46:44 +01:00
Allan Odgaard
d8cc115a5e Ensure we have a document in showWindow:
Also move (back) to using DocumentController instead of document::show().
2013-01-10 06:46:44 +01:00
Allan Odgaard
7b6515169f Remove unnecessary stuff
This includes the OakFilterWindow factory method as ‘new’ is just as good (now that ARC automatically autoreleases).
2013-01-10 06:46:44 +01:00
Allan Odgaard
211acb8a84 Use proper (specialized) type instead of ‘id’ 2013-01-10 06:46:43 +01:00
Allan Odgaard
531e8a44f1 Handle app termination in class method
It didn’t really make sense as an instance method since it iterate all instances, and we also want to execute code incase of no instances (save that fact as session data).
2013-01-10 06:46:43 +01:00
Allan Odgaard
a7a633f993 Remove procedural API for load/save of session
Since everything about session is now contained in the DocumentController class there is no need for invoking this from elsewhere and thus no need for the previous indirection.
2013-01-10 06:46:43 +01:00
Allan Odgaard
738456dbc7 Only let DocumentController schedule session saves 2013-01-10 06:40:03 +01:00
Allan Odgaard
c9f31cac71 Remove tmCommand load/save converters 2013-01-10 06:40:03 +01:00
Allan Odgaard
7328f0fd6a Checkin release notes 2013-01-10 06:40:03 +01:00
Allan Odgaard
8582b807a2 Improve support for percent escaped url parameters (txmt://)
Previously we would let NSURL parse the parameter and ask for the path component. This however does not support tilde as shorthand for the user’s home directory, and certainly not with TextMate 1.x’s questionable syntax (using ‘file://~/«file»’ instead of ‘file://localhost/~/«file»’ or possibly ‘file:///~/«file»’ although this one seems a little wrong).

As for percent escapes, the issue here is that if the URL parameter escapes slashes or colons, not decoding the URL parameter before creating an NSURL instance will fail (as the URL is malformed). If however we do decode percent escapes and the URL parameter contains spaces, then NSURL will also fail, as a URL with spaces is malformed.

So I ended up bypassing NSURL and check for a few variants of a ‘file://’ prefix (which is also what TextMate 1.x did).

This closes issue #602.
2013-01-09 00:28:17 +01:00
Allan Odgaard
58fed7a8c4 Let window title include project folder name
This is only if the project directory is actually set at the time the default properties are expanded, so presently this has no effect (but will when TextMate sets a default value for the projectDirectory variable).
2013-01-08 22:48:09 +01:00
Allan Odgaard
2f2cce3f3e Add ‘uuid’ to txmt URL scheme
This can be used to link to the “current document” even if that document has no path. Previously this was done by leaving out the ‘url’ parameter, which made it target the frontmost document — using ‘uuid’ is a more robust way to achieve the same.

A command can read the TM_DOCUMENT_UUID environment variable for the current document’s identifier.
2013-01-08 22:48:08 +01:00
Allan Odgaard
d4f664d4c8 Use factory method for DocumentController objects
We regularly iterate through all open windows and test if these are document controller windows. It will be easier to let the document controller class (or application delegate) manage a list of open document windows, as we anyway need some sort of owner with ARC (currently the instances own themselves and give up ownership in windowWillClose: which cause them to be released).
2013-01-08 22:48:07 +01:00
Allan Odgaard
72c15833c5 Checkin release notes 2013-01-03 21:26:04 +01:00
Allan Odgaard
ecc25b38d4 Improve handling of session state
We now remember values like file browser history even if the file browser is not shown while saving session state (but has previously been, or state was provided during setup). We also use the file browser and HTML output sizes stored in the session info (previously we only used values from NSUserDefaults).
2013-01-03 05:47:42 +01:00
Allan Odgaard
37c2412e25 Remove Edit → Mode submenu
The menu item within is not hooked up to anything (as mentioned in issue #650) and as my idea for finishing the indent settings UI does not involve this menu item, I am removing it to avoid further confusion.
2013-01-03 01:16:54 +01:00
Allan Odgaard
1aaab0c192 Happy new year 2013! 2013-01-02 01:46:48 +01:00
Allan Odgaard
9c35f445de Convert strings files to UTF-8 2013-01-02 01:46:48 +01:00
Allan Odgaard
47fa0f040c Use Objective-C literals for YES/NO 2013-01-02 01:46:48 +01:00
Allan Odgaard
8bcf126aba Minor refactoring 2013-01-02 01:46:47 +01:00
Allan Odgaard
012db690f5 Assign ⇧⌘P to Go → Project Folder
This key was previously assigned to File → Page Setup but as we currently don’t support that, and it is likely not going to see that big a use (when implemented) I think we can live without a key equivalent for that menu action.

Closes issue #525.
2013-01-02 01:46:47 +01:00
Allan Odgaard
c273b3d4fe Set Find and Go to Line dialogs to “join active space”
If user opens the dialog on one space, moves to another space (with a TextMate window) and then re-activate the (already open) dialog, it would previously switch back to the space containing the dialog, whereas with the changed setting, it now moves the dialog to the active space.

This should address issue #599.
2012-12-30 04:35:47 +01:00
Allan Odgaard
75be06e850 Offer double-click install of plug-ins
If the plug-in doesn’t set TMPlugInAPIVersion to 2 (in its Info.plist) a dialog will show, telling the user that the plug-in is not compatible with the current version of TextMate (which is most likely correct).

You can hold down option (⌥) to open the plug-in as a regular folder.

Addresses issue #392.
2012-12-30 03:40:54 +01:00
Allan Odgaard
6a79b5f432 Add preliminary bundle install support 2012-12-30 03:40:54 +01:00