Commit Graph

169 Commits

Author SHA1 Message Date
Allan Odgaard
397fdb52d4 Make REST_API a global define and make it a C string 2014-04-28 18:23:50 +07:00
Allan Odgaard
1f0e3db472 Remove trailing zeroes from numeric literals
I mainly dislike the trailing zeroes because CGFloat used to be a float but 1.0 is a double (1.0f would be a float). So better to under-specify and let the compiler figure out the proper type.
2014-04-14 14:26:52 +07:00
Allan Odgaard
d549bb7a84 Remove unused include (cf/callback.h) 2014-04-12 11:22:38 +07:00
Allan Odgaard
7d1ca99421 Disable plug-ins for HTML output WebView
Also switch about window’s web preferences to be set via identifier instead of manipulating the standard preferences.
2014-04-09 15:15:36 +07:00
Allan Odgaard
6cc0108961 Rename document_t:{open,save} → document_t:sync_{open,save}
This makes it easier to search for code that use these functions.
2014-04-07 17:28:41 +07:00
Allan Odgaard
c7a211b2fd Let View → Wrap Column remember the last 5 values used 2014-04-06 19:36:09 +07:00
Allan Odgaard
645c837262 Skeleton commit window server
This allows the commit command line tool to open a window as “native”.

We use distributed objects for talking to TextMate and getting a response. For the response, we release the connection in the next iteration of the event loop and then gracefully exit the program. Though it’s not clear if this is enough time for distributed objects to reply the client (if not, an exception is thrown in the client about “connection disappeared while waiting for a reply”).
2014-04-03 15:49:58 +07:00
Allan Odgaard
e4c9008422 Don’t assume only one class implements performBundleItem: 2014-04-03 15:08:37 +07:00
Allan Odgaard
b1de8256a2 Disable WebView plug-ins and page cache for about window 2014-04-01 16:01:19 +07:00
Allan Odgaard
db13d4c1f9 Use std::string::back() instead of operator[] with size()-1 2014-03-31 08:27:18 +07:00
Allan Odgaard
5f69ef31c7 Don’t use NS prefix for custom functions 2014-03-28 19:31:14 +07:00
Allan Odgaard
19ecfbd274 Always center selection when using Go to Line dialog
Closes #987.
2014-03-25 20:32:46 +07:00
Allan Odgaard
ab4e711c27 Fix AF_INET6 → PF_INET6
Also remove extraneous whitespace.
2014-03-23 22:47:16 +07:00
Allan Odgaard
2c20ab23b0 Ask for maximum queue length for pending socket connections
This is mainly because the SOMAXCONN constant looks better (in the source) than some arbitrarily chosen number. The constant is presently defined as 128 so it doesn’t seem wasteful, and presumably the queue will only take up space if we are not actually responding to socket connections.
2014-03-23 22:47:16 +07:00
Allan Odgaard
d7660bd89e Detect first loop iteration using std::exchange “idiom” 2014-03-23 22:47:15 +07:00
Allan Odgaard
9a9614e264 Workaround for “format string is not a string literal” warning 2014-03-13 20:51:15 +07:00
Allan Odgaard
2b28f5a165 Use NSHumanReadableCopyright in about window
This avoids having the copyright (which includes the current year) in multiple places.
2014-03-04 08:57:28 +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
5d089803b8 Disable session saving if we terminate before having restored it
Previously if TextMate had expired, we would terminate, which would cause the current session state to be saved, and since it hadn’t yet been restored, we would write out empty session state (and overwrite the user’s previous session state).
2014-03-01 08:48:49 +07:00
Allan Odgaard
91096c12f3 Ask user to skip session restore if abnormal exit is detected 2014-03-01 08:38:01 +07:00
Allan Odgaard
162ba1649c Rename project-state.db → RecentProjects.db 2014-02-19 18:01:00 +07:00
Allan Odgaard
10f14a74f3 Support referencing documents via UUID
This support is to allow using ‘mate’ to change caret/selection for open untitled documents.
2014-02-11 16:38:58 +07:00
Allan Odgaard
7f65abfe5b Do not hardcode year interval for bundle changes
Previously we would not show any changes done after 2013. We now show changes for the current and last two years.
2014-02-10 20:26:08 +07:00
Allan Odgaard
5256a8e9ae Add file icon to favorites / recent projects 2014-02-10 20:10:39 +07:00
Allan Odgaard
9246e014b0 Minor refactor 2014-02-10 20:00:59 +07:00
Allan Odgaard
bef5e5d88c LRU sort recent projects and disambiguate display names 2014-02-10 16:57:10 +07:00
Allan Odgaard
d9f0cf6563 Skip non-existing recent projects
Long-term it would make sense to also delete them if they haven’t been used for e.g. a month.
2014-02-10 13:53:10 +07:00
Allan Odgaard
d912b4272e Allow using ‘quit’ to terminate an (r)mate session
This is useful when testing socket connections as it seems nicer than simply killing the connection.
2014-02-08 16:28:16 +07:00
Allan Odgaard
48e3796f87 Add delete action to Open Favorites
This only works for Recent Projects (not Favorites).

