Commit Graph

4865 Commits

Author SHA1 Message Date
Allan Odgaard
9d80042145 Temporarily disable visual effects view used in file browser v2.0-rc.12 2018-10-29 22:37:52 +07:00
Allan Odgaard
5b166cad16 Checkin release notes for 2.0-rc.11 2018-10-29 22:16:58 +07:00
Allan Odgaard
bad84bd511 Tweak how we throttle fetching SCM status
When we observe a change on disk we will fetch status after 0.5 seconds if we are active, otherwise 3 seconds.

If we become active and have a pending update, we update immediately.

The reason for the delay is that the change on disk could be the version control system working, for example performing a rebase, and not all systems can gracefully handle requesting status when in the midst of such operation.
v2.0-rc.11
2018-10-29 21:31:56 +07:00
Allan Odgaard
045fd33497 Do not update user defaults in a background thread (queue)
Since observers of NSUserDefaultsDidChangeNotification will be called from the thread that triggered the change, we should only update user defaults from the main thread.
2018-10-29 21:15:18 +07:00
Ian Gregory
9baff6d7e1 Selectively apply BG colors in OakSyntaxFormatter
OakSyntaxFormatter now applies background colors only when they do not match the theme's global background color. The old behavior drew the background all the time, which looked off when drawing formatted text in the Find History list. This effect is made especially apparent by macOS 10.14's translucent combo boxes, and now that they're used for history in the Find dialog, this needed to be fixed.
2018-10-29 21:15:18 +07:00
Allan Odgaard
0eb5250c26 Pass directory with changes to FSEvents observer 2018-10-29 19:49:28 +07:00
Allan Odgaard
85d5bb3fbe Fix indentation 2018-10-29 13:34:08 +07:00
Allan Odgaard
694fc2b4b4 Update document’s match captures from find dialog
If user does a “Find All” and selects one of the results, previously performing a replace would not use the captures from the selected result.
2018-10-29 11:48:44 +07:00
Allan Odgaard
8e31254f70 Store captures from last search with OakDocument instead of OakTextView
This both allows updating the captures from outside the text view (e.g. Find dialog) and it uses the correct captures if performing searches in multiple tabs with delayed replacements.
2018-10-29 11:48:44 +07:00
Ronald Wampler
05e61188ee Change Select Previous/Next Tab key equivalents
⌃⇧⇥ and ⌃⇥ are the preferred system wide shortcuts for changing tabs. In order to avoid a disruptive change, the previous shortcuts are still supported (in fact, it appears that all apps using the system tabbing mechanism support the previous shortcuts as well).
2018-10-29 11:47:56 +07:00
Ronald Wampler
14cd991a1d Move "Select Previous Tab" above "Select Next Tab"
This makes the Window menu more consistent with system apps.
2018-10-29 11:47:56 +07:00
Allan Odgaard
493620710b Avoid copying full status map for each file observer 2018-10-29 11:05:00 +07:00
Allan Odgaard
2354a485ef Don’t call repositoryAtURL: when we already have a repository 2018-10-29 10:59:12 +07:00
Allan Odgaard
82c0752c0f Remove method from SCMManager only used by one client 2018-10-29 10:53:32 +07:00
Allan Odgaard
c8beb6c238 Pass SCMRepository to observers (instead of status map) 2018-10-29 10:49:14 +07:00
Allan Odgaard
553a2c5912 Use SCMManager instead of scm framework for SCM status data source 2018-10-29 10:38:01 +07:00
Allan Odgaard
4d3de192ce Let SCMManager use the SCM drivers directly
Currently SCMManager is not as conservative about refreshing SCM status, specifically SCM status was previously not updated when the application was inactive, the latency for updating was pretty high (3 seconds).

