Commit Graph

139 Commits

Author SHA1 Message Date
Allan Odgaard
888ccbed16 Remove use of NSPointToCGPoint
This is not required when building in 64 bit mode or when defining NS_BUILD_32_LIKE_64.
2013-11-18 22:43:50 +07:00
Allan Odgaard
f515d92bb4 Rescan favorites folder when re-opening favorites chooser
Previously we only scanned the folder when creating the favorites chooser singleton which meant items added or removed after the chooser had been used, were not reflected before a relaunch.

Fixes #1182
2013-11-09 19:27:24 +07:00
Allan Odgaard
0976c048b3 Add learning to Open Favorite 2013-10-28 23:04:32 +01:00
Allan Odgaard
d70f4ad3c0 Update Open Favorite to use OakChooser 2013-10-28 23:03:24 +01:00
Allan Odgaard
c5558d0574 Remove a few std::shared_ptr typedefs 2013-10-04 16:51:26 +02:00
Allan Odgaard
76dc76b57a Fix typo in debug output 2013-09-22 12:55:42 +02:00
Allan Odgaard
3f055aa318 Clear all web view delegates during dealloc 2013-09-12 23:46:04 +02:00
Allan Odgaard
1c308c810d Use map::emplace instead of inserting std::pair (C++11) 2013-09-05 20:59:11 +02:00
Allan Odgaard
e4e80a946c Use std::make_shared 2013-09-03 12:27:20 +02:00
Allan Odgaard
bd2f7aa44e Decode plus characters in txmt URLs
This is done by using decode::url_part instead of stringByReplacingPercentEscapesUsingEncoding:
2013-08-29 13:27:26 +02:00
Allan Odgaard
8feaba809e Include unhandled C++ exceptions in crash report 2013-08-28 15:27:42 +02:00
Allan Odgaard
de03c27a63 Update network::tbz_t API
The main issue with the old API was inability to capture error output from the tar process.
2013-08-25 21:13:06 +02:00
Allan Odgaard
d2305654ac Make redirect of stderr opt-in 2013-08-25 21:13:06 +02:00
Allan Odgaard
a52165694c Move crash reporter info support to own framework
This is to avoid cyclic dependencies since it was previously in a somewhat high-level framework, so everything that framework depended on, could not augment crash reports.
2013-08-12 19:32:23 +02:00
Allan Odgaard
a7771287ef Listen on IPv6 interface instead of only IPv4 (rmate)
Fixes textmate/rmate#19
2013-07-31 15:03:19 +02:00
Allan Odgaard
83946bd3cf Treat relative txmt: URLs as relative to home folder
This is supported to be compatible with TextMate 1.x.

Fixes #1047.
2013-07-22 11:01:27 +02:00
Allan Odgaard
9b325e54d1 Setup margins based on paper size before printing
Also show paper size/type popup and scale factor in print dialog.
2013-06-27 23:26:11 +02:00
Allan Odgaard
e28b346d70 Bind Page Setup… to our application controller
For unknown reasons, the NSApplication object will not respond to this method, even though it should implement it.
2013-06-27 23:24:23 +02:00
Allan Odgaard
d1d63308b6 Limit printing to web views and use sheet for dialog
File → Print… (⌘P) now sends the “printDocument:” action method (instead of “print:”).

Rather than implement “printDocument:” for the various HTML windows (command output, about window) we provide a general implementation in the application delegate that checks if there is a WebDocumentView conforming view in the responder chain.
2013-06-26 12:13:19 +02:00
Allan Odgaard
eae48c1a66 Add OS and program version to s/w update URL
The server previously grabbed this from the user agent string but this is more fragile and doesn’t work with caching.
2013-06-23 22:53:21 +07:00
Allan Odgaard
6ec5bf2697 Set ⌥ as modifier for Edit → Select → Toggle Column Selection 2013-06-23 11:23:42 +07:00
Allan Odgaard
b9076acdaf Remove leading/trailing whitespace from license owner name 2013-06-22 21:02:45 +07:00
Allan Odgaard
10c212cbd6 Improve error dialog when failing to add license 2013-06-22 21:02:45 +07:00
Allan Odgaard
7060e4e358 Allow user to “add license” in About → Registration 2013-06-18 15:10:57 +07:00
Allan Odgaard
c3f79e2e05 Improve code to find license key 2013-06-18 13:43:18 +07:00
Zete Lui
63b86c5221 Enable "Inspect Element" in web preview 2013-06-15 16:13:22 +07:00
Allan Odgaard
12b26a5810 Update text in “TextMate is outdated” dialog
Several users confused this with TextMate expiring because of a missing license key.
2013-06-15 16:13:22 +07:00
Allan Odgaard
2568503056 Fix executing bundle items via UI for non-main window
This affected executing bundle items via the Bundles menu (including the Select Bundle Item… dialog) in the text view used in the bundle editor.
2013-05-26 15:15:51 +08:00
Allan Odgaard
126ff16b58 Increase TextMate’s lifetime
We now warn 45 days after the compilation date and refuse to work 90 days after the compile date.
2013-05-17 16:18:22 +07:00
Allan Odgaard
ce4ae62547 Change ‘variables_for_path’ API
We now accept the a directory in addition to the path. If a directory is provided, the path is only used to filter variables rooted at the directory.
2013-05-12 11:09:18 +07:00
Allan Odgaard
8b3f05485d Change argument ordering for ‘scope_variables’
Generally we should always provide a base environment, since the scoped variables are format strings. The filtering scope selector is however optional, and we do not have one when executing commands outside an fi;e/editor context.
2013-05-12 11:09:17 +07:00
Allan Odgaard
02f688a525 Explicit variable setup for app controller commands 2013-05-12 11:09:17 +07:00
Allan Odgaard
f68a1cd280 Fix non-working link arrows in bundle item chooser
Since we released sender (via aliased pointer) before querying it, we would fail to obtain the item clicked.
2013-05-02 16:38:56 +07:00
Allan Odgaard
acaff3e352 Add expiration date to TextMate
The user will get daily reminders when the application is more than a month old, and it will stop working when it’s two months old.

