Commit Graph

2901 Commits

Author SHA1 Message Date
Allan Odgaard
5d4fe11e70 Speedup tool-tip fadeout except when closing due to mouse moved 2014-09-10 15:28:19 +02:00
Allan Odgaard
73b21bd836 Move WebView related print support to OakHTMLOutputView 2014-09-10 14:02:08 +02:00
Allan Odgaard
707da020bb Ensure our HTML output view is first responder after load
When redirecting to a PDF file the PDFView (inside the WebView) is not made first responder (on 10.9, it might have worked on 10.8).
2014-09-10 13:46:39 +02:00
Allan Odgaard
a4f47a7bfc Use Core Animation for the open document animation (zooming icon) 2014-09-10 13:34:11 +02:00
Allan Odgaard
d0ba80d72e Update dialog-1.x plug-in 2014-09-10 12:33:17 +02:00
Allan Odgaard
c559253a14 Allow printing WebViews even when they are not first responder
Starting with 10.9 (I think) it seems that when the WebView switches content view to show a PDF, it will lose first responder status, so pressing ⌘P (to print the PDF) does not work, but require the user to first click the PDF (to make the view first responder).

This commit uses a heuristic to figure out which view should be printed when the first responder is not a printable (web/PDF) view.
2014-09-08 22:14:51 +02:00
Allan Odgaard
72276ff644 Skip menu item separators with items from multiple bundles
The only example of this that I am aware of is ⌘Y when there is no version control system used for the current project: Here we get a menu with init/checkout/help items from some of the SCM bundles and it looked bad when TextMate would use separators for these items.
2014-09-08 20:37:20 +02:00
Allan Odgaard
d7d2b5047a Improve ordering of items in bundle item chooser
Previously we would alphabetize (non-setting) items when filtering on other properties than the title, now we order them based on their scope precedence.

So e.g. filtering on key equivalent will now show the item that will actually fire as the first one.
2014-09-08 20:18:13 +02:00
Allan Odgaard
9d39e80044 Hide OakToolTip interface in implementation file
This isn’t actually a public interface.
2014-09-08 14:47:19 +02:00
Allan Odgaard
f082f8fe47 Order out any old tool tip that might exist when showing a new 2014-09-08 14:47:19 +02:00
Allan Odgaard
db2c798292 Use Core Animation to fade out tool tips 2014-09-08 14:47:19 +02:00
Allan Odgaard
ac151e7d4c Allow editing .tm_properties files from bundle item chooser 2014-09-07 10:31:16 +02:00
Allan Odgaard
1f1cfee5e9 Set path/directory for bundle item chooser (for .tm_properties) 2014-09-07 10:31:16 +02:00
Allan Odgaard
a925801cb6 Include items from .tm_properties in bundle item chooser 2014-09-07 10:31:16 +02:00
Allan Odgaard
89400822d3 Add settings_info_for_path to get path/section for .tm_properties 2014-09-07 10:31:16 +02:00
Allan Odgaard
57da86ba5c Use higher order function to collect settings 2014-09-07 10:31:16 +02:00
Allan Odgaard
06484ae92a Remember which path a property section is extracted from 2014-09-07 10:31:16 +02:00
Allan Odgaard
de3f867c9e Use std::mutex and std::lock_guard instead of pthread_mutex_t
Also move the mutex out so that other functions can lock it.
2014-09-07 10:31:16 +02:00
Allan Odgaard
b4956ac4fa Make ‘untitledSavePath’ a public (readonly) property 2014-09-06 14:12:31 +02:00
Allan Odgaard
1e057ef38f Sort items based on filter string when searching all scopes
When only searching current scope we want to list the settings in the order of precedence but that does not make sense when searching all scopes.
2014-09-06 10:47:52 +02:00
Allan Odgaard
b11a1d05a4 Do not overstrike settings items when searching all scopes 2014-09-06 10:39:51 +02:00
Allan Odgaard
461915cb34 Don’t perform checks to see if user’s compiler is good enough
The codebase no longer require a cutting edge compiler so we simply use clang via xcrun.
2014-09-05 14:31:05 +02:00
Allan Odgaard
e13ec4dc18 Call developer shell tools via xcrun instead of using $xcodedir 2014-09-05 14:31:05 +02:00
Allan Odgaard
ac9f64ed4a Do not specify SDK version as using ‘latest’ is generally desired
If we need to build with a specific version we can include it in CC/CXX using the --sdk argument.
2014-09-05 14:31:05 +02:00
Allan Odgaard
de60f228ac Do not assume CC/CXX is a single executable
The downside is that we no longer have our .o files depend on the compiler (so we need to do a clean build after upgrading the compiler) and if there is a space in the path to the compiler, it will fail.

