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