Commit Graph

1199 Commits

Author SHA1 Message Date
Allan Odgaard
931b56f45c Fix crash related to updating bundles
Since we get the failed sources by a const reference it is only live during the scope of the caller, and our use of blocks makes that scope shorter than the called block’s full scope.
2013-04-10 18:12:49 +07:00
Allan Odgaard
773891cd47 Introduce global setting to disable typing pairs
This is presently only settable via the ‘disableTypingPairs’ user defaults key:

    defaults write com.macromates.TextMate.preview disableTypingPairs -bool YES

Closes #609.
2013-04-10 10:13:01 +07:00
Allan Odgaard
7f933bfc57 Disable auto-pairing when recording macros
Since auto-pairing can be adjusted via user customization we disable it for both macro recording and replay. Old macros will need to be updated (but this was already the case, as 2.0 never did pairing as part of replay).

A better solution is to record each implicit action of the auto-pairing in the macro. This can however be added later without breaking existing macros, as the macro player will remain the same.

Closes #130.
2013-04-10 10:13:01 +07:00
Allan Odgaard
253ba83ed2 Don’t suppress file browser updates when showing field editor
Reload was suppressed because there is no good way to reload a table view when the field editor contains uncommitted changes. I decided it’s probably better to lose these changes than show stale content, as for example the change might remove the item being edited, as would be the case when undoing New Document or New Folder.

Closes #886.
2013-04-10 10:13:01 +07:00
Allan Odgaard
ee4f7a48a2 Make s/w update status text resizable 2013-04-09 15:39:38 +07:00
Allan Odgaard
0111e6d089 Rework bundle update scheduling
We now store the time of last check in user defaults instead of via extended attributes on the source(s) and do a check every third hour, except of errors, where we retry after 30 minutes.

We now also check for bundle updates even if the sources hasn’t been updated. This is incase we previously updated a source but failed to then update bundles, these will now be updated when we retry, rather than next time the source index has updates.

Overall the code should be simpler and thus more robust. The text in the Bundles preferences page has also been improved slightly in that it will now tell the user if there was a problem updating the bundles, although for the specifics, the user will need to grab the log.
2013-04-09 15:39:38 +07:00
Allan Odgaard
04963caf01 Remove use of deprecated method 2013-04-09 15:39:38 +07:00
Allan Odgaard
58b101a7db Improve error log message for duplicate UUID
We now output the path of the item which use the same UUID.
2013-04-09 15:39:38 +07:00
Dirk Geurs
a2128f11cd Setup document scope attr.project.lein for Leiningen projects
Leiningen is a build automation and dependency management tool mainly used for Clojure projects.

https://github.com/technomancy/leiningen
2013-04-03 23:07:30 +07:00
Allan Odgaard
0bf02dbeff Move divider line functions to OakUIConstructionFunctions.h 2013-04-02 04:11:32 +07:00
Allan Odgaard
d72baacff4 Move divider image creation to OakUIConstructionFunctions.h 2013-04-02 04:11:32 +07:00
Allan Odgaard
a76e1f19fb Rename local OakCreatePopUpButton functions
This is to avoid clashing with the public helper function.
2013-04-02 03:59:28 +07:00
Allan Odgaard
9b94a279ac Setup document scopes for initial untitled document 2013-04-01 13:22:41 +07:00
Allan Odgaard
ea206ed269 Setup attr.os-version as part of document scopes
While not exactly a document scope, the advantage is that document scopes are always set, where project scopes are only setup for “projects”.
2013-04-01 13:22:41 +07:00
Allan Odgaard
9a7b440c5a Fix off-by-one when validating folding ranges
Closes #927.
2013-04-01 13:22:41 +07:00
Boris Dušek
95ce9d5197 Post AXValueChanged when changing selected tab
If this is on, then VoiceOver reads the name of the new tab being
switched to, enabling easier navigation between open tabs.
2013-04-01 13:22:41 +07:00
Boris Dušek
65ae6a22b4 Improve accessibility of file browser items
Make available to accessibility the following information that file
browser displays visual indication for:

* file type (whether the file is a file, folder etc.)
* SCM status (whether the file is modified etc.)
* close button (whether the file is open)

