Commit Graph

2286 Commits

Author SHA1 Message Date
Allan Odgaard
75e7ebaca2 Don’t implement the NSCopying protocol for FFResultNode
This doesn’t seem to be a requirement when using view-based NSOutlineViews, and as our implementation wasn’t actually doing any copying, better to not pretend we conform to this interface.
2014-09-01 17:37:10 +02:00
Allan Odgaard
9b3dd8c0f4 Don’t use COPYFILE_METADATA with files on network drives
According to a user report this is causing TextMate to freeze. Reported to Apple as <rdar://17480649>.
2014-09-01 17:37:10 +02:00
Allan Odgaard
854fa91f10 Only cause preferences files to be created for TextMate
This function is called when running ‘bl’ and ‘test_network’, so previously we would end up with ‘bl.plist’ and ‘test_network.plist’ in ~/Library/Preferences.
2014-08-30 16:37:50 +02:00
Allan Odgaard
0d04dc7efa Give the find dialog a more predictable key view loop 2014-08-30 16:19:23 +02:00
Allan Odgaard
d6f84b33d2 Remove a FIXME
The issue here was that a line of non-printable characters would return a height of zero.
2014-08-30 15:41:21 +02:00
Allan Odgaard
d12a091f5e Remove commented code 2014-08-30 15:41:21 +02:00
Allan Odgaard
5ba236ec67 Remember HTML output window frame on a per command basis
Some commands clearly should not share output window frame, OTOH it might be tedious having to position every new command used (if the default position is undesired).

