Commit Graph

84 Commits

Author SHA1 Message Date
Allan Odgaard
df31d85a8b Remove old image name reference from xib 2014-09-01 17:37:10 +02:00
Allan Odgaard
d2072145c6 Use system images for the “shell support installed” indicator 2014-08-23 17:45:22 +02:00
Allan Odgaard
bc65a57957 Use OakIsEmptyString where appropriate 2014-08-08 19:42:30 +02:00
Ronald Wampler
d2b3610059 VariablesPreferences: Abort editing before deleting a row
This prevents `tableView:objectValueForTableColumn:row:` from throwing an exception (index beyond bounds) when the user deletes the last row while it is being edited.
2014-07-19 14:14:22 +02:00
Ronald Wampler
ad37b94e3f VariablesPreference: Disable delete button when table is empty 2014-07-19 14:14:21 +02:00
Allan Odgaard
d85b4e280b Reference MGScopeBar class to prevent linker from stripping it
We instantiate the class in the xib file, so the linker does not know that we actually need it.

Currently the filter list framework use MGScopeBar, which is why this issue is not an actual problem (yet).
2014-07-09 17:03:44 +02:00
Ronald Wampler
cc64b1e24f Add search field to Bundle preference pane 2014-07-06 11:34:34 +02:00
Ronald Wampler
8f50838b25 Use "System Small" font in VariablesPreference table
Since variable strings can be very long and we reduced the font size in the bundle table, let's be consistent and use a smaller font size here too.
2014-07-06 11:34:33 +02:00
Ronald Wampler
a2690f9418 Save VariablesPreferences.xib with Xcode 5.1.1 (5B1008) 2014-07-06 11:34:33 +02:00
Ronald Wampler
9812748a07 Use "System Small" fonts in BundlePreference table
By using a smaller font size in the bundle table we can show more of the bundle description. Also, it minimizes the amount of resizing of the pane we have to do to see the entire description string for most of the bundles.
2014-07-06 11:34:33 +02:00
Ronald Wampler
360443682d Save BundlePreferences.xib with Xcode 5.1.1 (5B1008) 2014-07-06 11:34:33 +02:00
Allan Odgaard
8c41396ab9 Hide link arrows in Preferences → Bundles when there is no link 2014-04-28 18:23:51 +07:00
Allan Odgaard
0a459d0b85 If a disabled variable is edited (in Preferences) then enable it 2014-04-14 09:54:47 +07:00
Allan Odgaard
cf8f796053 Do not use va_start macro with variable reference
This is undefined according to the standard and is a warning with clang-503.0.38.
2014-03-13 20:51:15 +07:00
Allan Odgaard
2b847730fd Make the preferences window restorable
This is not overly useful but the code serves as copy/paste for future endeavors into restoring non-document windows.