The upside is that we can let CC/CXX be a command with arguments, e.g. ‘xcrun clang’.
2014-09-05 14:05:17 +02:00
Allan Odgaard
ceec6ab54f Update dialog-1.x plug-in 2014-09-05 13:39:38 +02:00
Allan Odgaard
0045daa153 Add overstrike style to eclipsed settings in bundle item chooser 2014-09-04 22:45:06 +02:00
Allan Odgaard
26c4b88959 Keep settings items in bundle item chooser sorted by scope rank
Previously when we entered a filter string the sorting would be based on how good a match the filter string was.
2014-09-04 21:59:49 +02:00
Allan Odgaard
c9a13a82c5 Fix deprecation warnings 2014-09-03 17:02:25 +02:00
Allan Odgaard
6bdad1733e Move handling of invisible character mapping to ng::context_t 2014-09-03 16:06:44 +02:00
Allan Odgaard
06b6802d05 Do not export ng::paragraph_t and supporting to_s function 2014-09-03 16:05:14 +02:00
Allan Odgaard
f0e5efd5ae Remove unnecessary typecasts 2014-09-03 15:21:56 +02:00
Allan Odgaard
c7ef9d2d78 Fix typo v2.0-alpha.9563 2014-09-02 21:16:43 +02:00
Allan Odgaard
a241fd8a5a Checkin release notes 2014-09-02 21:15:48 +02:00
Allan Odgaard
751a564fe2 Escape can now be used to clear a recorded key equivalent
If there is no recorded key equivalent then the key is passed to super.
2014-09-02 20:44:17 +02:00
Allan Odgaard
74e9448738 Use a scope bar view for the different bundle item types 2014-09-02 20:44:17 +02:00
Allan Odgaard
918406d52d Update bundle item chooser UI 2014-09-02 20:44:17 +02:00
Allan Odgaard
7e63510cfd Document changed on disk would sometimes be marked as modified
We wrap the “update document” in an undo group, but if we already have an undo group at a higher level then our “end group” would be postponed to the root group, which would delay updating the document revision, and thus the revision we use as the disk revision would be wrong.

We workaround this by forcing the undo group to end and thus ignore the one at the higher level, which should be safe.
2014-09-02 18:59:29 +02:00
Allan Odgaard
e91bf08e69 Allow forcing an undo group to be closed 2014-09-02 18:59:28 +02:00
Allan Odgaard
4d6a8174f0 Fix variable names in debug statement 2014-09-02 18:59:28 +02:00
Allan Odgaard
85f23eb53c Add crash report info to OakShowSheetForWindow
Trying to figure out why this function crashes due to uncaught exception with reason: ‘Modal session requires modal window’.
2014-09-02 18:59:28 +02:00
Allan Odgaard
49b82c9ecb Let ‘edit’ be default action when settings item is selected (⌃⌘T)
Also use performClick: on the window’s default button cell when using return to select an item.
2014-09-02 16:53:01 +02:00
Allan Odgaard
536e79a404 Show setting name (or variable) instead of umbrella item (⌃⌘T) 2014-09-02 16:52:29 +02:00
Allan Odgaard
a22053e7e7 Add public API to obtain a bundle item’s shell variables 2014-09-02 16:52:29 +02:00
Allan Odgaard
98b08464c7 Workaround for NSSpellChecker advancing the event loop
This fixes #1260 though we may want to update our design to work with an asynchronous spell checker.
2014-09-02 11:19:34 +02:00
Allan Odgaard
dc525ba234 Add tab settings for Onigmo submodule 2014-09-01 17:38:33 +02:00
Allan Odgaard
91e3c2c0de Ask for search results to fade out when being removed 2014-09-01 17:37:11 +02:00
Allan Odgaard
d2a2a9dfdd Don’t call NSOutlineView’s sizeLastColumnToFit
This doesn’t seem to be required, might only have been an issue with cell-based outline views, or perhaps only on an older version of the OS.
2014-09-01 17:37:11 +02:00
Allan Odgaard
5cc60a6d5b Use NSOutlineView’s insertItemsAtIndexes:… instead of reloadData
We wrap it in begin/endUpdates because the number of results badges might otherwise show briefly, as expansion happens post-insertion.
2014-09-01 17:37:11 +02:00
Allan Odgaard
4e5e4ef601 Add badges to show number of search results (when collapsed)
This is implemented by observing NSOutlineView’s did expand/collapse item notification and then asking for a full reload of the outline view.

None of the granular reload methods would cause the view to be recreated, and there is no “isExpanded” property that the view can bind to.

Given the above, it might be a good idea to introduce an NSTableCellView subclass / view controller for the group view and have this handle it, to avoid the overhead of asking for a full reload each time an item is expanded/collapsed (which is multiplied by number of items when using expand/collapse all).
2014-09-01 17:37:11 +02:00