We should probably re-use last command’s frame if there isn’t already a frame stored for the command (that’s what TextMate 1.x did). It might also be possible to group commands via its semantic class, so all run commands use the same window frame, though currently semantic classes have unique (language) suffixes.
2014-08-30 15:41:21 +02:00
Allan Odgaard
05cf40d77b Convert tabs in search results to em-spaces
This is to decrease the tab width which technically should be doen by creating NSTextTab objects (with tab positions), but that is too complex and I think ideally we should visualize the tabs (e.g. “‣”) like we do in the search/clipboard history windows.
2014-08-30 08:51:33 +02:00
Allan Odgaard
356a21d7e7 Add button to remove search results from the list 2014-08-28 13:40:24 +02:00
Allan Odgaard
9e0d0e9b34 Limit data reload of results outline view 2014-08-28 13:40:24 +02:00
Ronald Wampler
d60c47ef42 Commit button title summarizes the number of files to be committed 2014-08-28 13:40:24 +02:00
Ronald Wampler
0361afe340 Rework the commit window as a sheet (document modal)
Previously, the commit window was changed from a "always on top" window to a more typical window that could be minimized or sent to the background. While this made viewing the diffs more convenient, we could easily loose track of it or at worst end up with multiple dangling commit windows. By making it document modal, this prevents dangling windows. Furthermore, since the commit window is now attached to the main project window and the file browser already has the SCM status, we hide the file list by default and dropped the action button. Users can choose to show the file list via a checkbox and the action button's menu is still available via the file list's context menu.
2014-08-28 13:40:24 +02:00
Ronald Wampler
4b31a3fde0 Send diffs to a separate window 2014-08-28 10:16:25 +02:00
Allan Odgaard
542158c9f0 Inherit project folder when moving document to new window
This only happens if the document being moved is a child of the project folder.
2014-08-27 12:48:40 +02:00
Allan Odgaard
5a45023f9e Add new method to Find class: ‘takeSearchResultToRemoveFrom:’
This can be used after a completed search to prune the results. Currently though no UI is connected to this action.
2014-08-27 09:26:56 +02:00
Allan Odgaard
7262dd9d27 Switch search results to a view-based outline view
Currently does not support dragging of the file icon nor does it show number of matches in a single file when results are collapsed.
2014-08-27 09:14:10 +02:00
Allan Odgaard
23261fe293 Use reloadDataForRowIndexes:columnIndexes: instead of reloadData:
This is mainly in preparation of switching to a view-based table view where reloadData: loses the selection (and recreates all table row views).
2014-08-27 09:12:01 +02:00
Allan Odgaard
75ae3cd52d Use bindings to track count of leafs and excluded leafs 2014-08-27 09:12:01 +02:00
Allan Odgaard
e098611387 Use the correct selected text color (for lists) 2014-08-27 09:12:01 +02:00
Allan Odgaard
0ff652d5c9 Introduce semantic convenience getters 2014-08-27 09:12:01 +02:00
Allan Odgaard
ff99f06647 Provide base directory when creating FFResultNode group nodes 2014-08-27 09:12:01 +02:00
Allan Odgaard
cebb90b6c8 Remove implementation details from Find singleton’s interface 2014-08-27 09:12:01 +02:00
Allan Odgaard
44358ad034 Rename FFResultNode property: ‘exclude’ → ‘excluded’ 2014-08-27 09:12:01 +02:00
Allan Odgaard
1ee217adc6 Rename FFResultNode property: ‘matches’ → ‘children’ 2014-08-27 09:11:58 +02:00
Allan Odgaard
860a6aa546 Let FFResultNode tree track count of leafs and excluded leafs 2014-08-27 09:10:44 +02:00
Allan Odgaard
c27082a5f6 Fix zero row height for empty match ranges 2014-08-27 09:09:00 +02:00
Allan Odgaard
0bb7acfbf3 Add ‘removeFromParent’ to FFResultNode 2014-08-24 12:12:24 +02:00
Allan Odgaard
f781fe0f98 Show checkmark in bundle item chooser for selected menu items 2014-08-24 12:12:24 +02:00
Allan Odgaard
bb41b55d16 Remove folder_scan_settings_t (API simplification) 2014-08-24 12:12:24 +02:00
Allan Odgaard
7a1be3ebd0 Using globs in file chooser now defaults to case-insensitive 2014-08-24 12:12:24 +02:00
Allan Odgaard
5d72c8a2c5 Support case-insensitive glob matching 2014-08-24 12:12:24 +02:00
Allan Odgaard
93e14c6a15 Update includes 2014-08-24 12:12:23 +02:00
Allan Odgaard
89e395df44 Abort search when closing find dialog 2014-08-24 12:12:23 +02:00
Allan Odgaard
d2072145c6 Use system images for the “shell support installed” indicator 2014-08-23 17:45:22 +02:00
Allan Odgaard
aa27ccced5 Move some logic to the FFResultNode type 2014-08-23 17:45:22 +02:00
Allan Odgaard
846c220b6b Exclude line after match from excerpt when match ends with LF 2014-08-23 17:45:22 +02:00
Allan Odgaard
40ab59447c Move convenience functions from FFMatch → FFResultNode 2014-08-23 17:45:22 +02:00
Allan Odgaard
e6185fd5a1 Move select next/previous tab/result out of window controller 2014-08-23 17:45:22 +02:00
Allan Odgaard
871a0df11a Introduce showResultNode: convenience method 2014-08-23 17:45:21 +02:00
Allan Odgaard
54ac376825 Change terminology: ‘Match’ → ‘ResultNode’ 2014-08-23 17:45:21 +02:00
Allan Odgaard
180f21d7aa Add first/last match convenience methods to FFResultNode 2014-08-23 17:45:21 +02:00
Allan Odgaard
87dcaf93ec Iterate all search results using a single for-loop 2014-08-23 17:45:21 +02:00
Allan Odgaard
f855739d33 Use FFResultNode objects as the ‘Go To’ menu’s representedObject 2014-08-23 17:45:21 +02:00
Allan Odgaard
2f6370f4b0 Use a FFResultNode object to contain top-level results 2014-08-23 17:45:21 +02:00
Allan Odgaard
1cabec256c Use custom type for search results to get better type checking
This also makes it easy to have next/previous/parent (weak) pointers for better traversing.
2014-08-23 17:45:21 +02:00
Boris Dušek
afb504b58d Do not use macros for accessibility constants
This improves the chance that someone googling for a certain accessibility
attribute or other accessibility constant in order to find inspiration how to
implement it will find our code in OakTextView. It also makes the code more
understandable for reading by someone else, and generally follows the way
others write accessibility code (including Apple in their code samples). It
does make the code more verbose, but I think that does not outweight the above
advantages.

Inspired by: googling and "githubbing" for NSAccessibilityLinkTextAttribute:
http://lists.apple.com/archives/accessibility-dev/2014/Aug/msg00016.html
2014-08-23 17:45:20 +02:00
Allan Odgaard
87f2c07fbc With no file browser or project folder we try document’s folder
This is for the “untitled save path” which is normally used for new untitled files, so we wouldn’t actually have a folder, however, the property is also used as a fallback for a “project folder” when that property is unset (which it generally shouldn’t be).
2014-08-22 15:54:30 +02:00
Allan Odgaard
881b83cb50 Setup project folder after saving single untitled document 2014-08-22 15:38:21 +02:00
Allan Odgaard
34965c230d Find All for single document: Fix absolute path in search results 2014-08-22 14:58:44 +02:00
Allan Odgaard
94165739fb Improve capitalization heuristic
See added/updated tests for details.
2014-08-22 14:29:16 +02:00