Normally not a fan of expiring software but a significant amount of the requests sent to api.textmate.org (posting crash reports, updating bundles) are from versions more than a month old. Adding to that, the expiration date serves as a fallback for potentially broken software update checking.
2013-04-28 11:46:35 +07:00
Allan Odgaard
d45adf2fed Ask for confirmation to skip session restore
Sometimes shift is held down while TextMate is being launched for other reasons than to skip session restore, so to be safe, we are now asking the user to confirm their intent.
2013-04-10 10:13:01 +07:00
Allan Odgaard
bffa2eef10 Move bundle installing to BundlesManager 2013-03-26 16:00:53 +01:00
Allan Odgaard
099f7c60ea Improve bundles index code
By making it part of the BundlesManager singleton we can work with the event loop to coalesce reloads and delay saving the index.
2013-03-25 22:56:49 +01:00
Allan Odgaard
d1a6c854a1 Add API to control bundle auto-updating 2013-03-25 13:04:40 +01:00
Allan Odgaard
37590bd3fd Switch to new bundle loading code 2013-03-25 12:48:39 +01:00
Allan Odgaard
f7ad857385 Show current selection string in Go to Line dialog 2013-03-25 10:25:59 +01:00
Allan Odgaard
2c85ef9ac2 Move crash reporter info to utility.h 2013-03-20 11:30:40 +01:00
Allan Odgaard
74f22623e9 Don’t disable NSQuitAlwaysKeepsWindows
This was disabled in an attempt of avoiding the “do you want to open saved documents from last session?” which appear after a crash.

It doesn’t seem to have any effect though, so just noise in the code.
2013-03-19 15:51:08 +01:00
Allan Odgaard
769831f629 Use Objective-C literals 2013-03-19 15:49:18 +01:00
Allan Odgaard
3a75199e9d Use menu validation to update bundle menu item titles
This means we don’t need to know if there is a selection when creating the menu items and long-term it’ll be easier to introduce more complex updating, e.g. make the title a format string to allow referencing TM_DISPLAYNAME or disable the menu item if its requirements cannot be met.
2013-03-16 17:49:48 +01:00
Allan Odgaard
976dab5065 Only show bundle updates for this and last year
This makes the list appear noticeable faster. The dates are presently hardcoded to 2012 and 2013.
2013-03-16 17:49:48 +01:00
Allan Odgaard
38992fadef Simplify NSMenu subclass
Now that the bundle menu doesn’t register any key equivalents, there is no need to manually go through all but the bundle menu to avoid having the system trigger bundle menu items.
2013-03-14 10:14:46 +01:00
Allan Odgaard
db5df4a58c Update Find window API 2013-03-13 12:37:22 +01:00
Allan Odgaard
13edc6d131 Use O_CLOEXEC when opening files
This avoids leaking file descriptors into child processes, which would otherwise happen if another thread forks while the file descriptor is open.
2013-03-10 16:07:10 +01:00
Allan Odgaard
4a24d0ad58 Rework find dialog (part one)
This is work in progress but I don’t think any functionality is missing compared to previous commit, although some functionality might be less polished, e.g. the action buttons don’t properly enable/disable and the height of the results list gets lost when hiding it.

Some of the stuff that has changed / improved:

 * The find/replace text fields adjust their height to encompass the content (closes #94). Presently though the initial height of the ontrols is one line regardless of content (but they should adjust on first edit).
 * You can use Save All (⌥⌘S) to save affected files after Replace All (closes #558).
 * The key equivalents / actions available in the Find dialog is now easier to find via the action pop-up, which also has enables accessibility.
 * Using Next (⌘G) or Previous (⇧⌘G) with search results will move selection up/down.
 * Using Find All with ‘in’ set to ‘Selection’ will find and select all matches in the current document, which fixes #425, though it might be more desirable to show the results in the find dialog (like Find All does for a document or folder).
2013-03-07 10:50:19 +01:00
Allan Odgaard
6042bc86d6 Log current key event in diagnostic reports
When a C++ exception is thrown from code invoked via a menu item then the menu item dispatcher will catch the exception and abort, this means the report doesn’t show the actual exception or contain any of the involved code.

By logging the key event in the report we should be able to deduce what action was invoked.

Adding info to diagnostic reports “documentation” from http://mjtsai.com/blog/2013/02/27/application-specific-crash-report-information/
2013-03-01 16:41:01 +01:00