Also, while we are at it,  make available to accessibility the
tooltip, filename and URL.
2013-04-01 13:22:41 +07:00
Boris Dušek
5842733e6d Make scope bar buttons AXCheckbox'es for accessibility
This notifies the user the choice is exclusive to only one
button. Also including these buttons in an AXRadioGroup adds
positional indication to the radio buttons (like "2 of 3")
which gives sense of how many values there are to choose from,
where in the list of those the user currently is, and, if there
are more sequential AXRadioGroups (which is not the case here),
it distinguishes in which one the user is making a choice.
2013-04-01 13:22:41 +07:00
Allan Odgaard
b8c81b4acf Fix software updater to not skip checking
Initially ‘downloadWindow’ was a property that was nil until we showed the download window, but now that the download window is re-used for downloading newer versions (incase a newer version appear before user does the “Install & Relaunch”) the fetching the property will return the window (and create it if not already created).
2013-03-28 22:01:40 +01:00
Allan Odgaard
1aedd95ef5 Find dialog actions are now recorded (for replay)
Presently though replaying “Replace and Find” is not implemented.
2013-03-27 17:19:10 +01:00
Allan Odgaard
b280e776b3 Make OakFindServerProtocol conform to NSObject 2013-03-27 17:06:27 +01:00
Allan Odgaard
b0726652db Record find actions via primary selector
Still lack recording for Find dialog actions.
2013-03-27 16:27:54 +01:00
Allan Odgaard
26d3029ba0 Treat bundle items without path as modified
This allows us to create an in-memory bundle item, reveal in bundle editor, and have the bundle editor warn if the user doesn’t save.
2013-03-27 14:32:26 +01:00
Allan Odgaard
3dc05d9fc9 Implement Save Macro functionality
Closes #459.
2013-03-27 14:32:22 +01:00
Allan Odgaard
8358ffb578 Add “find bundle for new items” API
We need this when installing standalone bundle items, saving macros, and when creating items in the bundle editor without a bundle selected.

The user experience of this code is however rather poor in that you can’t actually crete new bundles, the dialog text is not specific, and the logic for what bundle to preselect can be improved (prefer previously created bundle falling back on a local bundle, if any).
2013-03-27 14:15:54 +01:00
Allan Odgaard
8888865f2c Use initializer list constructor for std::map (C++11) 2013-03-27 13:41:07 +01:00
Allan Odgaard
17bdfd0ad7 Revert "Space can be used instead of slash in file chooser (⌘T)"
Several people dislike the change (see issue #893) and the commit didn’t introduce new functionality per se: full path searching is still available when explicitly typing a slash.

This reverts commit 619c19e8ed.
2013-03-27 11:36:12 +01:00
Allan Odgaard
9af77ef3ab Wrong path was rescanned when changing bundles 2013-03-26 21:18:18 +01:00
Allan Odgaard
d54bf55dc0 Don’t show “pop-out” animation for empty rects
Fixes #833.
2013-03-26 17:54:59 +01:00
Allan Odgaard
4937b51d02 Show warning when undo deletes non-empty folder
Closes issue #782.
2013-03-26 17:41:51 +01:00
Allan Odgaard
9c37d61737 Show alert for unimplemented functionality 2013-03-26 16:21:52 +01:00
Allan Odgaard
c1b8cc5454 Force index rescan after bundle (item) install 2013-03-26 16:11:20 +01:00
Allan Odgaard
bffa2eef10 Move bundle installing to BundlesManager 2013-03-26 16:00:53 +01:00
Allan Odgaard
15a5527986 Reset find dialog state when re-opening it
Previously doing a Find All in Document would stay with Find All as the default button, even if closed and re-opened.

We also clear the status text, this isn’t always desirable, but I find it more weird when the dialog shows an outdated status message.
2013-03-26 14:02:40 +01:00
Allan Odgaard
40a9cb4e40 Limit height of Find dialog text fields
These would previously always be the height of the content, now they are limited to roughly 13 lines (225 “pixels”).
2013-03-26 13:51:41 +01:00
Allan Odgaard
7b115dc212 Always show tool tip when command fails 2013-03-26 13:46:36 +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
ac23c9538e Bind to updated BundlesManager binding properties 2013-03-25 20:31:48 +01:00
Allan Odgaard
5d8f4998fd Update BundlesManager binding properties 2013-03-25 19:46:28 +01:00
Allan Odgaard
97eec0dc9a Force bundle reindex after install
Fixes #85.
2013-03-25 17:57:40 +01:00
Allan Odgaard
2969af3cbd Provisional API for forcing reload of bundles 2013-03-25 17:54:19 +01:00
Allan Odgaard
5769b16780 Rework bundle install code
We now use dispatch queues for updating bundles and bundle sources.

The determinate progress indicator is presently gone and so is the detailed info about which dependent bundles are being installed.
2013-03-25 17:31:03 +01:00
Allan Odgaard
a24858e63c Store bundle index in ~/Library/Caches 2013-03-25 16:41:58 +01:00
Allan Odgaard
258db64b8f Remove old bundle loading code 2013-03-25 13:22:54 +01:00
Allan Odgaard
82c30b77db Don’t load bundles from layout test
Ideally we would have the BundlesManager load the bundles but since tests don’t have their own framework requirements, this would require that the layout framework is setup to depend on the BundlesManager framework.
2013-03-25 13:21:53 +01:00
Allan Odgaard
1a4fd97208 Add missing include 2013-03-25 13:20:34 +01:00
Allan Odgaard
d6360426e3 Avoid function-local static storage for std::map
This gives the venerable warning about map::~map being a weak reference or something along those lines.
2013-03-25 13:19:38 +01:00
Allan Odgaard
d1a6c854a1 Add API to control bundle auto-updating 2013-03-25 13:04:40 +01:00
Allan Odgaard
75234faaa1 Minor style changes 2013-03-25 12:54:21 +01:00
Allan Odgaard
37590bd3fd Switch to new bundle loading code 2013-03-25 12:48:39 +01:00