Commit Graph

73 Commits

Author SHA1 Message Date
Joachim Mårtensson
2eaa97b1dc Remove compiler error 2014-08-03 09:05:37 +02:00
Allan Odgaard
e81286b0cd Remove unused include 2014-05-16 22:11:28 +07:00
Allan Odgaard
7698ce2783 Show an error when WebKit fails to load the requested resource
WebKit will e.g. fail to load resources identified as application/octet-stream.
2014-04-28 18:23:51 +07:00
Allan Odgaard
6d77df7ac3 fixup! Remove trailing zeroes from numeric literals 2014-04-22 08:16:34 +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
39b94e6ac3 Harmonize whitespace and add trailing newline 2014-04-14 14:26:52 +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
cccfd855ac Sanitize output from TextMate.system()
Since the API specifies an NSString we must expect valid UTF-8.
2014-04-01 16:01:19 +07:00
Allan Odgaard
b23163476f Add loadHTMLString: API to HTML output view
This replaces the current HTML shown without adding to the history and will preserve scroll position.
2014-03-29 18:58:52 +07:00
Allan Odgaard
5a8967e88e Implement delegate method for WebView load failures
This can happen if the WebView itself terminates the load, for example if window.close() is called from JavaScript.
2014-03-28 19:31:15 +07:00
Allan Odgaard
5f69ef31c7 Don’t use NS prefix for custom functions 2014-03-28 19:31:14 +07:00
Allan Odgaard
619a2cfec7 Change a few instances of floorf/fabsf → floor/fabs 2014-03-28 19:31:14 +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
0cb5f297de Add comment to explain workaround for presumed WebKit bug
Since the code was written before open sourcing TextMate, the explanation was only to be found in a private commit log.
2014-03-09 10:01:52 +07:00
Allan Odgaard
a4ad676c37 Add debug output to WebView delegate 2014-03-09 10:01:51 +07:00
Allan Odgaard
50ab241838 Open new window for HTML output links with target="_blank"
Since switching to ARC we need to ensure the NSWindow is “over-retained” as we rely on “setReleasedWhenClosed:YES”.

Also add ability to close such windows from JavaScript.
2014-03-09 10:01:51 +07:00
Allan Odgaard
09e5d88437 Refactor OakHTMLOutputView 2014-03-09 10:01:51 +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
57e8e37313 Rename NSReplacePboard → OakReplacePboard
We shouldn’t use Apple’s prefix for our own constants. The actual value of the constant hasn’t been renamed yet as this requires “migration” (renaming the key in user defaults).
2014-02-18 12:41:47 +07:00
Allan Odgaard
8ebbb338c2 Disallow creating OakPasteboardEntry outside OakPasteboard.mm
This is in preparation of adopting CoreData which will require a managed object context to create pasteboard entry objects.
2014-02-18 11:53:41 +07:00
Allan Odgaard
30802bf4c7 Guard against fileSystemRepresentation returning nil 2013-11-04 14:00:55 +01:00
Allan Odgaard
e4a5db0f3b Only first call to window.close() would have an effect
This is a workaround for https://bugs.webkit.org/show_bug.cgi?id=121232
2013-09-12 23:46:04 +02:00
Allan Odgaard
776a8d46d9 Fix window.close() for HTML output embedded in main window 2013-09-12 23:46:04 +02:00
Allan Odgaard
2f72f84ae5 Add leak watcher and some debug output 2013-09-12 23:46:04 +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
06f349507a Add a “did wrap” boolean to the OakFindProtocol API
This informs the “server” that searching wrapped around to find the match.
2013-07-23 22:45:52 +02:00
Jacob Bandes-Storch
b533df1a40 Bar button positioning tweaks 2013-07-21 13:42:43 +02:00
Allan Odgaard
3198a8cdb1 Use weak pointer for block-accessed run loop
I am seeing some crashes related to this code. My best guess is that a command execution (with exit handler) is created and then cancelled from JavaScript, which would invoke the cleanup block that uses the (now destroyed, but non-nilled) run loop.
2013-07-02 18:43:46 +02:00
Allan Odgaard
6b64f38053 Update dialog text 2013-06-19 11:55:32 +07:00
Allan Odgaard
1f893b5543 Stopping long lived TextMate.system() executions would crash 2013-06-19 11:55:32 +07:00
Allan Odgaard
4586bc2024 Fix async mode for TextMate.system (JS bridge)
In commit 03aea09148 we switched to properties for the mapped instance variables which meant they all got an underscore prefix and wasn’t seen from JavaScript.
2013-06-15 16:13:22 +07:00
Allan Odgaard
03aea09148 Use io::spawn instead of oak::command_t for TextMate.system
Like with snippets, we no longer support executing a shebang-script given “inline” — though this was never a documented feature and I am not aware of anything having made use of it.
2013-05-16 21:36:49 +07:00
Allan Odgaard
d7e54f88ea Use trackSwipeEventWithOptions:… for swipe gestures 2013-04-26 20:45:52 +07:00
Allan Odgaard
0bf02dbeff Move divider line functions to OakUIConstructionFunctions.h 2013-04-02 04:11:32 +07:00
Allan Odgaard
d72baacff4 Move divider image creation to OakUIConstructionFunctions.h 2013-04-02 04:11:32 +07:00
Jacob Bandes-Storch
98a7cd1e08 Add an etched effect to the status/action bar dividers 2013-03-21 04:59:14 -05:00
Allan Odgaard
2c2ef93521 Don’t keep mutex locked longer than required 2013-03-20 11:30:41 +01:00
Allan Odgaard
d8cf1e3591 Gather UI construction code and harmonize fonts 2013-03-13 12:38:11 +01:00
Allan Odgaard
c3e9fc1b0e Change oak::mutex_t → std::mutex (C++11) 2013-03-13 12:37:21 +01:00
Allan Odgaard
2c6504b82f Use symbolic constants for binding properties 2013-03-03 15:53:05 +01:00
Allan Odgaard
4e3d31e09c Improve heuristic for swipe gestures
We now try to find a scrollable view under the mouse, and if any scrolling was done, we reject the gesture as a “go back/forward” event.

Additionally we reject gestures with a duration of more than 0.2 seconds.

Maybe fixes #854.
2013-03-02 11:26:30 +01:00
Allan Odgaard
2190b14ee2 Disable swipes if not at min/max X 2013-02-21 21:46:58 +01:00
Allan Odgaard
01f39b77a6 HTML view status bar divider now match the others 2013-02-18 15:38:26 +01:00
Allan Odgaard
84b71c7640 Add swiping gesture support for 10.8
I am not sure what Apple’s thinking is here. We have swipeWithEvent: which worked on 10.7 but seems to no longer work, yet there is a global preference for configuring a swipe gesture and Safari supports that config option, but it appears other apps have to role their own implementation.
2013-02-15 15:27:55 +01:00
Allan Odgaard
c456d7e035 Handle linking to directories in HTML output
We now check for an ‘index.html’ when a file:-link points to a directory. If no such file exist then we show the “Not Found” error page.

This is to work with offline docs that doesn’t include the ‘index.html’ in the URL.
2013-02-15 15:27:54 +01:00
Allan Odgaard
e96dc916ef Remove commented code 2013-02-14 11:31:20 +01:00
Allan Odgaard
c46070f9ff Omit background fill if we have a border 2013-02-12 15:49:52 +01:00