Also, the key equivalent for this is ⌘⌫. The Edit → Delete menu item will not work (as it’s being sent to the input field).
2014-02-07 19:53:28 +07:00
Allan Odgaard
6ab6c3f43b Add “Recent Projects” to “Open Favorites” dialog 2014-02-07 19:53:28 +07:00
Allan Odgaard
888ccbed16 Remove use of NSPointToCGPoint
This is not required when building in 64 bit mode or when defining NS_BUILD_32_LIKE_64.
2013-11-18 22:43:50 +07:00
Allan Odgaard
f515d92bb4 Rescan favorites folder when re-opening favorites chooser
Previously we only scanned the folder when creating the favorites chooser singleton which meant items added or removed after the chooser had been used, were not reflected before a relaunch.

Fixes #1182
2013-11-09 19:27:24 +07:00
Allan Odgaard
0976c048b3 Add learning to Open Favorite 2013-10-28 23:04:32 +01:00
Allan Odgaard
d70f4ad3c0 Update Open Favorite to use OakChooser 2013-10-28 23:03:24 +01:00
Allan Odgaard
c5558d0574 Remove a few std::shared_ptr typedefs 2013-10-04 16:51:26 +02:00
Allan Odgaard
76dc76b57a Fix typo in debug output 2013-09-22 12:55:42 +02:00
Allan Odgaard
3f055aa318 Clear all web view delegates during dealloc 2013-09-12 23:46:04 +02:00
Allan Odgaard
1c308c810d Use map::emplace instead of inserting std::pair (C++11) 2013-09-05 20:59:11 +02:00
Allan Odgaard
e4e80a946c Use std::make_shared 2013-09-03 12:27:20 +02:00
Allan Odgaard
bd2f7aa44e Decode plus characters in txmt URLs
This is done by using decode::url_part instead of stringByReplacingPercentEscapesUsingEncoding:
2013-08-29 13:27:26 +02:00
Allan Odgaard
8feaba809e Include unhandled C++ exceptions in crash report 2013-08-28 15:27:42 +02:00
Allan Odgaard
de03c27a63 Update network::tbz_t API
The main issue with the old API was inability to capture error output from the tar process.
2013-08-25 21:13:06 +02:00
Allan Odgaard
d2305654ac Make redirect of stderr opt-in 2013-08-25 21:13:06 +02:00
Allan Odgaard
a52165694c Move crash reporter info support to own framework
This is to avoid cyclic dependencies since it was previously in a somewhat high-level framework, so everything that framework depended on, could not augment crash reports.
2013-08-12 19:32:23 +02:00
Allan Odgaard
a7771287ef Listen on IPv6 interface instead of only IPv4 (rmate)
Fixes textmate/rmate#19
2013-07-31 15:03:19 +02:00
Allan Odgaard
83946bd3cf Treat relative txmt: URLs as relative to home folder
This is supported to be compatible with TextMate 1.x.

Fixes #1047.
2013-07-22 11:01:27 +02:00
Allan Odgaard
9b325e54d1 Setup margins based on paper size before printing
Also show paper size/type popup and scale factor in print dialog.
2013-06-27 23:26:11 +02:00
Allan Odgaard
e28b346d70 Bind Page Setup… to our application controller
For unknown reasons, the NSApplication object will not respond to this method, even though it should implement it.
2013-06-27 23:24:23 +02:00
Allan Odgaard
d1d63308b6 Limit printing to web views and use sheet for dialog
File → Print… (⌘P) now sends the “printDocument:” action method (instead of “print:”).

Rather than implement “printDocument:” for the various HTML windows (command output, about window) we provide a general implementation in the application delegate that checks if there is a WebDocumentView conforming view in the responder chain.
2013-06-26 12:13:19 +02:00
Allan Odgaard
eae48c1a66 Add OS and program version to s/w update URL
The server previously grabbed this from the user agent string but this is more fragile and doesn’t work with caching.
2013-06-23 22:53:21 +07:00