The feature requires that “Close windows when quitting an application” is disabled in System Preferences → General (I think that option is enabled by default, at least on 10.9).
2014-03-09 10:01:52 +07:00
Allan Odgaard
1e11a30a53 Remove redundant storage keywords for @property
These were required prior to the new 64 bit run-time.
2014-03-05 16:39:54 +07:00
Allan Odgaard
c2397484b8 Use C++11 for loop
Majority of the edits done using the following ruby script:

    def update_loops(src)
      dst, cnt = '', 0

      block_indent, variable = nil, nil
      src.each_line do |line|
        if block_indent
          if line =~ /^#{block_indent}([{}\t])|^\t*$/
            block_indent = nil if $1 == '}'
            line = line.gsub(%r{ ([^a-z>]) \(\*#{variable}\) | \*#{variable}\b | \b#{variable}(->) }x) do
              $1.to_s + variable + ($2 == "->" ? "." : "")
            end
          else
            block_indent = nil
          end
        elsif line =~ /^(\t*)c?iterate\((\w+), (?!diacritics::make_range)(.*\))$/
          block_indent, variable = $1, $2
          line = "#$1for(auto const& #$2 : #$3\n"
          cnt += 1
        end
        dst << line
      end
      return dst, cnt
    end

    paths.each do |path|
      src = IO.read(path)

      cnt = 1
      while cnt != 0
        src, cnt = update_loops(src)
        STDERR << "#{path}: #{cnt}\n"
      end

      File.open(path, "w") { |io| io << src }
    end
2014-03-03 10:34:13 +07:00
Allan Odgaard
6ec2f26d2c Don’t access user’s contacts during launch
Instead we access it when either we need to submit a crash report, when the preferences window open (where the contact address is shown), or when creating a new bundle (where email is also used for the bundle’s contact).
2014-02-23 17:10:31 +07:00
Allan Odgaard
4c09310c14 Update Projects preferences pane, adding 3 new options 2014-02-23 14:45:26 +07:00
Allan Odgaard
faedd67299 Move some user defaults keys to Preferences/Keys.h 2014-02-23 13:36:47 +07:00
Allan Odgaard
95b834ac0a Grammars with no root scope are no longer shown in the UI
Only injection grammars should have an empty root scope, and if so, it does not make sense to allow the user to pick it as document grammar.
2014-02-20 13:14:36 +07:00
Torsten Trautwein
a88f9baf5f Preference to auto-reveal the current file in the project browser
An option called "Auto-reveal open file in project browser" has been
added to the Projects preference pane. When checked, the currently open
file will be revealed in the project's file browser. By default, the
option is not checked and thus the behavior is as it was before.
2014-01-20 20:15:25 +07:00
Torsten Trautwein
5048ecc9b0 Saved with Xcode 5.0.2 (5A3005) 2014-01-20 13:52:41 +01:00
Allan Odgaard
908ca3f5ab Allow zooming icon animation to be disabled
To disable, run the following in a terminal: defaults write com.macromates.TextMate.preview fileBrowserOpenAnimationDisabled -bool YES

Closes #109
2013-10-30 21:50:07 +01:00
Allan Odgaard
4c40d6b6b9 Allow opening files by single-clicking text (rather than icon)
This is enabled via: defaults write com.macromates.TextMate.preview fileBrowserSingleClickToOpen -bool true

Closes #187
2013-10-26 12:57:38 +02:00
Ryan Goulden
52e6b326c4 Allow sorting bundles by installed 2013-10-10 02:17:19 -04:00
Allan Odgaard
81006920c2 Simplify binding setup for encoding pop-up button 2013-10-06 23:09:12 +02:00
Allan Odgaard
1c308c810d Use map::emplace instead of inserting std::pair (C++11) 2013-09-05 20:59:11 +02:00
Jacob Carlborg
7c6d5680af Add source list style setting for the file browser
When this setting is enabled it will render the file browser with the source list style, that is, the same style as the sidebar in Finder.

To enable run: defaults write com.macromates.TextMate.preview fileBrowserStyle SourceList
2013-07-25 11:23:43 +02:00
Allan Odgaard
1e970fad97 Select table view row before initiating the field editor
If we don’t ensure the row is selected then tab (from the cell with the field editor) will not advance to the row’s next column.
2013-06-24 09:02:14 +07:00
Allan Odgaard
306fc7406f Update syntax to use a dictionary literal (Objective-C 2) 2013-06-23 22:53:22 +07:00
Allan Odgaard
b489687403 Disable AuthorizationExecuteWithPrivileges deprecation warning
The “proper” replacement for this API is to use the ServiceManagement framework’s SMJobBless() to bless our helper tool. In two of the three use-cases our helper tool is however regular shell commands, so it seems redundant to wrap these shell tools as helper tools we can install as launchd jobs.
2013-05-06 14:51:31 +07:00
Allan Odgaard
5f1cdb947a Clicking link arrows should not select rows 2013-05-02 15:07:10 +07:00
Allan Odgaard
ded37a128c Add link arrows to Preferences → Bundles
This takes the user to the bundle’s home (generally a GitHub page) which should make it easier to clone the source repository or report issues via the bundle’s issue tracker.
2013-05-02 15:07:10 +07:00
Allan Odgaard
13af5d8604 Make click-sorting non-content columns a no-op 2013-05-02 15:07:10 +07:00
Allan Odgaard
cdb75619ca Add completion callback to installBundle: 2013-04-23 18:52:08 +07:00
Steven Clukey
32a972da03 Make bundles in bundle preferences table sortable 2013-04-13 22:37:51 +07:00
Allan Odgaard
ee4f7a48a2 Make s/w update status text resizable 2013-04-09 15:39:38 +07:00
Allan Odgaard
ac23c9538e Bind to updated BundlesManager binding properties 2013-03-25 20:31:48 +01:00
Allan Odgaard
29e0a2fec5 Make the rmate listen port a string instead of integer
When using an integer it got “pretty printed” by NSTextField (to have a thousand separator). If the user would “commit” this version, the version with the thousand separator would be stored in user defaults, which would make TextMate fail t listen to the desired port.
2013-03-16 17:49:47 +01:00
Allan Odgaard
2d4d4729d2 Remove ‘rmate’ submodule
With the script installable via rubygems there is no longer any reason to include it with TextMate.app and thus keep it as git submodule.
2013-03-16 17:47:19 +01:00
Allan Odgaard
c561d2447b Add UI setting for disabling auto-resize
The auto-resize is when toggling the file browser.
2013-03-11 17:48:20 +01:00
Allan Odgaard
104ed0e325 Treat ‘nil’ as empty string
With bindings, clearing a text field results in its value being set to nil.
2013-02-22 18:15:11 +01:00
Allan Odgaard
0bf5a85a1c Resize window when toggling file browser
If you dislike this it can be disabled using:

    defaults write com.macromates.TextMate.preview disableFileBrowserWindowResize -bool YES
2013-02-19 21:13:53 +01:00
Allan Odgaard
8c9adfc198 Move some user defaults key to respective framework
Initially I wanted all keys in a single header file but to avoid circular dependencies then this header would need to be in a framework that doesn’t depend on anything else, and the main benefit was only to have a single place to look for which keys exist, but now that we consistently prefix settings keys with ‘kUserDefaults’ then it’s easy to extract all keys via search.
2013-02-08 12:01:20 +01:00
Allan Odgaard
ebc4fa26af Use regexp::match_t::operator[]
Also bypass NSString/c_str() by using std::stod().
2013-02-08 11:20:35 +01:00
Allan Odgaard
9eb4044fdb Switch to simpler regexp::search 2013-02-08 11:20:35 +01:00
Allan Odgaard
af67a1a6f6 Check version of installed mate in background 2013-02-03 10:48:45 +01:00
Adam Strzelecki
60965ce6c3 Tab bar above document option
This change adds new option for showing tab bar only above document, so the
file browser header lines up with tab bar.

File browser header height reduced by 1 pixel to match tab bar height. It also
draws optional top divider when in same line as tab bar
2013-01-28 12:42:28 +01:00
Allan Odgaard
a883854145 Use divider lines in root view
Previously we placed the views with a one point gap between them and had the superview fill the background. This works fine, but has the somewhat theoretical disadvantage that the superview then needs to implement drawRect: and for performance reasons declare that it is “opaque” which means subviews can’t use the (true) window background, should they want to.

Also add a preferences key for “tabs above document” (issue issue #214), but not hooked up in this commit.
2013-01-28 12:42:28 +01:00