We do however need to check if there are actual changes, as at least in the past, calling `hg` even when there are no changes, may cause file system to be updated, which will trigger a new status refresh.
2018-10-29 10:36:22 +07:00
Allan Odgaard
d5ea5d1d80 Add symbolic link to scm drivers
The drivers include ../status.h so we need to link to that file as well.
2018-10-29 10:29:47 +07:00
Allan Odgaard
82dda5588d Wrong URL got passed to SCMManager 2018-10-29 09:27:31 +07:00
Allan Odgaard
1e5fdcbc09 Allow observing subdirectories with FSEventsManager 2018-10-28 23:03:32 +07:00
Allan Odgaard
9f6d9d043e Do not have FSEventsManager load directory contents
Originally we had FSEventsManager handle directory loading because it worked as a cache, but it’s better to move this to the client, as not all clients need the directory content, additionally it simplifies the cache invalidation (reload) and also moves the hardcoded list of URL keys to preload into the client, which should know which keys are desired.
2018-10-28 22:38:10 +07:00
Allan Odgaard
f5e543dc77 Only allow observing full repository instead of “files with status” 2018-10-28 16:51:33 +07:00
Allan Odgaard
9f9bb5e255 Fix capitalization of URL in parentURL 2018-10-28 16:43:17 +07:00
Allan Odgaard
a5c4b979d5 Rename SCMRepository → SCMDirectory 2018-10-28 15:54:04 +07:00
Allan Odgaard
3d350f2ec4 Update link dependencies for new file browser framework 2018-10-28 15:05:31 +07:00
Allan Odgaard
c14350dc98 Move remaining code and resources from OakFileBrowser → FileBrowser 2018-10-28 15:02:11 +07:00
Allan Odgaard
5449e27430 Move file item auxiliary views to new file browser framework 2018-10-28 14:51:47 +07:00
Allan Odgaard
c8ea52f19c Move “select base name” cell subclass to new file browser framework 2018-10-28 14:48:48 +07:00
Allan Odgaard
b0262c452c fixup! Switch to new file browser 2018-10-28 13:38:25 +07:00
Allan Odgaard
0d75927528 Update OakFileBrowserDelegate protocol to new file browser controller 2018-10-28 13:36:33 +07:00
Allan Odgaard
7cf482fe25 Rename notification constants 2018-10-28 13:32:14 +07:00
Allan Odgaard
10bf1acf78 Use display name instead of localized name for file browser location
The display name includes the “disambiguation suffix” which we set to “disabled” or “no status” for the SCM status file item.
2018-10-28 13:21:19 +07:00
Allan Odgaard
c822943b93 Move OakFileBrowser delegate protocol and constants to new file browser 2018-10-28 13:15:39 +07:00
Ronald Wampler
b43abb13a6 Use a dynamic color for the dark divider style (10.14) 2018-10-28 12:13:39 +07:00
Ronald Wampler
62ee2f94be Add support for building Asset Catalogs
We compile all assets into one file that resides in the main app bundle so while we can have multiple asset catalogs (per Framework, etc.), individual assets should still be namespaced.
2018-10-28 12:12:04 +07:00
Allan Odgaard
8e186231fd Fix typo in bin/gen_build 2018-10-28 12:09:12 +07:00
Ronald Wampler
e64b09b688 Introduce overloads for the new divider styles
Also, switch to use the new divider styles in most places. The remaining usage of the old "OakCreateLine" functions are in the OakChooser windows. These will be refactor for better dark mode support next.
2018-10-28 11:07:03 +07:00
Ronald Wampler
3b90855b98 OakBackgroundFillView: Introduce styles for light and dark dividers 2018-10-28 11:07:03 +07:00
Allan Odgaard
e6adecaf4e Allow setting default find in folder globs with defaultFindInFolderGlobs
This is an array, example of setting the list:

    defaults write com.macromates.TextMate defaultFindInFolderGlobs '( "{*,.tm_properties}", "*" )'
2018-10-28 10:15:56 +07:00
Allan Odgaard
83a0d66563 Add some additional defaults for Filter Through Command
The ‘seq 100’ command is useful with columns selections / multiple insertion points to enumerate items.
2018-10-28 10:15:56 +07:00
Allan Odgaard
7b4accc9e8 Allow creating OakHistoryList with a user defaults fallback key 2018-10-28 10:15:56 +07:00
Allan Odgaard
2c9a44e23c Refactor how we initialize OakHistoryList 2018-10-28 10:15:56 +07:00
Allan Odgaard
f3a16e513b Remove assertion that does not hold for malformed content 2018-10-28 10:15:56 +07:00
Allan Odgaard
b57e784db5 Remove import of unused header 2018-10-28 10:15:56 +07:00
Allan Odgaard
581c201008 Remove most code related to old file browser 2018-10-28 10:15:56 +07:00
Allan Odgaard
e26b8ea868 Switch to new file browser 2018-10-28 10:15:56 +07:00
Allan Odgaard
f2f9eceed4 Support working with array as object value for our select base name cell
This is for the new file browser which uses array to be able to hold both a display and edit name for the items being shown and potentially edited.
2018-10-28 00:28:02 +07:00
Allan Odgaard
a304ebe25f Add file browser view controller 2018-10-28 00:28:02 +07:00
Allan Odgaard
62f9b3810c Add reload action method to file browser view 2018-10-28 00:28:02 +07:00
Allan Odgaard
cc8f610973 Add API to force reload of an observed directory 2018-10-28 00:28:02 +07:00