Vincent Sanders
529ca251fc
rename flags for browser_window routines to be shorter
2013-02-18 11:51:42 +00:00
Vincent Sanders
b112dec78d
change browser_window_create and refactor all callsites
2013-02-18 11:23:48 +00:00
Vincent Sanders
3bfb5b96a7
browser_window_navigate refactor
2013-02-18 11:23:27 +00:00
Michael Drake
553c55b07a
Move selection clearing into a function, and expose it in the header file.
2013-02-13 13:37:46 +00:00
Michael Drake
08a229161b
Calculate and store text offsets only when they change, rather than recalculating on every redraw and caret placement. Also ensures that caret placement and redraw get the same text offset values.
2013-02-13 13:08:05 +00:00
Michael Drake
13574018d1
Fun micro-optimisations.
2013-02-12 21:16:30 +00:00
Michael Drake
2c64e89641
Implement selection modification. Clicks and drags with button 2 alter the nearest end of the selection. Button 2 when there is no selection selects from caret pos to click pos.
2013-02-12 18:20:06 +00:00
Michael Drake
eccf590616
Triple click selects paragraph in textarea widget.
2013-02-12 12:58:12 +00:00
Michael Drake
97f0a22a8b
Tidy textarea-handled mouse action.
2013-02-12 12:09:49 +00:00
Michael Drake
19f09dcc61
Init clipboard to NULL, just in case front end implementation of gui_get_clipboard fails to set it on empty clipboard.
2013-02-12 11:15:37 +00:00
Michael Drake
c39a3d7263
When reqesting redraaw to remove internal caret, make sure caret is already removed as the redraw may be serviced immediatley.
2013-02-12 10:13:55 +00:00
Michael Drake
515cef8444
Don't include '\0' in single-line nsfont_width call.
2013-02-11 18:42:51 +00:00
Michael Drake
fe7b71edbf
Selection autoscroll of scrollbarless textareas (single line).
2013-02-11 17:55:36 +00:00
Michael Drake
99cab8389a
Early detection of regions outside the visible.
2013-02-11 17:05:42 +00:00
Michael Drake
fc430dba75
Clip native caret render so it can't overwrite border. Slight simplification.
2013-02-11 16:47:11 +00:00
Michael Drake
e6bf51c3ba
Single line textareas don't have scrollbars, so they don't get the scroll redraw request from the scrollbar callback.
2013-02-11 16:31:06 +00:00
Michael Drake
3bcc79ccf0
Don't need to redraw for caret removal if using a native caret.
2013-02-11 16:10:19 +00:00
Michael Drake
fa2d5cf62c
Fix internal caret redraw bounds.
2013-02-11 14:30:26 +00:00
Michael Drake
18444f261a
Fix delete-to-line-end.
2013-02-11 13:39:56 +00:00
Michael Drake
7af0614202
Make delete line key enum value name less missleading. (Doesn't cut to clipboard.)
2013-02-11 10:34:06 +00:00
Michael Drake
99fc8d3f0d
Move html textarea's selection colour chooser to plot_style.h, as it could be used elsewhere.
2013-02-11 00:41:22 +00:00
Michael Drake
b38520da99
Implement delete line. (Ctrl+U on RISC OS.)
2013-02-10 23:22:46 +00:00
Michael Drake
10edbc45bd
If a character is replaced by a character of different width, the caret needs to move. Checking change in character index isn't enough, so move caret if redraw was required too.
2013-02-09 18:41:23 +00:00
Michael Drake
32e9602126
When updating textarea layout settings, remember scrollbar status.
2013-02-09 18:21:10 +00:00
Michael Drake
1be54d7b10
If restarting reflow for scrollbar change, need to start at line 0.
2013-02-09 16:50:30 +00:00
Michael Drake
56cfa93531
Empty textarea has one line.
2013-02-09 16:28:00 +00:00
Michael Drake
25b036418e
Stop it from using past the end of lines data allocation. (It could add up to 2 lines per pass, but assumed 1 for allocation.)
2013-02-09 15:26:20 +00:00
Michael Drake
8c3e0cf81a
[Return] will replace selection.
2013-02-09 14:43:21 +00:00
Michael Drake
b4609f41bc
Support front ends that pass CR for [return], as well as those that pass NL.
2013-02-09 14:19:38 +00:00
Michael Drake
eb1113e4c3
Fix handling of empty textarea.
2013-02-09 14:18:17 +00:00
Michael Drake
048b344a43
Take account of scrollbar-occupied regions.
2013-02-09 13:34:28 +00:00
Michael Drake
f848de3dd0
Fix use of x values when y is required.
2013-02-09 13:18:16 +00:00
Michael Drake
2bd0d13817
Take account of caret height when scrolling to show caret.
2013-02-09 11:54:13 +00:00
Michael Drake
688e1b0e4f
Slight selection auto-scroll optimisation.
2013-02-09 11:24:44 +00:00
Michael Drake
363d02b8ad
Pedantic wrap.
2013-02-08 23:39:41 +00:00
Michael Drake
50c52408f5
Fix seg fault when moving cursor up onto empty top line.
2013-02-08 23:38:05 +00:00
Michael Drake
6fee220c52
Adjust code to reduce indentation.
2013-02-08 23:35:42 +00:00
Michael Drake
0d831c4ab6
Scaled textarea rendering support. Ugly.
2013-02-08 23:25:40 +00:00
Michael Drake
586e02e915
Implement text selection auto-scroll.
2013-02-08 20:03:44 +00:00
Michael Drake
7a397d29c6
Improve scroll-to-caret behaviour.
2013-02-08 19:46:35 +00:00
Michael Drake
59d24187f7
Support dropping text file on textarea widget.
2013-02-08 16:05:44 +00:00
Michael Drake
698f391289
Add scrollwheel support to textareas.
2013-02-08 15:26:24 +00:00
Michael Drake
f57e89cc25
Add ta to documentation.
2013-02-08 15:15:27 +00:00
Michael Drake
9c20ff9592
Drag fixup. Add some documentation.
2013-02-08 15:05:07 +00:00
Michael Drake
4747bbbfb2
HTML drags now go via content msg.
2013-02-08 13:22:53 +00:00
Michael Drake
9ec663f3a9
Tweak selection rendering. Adjusting layout doesn't emit redraw request. Client must redraw when it wants it.
2013-02-08 13:16:24 +00:00
Michael Drake
76b0e59b18
Don't lose fractional part of text pt size to rounding.
2013-02-07 15:03:35 +00:00
Michael Drake
2979a19786
Remove input subtree special numberspacing.
2013-02-07 14:21:48 +00:00
Michael Drake
94be5edbfa
Native caret not now set in redraw. Prevents endless redraw when textarea has caret.
2013-02-07 13:58:43 +00:00
Michael Drake
762e1aad73
First pass at getting html forms to use textarea widget.
...
(Input element types text & password, and textarea element.)
Can edit and submit forms, but there are loads of issues.
2013-02-06 22:39:45 +00:00
Michael Drake
008cdb42d7
Fix empty textarea reflow. Fix empty line (just \n) redraw. Add set layout function to set size and padding.
2013-02-06 22:30:32 +00:00
Michael Drake
442218cb80
Pull flags out of textarea_setup.
2013-02-02 22:58:35 +00:00
Michael Drake
97bc1d0189
Add support for password text inputs.
...
+ Text display obscured.
+ Cut/Copy put the obscured version on the clipboard.
2013-02-01 18:29:27 +00:00
Michael Drake
663191791e
Add move caret msg. Add flag to choose internal caret or caret move msgs.
2013-01-30 18:01:01 +00:00
Michael Drake
5eb417fff4
Create textarea_msg struct on stack, rather than using global.
2013-01-29 22:52:21 +00:00
Michael Drake
af7a5d2d67
Don't redraw if selection is unchanged.
2013-01-29 20:28:10 +00:00
Michael Drake
93cc123200
Update textarea to inform client what it's doing with drags.
...
Now single callback for both redraw requests and drag reports.
Update treeview to use new textarea API.
Update Atari URL bar to use new textarea API. (Ignores drag reports, currently.)
Minor textarea fixes.
2013-01-29 17:34:08 +00:00
Michael Drake
75a24f7838
Add enum value for when no button is pressed (hover).
2013-01-29 14:07:24 +00:00
François Revol
2f94b0a949
textarea: C89
2013-01-20 17:59:55 +01:00
Michael Drake
9995ef583f
Early scrollbar mouse handling.
2013-01-18 23:32:53 +00:00
Michael Drake
d252896953
Ensure we know for sure if scrollbar widget will want to scroll us. Avoid double xy to offset conversion.
2013-01-15 21:05:54 +00:00
Michael Drake
7a0b347563
Add parentheses.
2013-01-15 19:50:36 +00:00
Michael Drake
348e9789a4
Add scrollbars to textarea, and improve scrolling to try to keep caret in centre. Currently the scrollbars are mostly decoration, although they show accuratly where you are scrolled to in the area. TODO: Pass mouse input to scrollbars.
2013-01-15 19:40:32 +00:00
Michael Drake
96264ca71e
Use right padding. Thanks jmb.
2013-01-14 12:01:23 +00:00
Michael Drake
700aea8b08
Fix caret removal redraw to take account of border width. Fix scroll_visible to take account of border width in vertical scroll.
2013-01-14 11:46:56 +00:00
Michael Drake
2b7bc02961
Implement most of the styling needed for HTML. Allow caret to be hidden.
2013-01-13 23:01:29 +00:00
Michael Drake
740559ab52
Rewrite redraw to handle selection properly. (Now text can change colour inside selection, rather than just rendering a rectangle under the normal line of text. This removes colour restrictions, allowing e.g. inversion for selected text.)
2013-01-13 14:51:26 +00:00
Michael Drake
c7a37392e4
Add background colour to textarea_redraw API. Add source comments.
2013-01-12 20:59:32 +00:00
Michael Drake
5124b8a02a
Add textarea_setup struct to textarea_create API.
2013-01-12 20:46:01 +00:00
Michael Drake
ac03806a50
Fix redraw of caret when scroll offsets are non-zero, only caret has moved, and we're not getting a full textarea redraw.
2013-01-10 23:21:47 +00:00
Michael Drake
ac89e52109
Simplify routine to scroll ta so that caret is visible.
2013-01-10 23:20:42 +00:00
Michael Drake
ab5d165659
More wrap behaviour improvement.
2013-01-10 19:43:22 +00:00
Michael Drake
694c1e7eea
Fix silly.
2013-01-10 18:42:56 +00:00
Michael Drake
d3973b2991
Fix previous caret position redraw.
2013-01-10 18:36:25 +00:00
Michael Drake
2158ef60a8
Improve reflow in multiline textareas.
2013-01-10 17:42:43 +00:00
Michael Drake
eddb0f17d1
Simplfy caret placement and redraw.
2013-01-10 15:06:05 +00:00
Michael Drake
4cad82db9f
Fix caret placement in multi-line textareas.
2013-01-10 12:46:33 +00:00
Michael Drake
ec8e6ac91d
Add support for clipboard. Improve text selection behaviour. Various fixes.
2013-01-09 18:10:20 +00:00
Michael Drake
31e7b6d983
Make get_xy_offset return both char and byte offset. (Byte being needed for selection replacement.)
2013-01-09 14:26:11 +00:00
Michael Drake
964a736a53
Rename selection index markers.
2013-01-08 19:51:59 +00:00
Michael Drake
8af3dd9a43
Redo html textinput for new front end clipboard API. This doesn't affect the textinput code's brokenness.
2013-01-08 16:59:26 +00:00
Michael Drake
de63a64b50
Update to use new front end clipboard functions. Now we build the buffer from each individual text box in the core, instead of in each front end. Styles for text runs are generated in the HTML case.
2013-01-08 16:54:46 +00:00
Michael Drake
147f2bd08a
Remove content_msg for PASTE, since it doesn't need a gui_window to get the buffer from the front end now.
2013-01-08 16:53:00 +00:00
Michael Drake
e93fae7f2d
Change clipboard api, so it does not assume either browser_window/gui_window, or html/text-plain content selection objects. This allows desktop/textarea to use clipboard.
2013-01-08 16:44:45 +00:00
Michael Drake
f43f84f5ad
Fix redraw of selection hightlight during selection drags.
2013-01-07 14:15:35 +00:00
Michael Drake
0c0f1e4b7a
Remove wrong comments.
2013-01-07 12:59:06 +00:00
Michael Drake
e414d545af
Make comment concise.
2013-01-07 12:22:51 +00:00
Michael Drake
1ac2e00134
Remove forward declaration.
2013-01-05 15:27:53 +00:00
Michael Drake
912d3f7690
Put exported function comments in header.
2013-01-05 15:15:23 +00:00
Michael Drake
46b7691522
Start rationalising textarea widget.
2013-01-05 14:52:02 +00:00
Michael Drake
131b4cdda1
For now selection clear and selection copy are handled by the bw. Select all is only handled by the bw if nothing has claimed input. This stops the crash when select all is used in textarea.
...
TODO: The special keys should not be handled by the bw, they should be handled by the content with focus.
2013-01-03 15:25:59 +00:00
Michael Drake
4aadb5237a
Ensure selection related keypresses go to whatever has claimed input.
2013-01-03 12:48:09 +00:00
Vincent Sanders
33934e1271
implement the GTK preferances dialog with signals
2013-01-01 00:59:47 +00:00
John-Mark Bell
ea3f09a724
Correctly emit entities when serialising to HTML.
2012-12-30 23:37:06 +00:00
Vincent Sanders
ce309aa5a9
add message retrival of error codes ensuring there are messages for all codes
2012-11-26 17:32:57 +00:00
François Revol
8a12a8d545
C89
2012-11-25 19:19:58 +01:00
John-Mark Bell
ce640e59fd
Report (and ignore) failure to load non-existent document. (Credit: Chris Young)
2012-11-11 11:31:34 +00:00
John-Mark Bell
bb3a6bbb3b
Permit hotlist entries to have no title.
2012-11-11 11:23:43 +00:00
Chris Young
f2ab822a83
Prevent NULL pointer access with plain text contents
2012-11-10 22:26:43 +00:00
Vincent Sanders
a79e098817
remove redundant domutils and put functionality in existing utils/libdom
2012-11-10 11:44:38 +00:00
John-Mark Bell
4d58ed6562
Port hotlist load/save to libdom.
2012-11-09 23:23:04 +00:00
Michael Drake
2385f8269a
Fix to escape comments in save complete output.
2012-11-06 10:02:17 +00:00
Michael Drake
af1572be92
Height is already scaled. Make OBJ char bigger.
2012-11-05 19:08:44 +00:00
Michael Drake
d0cb1d4e66
Don't abort redraw on bad image.
2012-11-05 18:19:14 +00:00
John-Mark Bell
f824ab8af4
Port save complete to libdom.
2012-11-03 23:19:45 +00:00
Vincent Sanders
a1d052399a
fix warnings
2012-10-18 10:40:53 +01:00
Vincent Sanders
f18bbd48c7
Improve error handling in html content
2012-10-17 21:52:43 +01:00
Michael Drake
35eb251244
Fix "error setting certificate verify locations" problem when the Choices file doesn't exist. Now there's a single place for front ends to set options overrides. Fix nsoption_setnull_charp leak.
2012-10-17 14:20:18 +01:00
Michael Drake
0c0b263b29
Add some startup logging.
2012-10-17 11:41:25 +01:00
Michael Drake
dbed8312c8
Disable thumbnail persistence.
2012-10-14 19:13:07 +01:00
Michael Drake
8dd8330eee
Remove unused #ifdef riscos.
2012-10-14 19:10:39 +01:00
Michael Drake
c8263d299e
Tree can't be NULL.
2012-10-11 14:06:48 +01:00
Michael Drake
211e3ac414
Fix leak.
2012-10-11 13:16:07 +01:00
Michael Drake
167336cce2
Iframes have to have a parent content.
2012-10-11 13:06:51 +01:00
Michael Drake
d9e7d58106
Fix up ripples from urldb change.
2012-10-11 11:20:02 +01:00
Michael Drake
7411356b3b
Merge branch 'master' of git://git.netsurf-browser.org/netsurf
2012-10-09 15:38:01 +01:00
Michael Drake
38a9c374a4
Remove unused functions.
2012-10-09 15:26:32 +01:00
Daniel Silverstone
4945eeac2f
Revert previous two commits now that we've diagnosed the CI hiccough
2012-10-08 21:59:47 +01:00
Daniel Silverstone
b8af038726
Throw a #warning when the CI build is detected. Sorry for the noise
2012-10-08 21:50:12 +01:00
Michael Drake
9d29c8b48a
Merge branch 'master' of git://git.netsurf-browser.org/netsurf
2012-10-08 20:34:34 +01:00
Michael Drake
ce577f4dc4
Port to new urldb API.
2012-10-08 20:34:04 +01:00
Vincent Sanders
5800789df2
trivial docuemntation cleanups to address some of the huge number of docuemntation warnings
2012-10-08 14:52:24 +01:00
Daniel Silverstone
9cb4d00ea9
If you pass CI_BUILD=xxx to make, it will build a CI #xxx into the version string and also mention it in the testament
2012-10-06 18:12:57 +01:00
Vincent Sanders
2bde4a3baa
verify path parameter to options loading
2012-10-05 14:26:25 +01:00
Michael Drake
5646528898
Fix cases of returning pointers as bool for GCC 2.95.2.
2012-09-29 23:09:32 +01:00
Michael Drake
153c444454
Move browser_window struct to private header. Places that shouldn't include it do, such as front end code.
...
Frontends that have been updated to build:
framebuffer
gtk
monkey
riscos
TODO:
amiga
atari
beos
cocoa
windows
2012-08-22 12:22:58 +01:00
Michael Drake
d489908af8
Move scrollbar msg data declaration.
2012-08-22 10:43:50 +01:00
Michael Drake
d307a854fc
Clean up includes.
2012-08-22 10:37:22 +01:00
Michael Drake
b134279644
Allow the presence of form inputs to be obtained without knowledge of html content internals.
2012-08-20 22:02:37 +01:00
Michael Drake
014fb9db8d
Function for front ends to get debug dump from bw.
2012-08-20 16:05:30 +01:00
Michael Drake
9a82677312
Remove declaration of nonexistent function.
2012-08-20 14:26:43 +01:00
Michael Drake
edef40bbc4
Don't pass struct box to content open.
2012-08-20 14:22:28 +01:00
Michael Drake
a4f796e217
Let *_drop_file_at_point determine if a drop is possible.
2012-08-20 12:12:10 +01:00
Michael Drake
57d2e31e59
Avoid using hlcache_handle for drag saves in html_interaction. Drag save msg with NULL content now means save the content which sends the message.
2012-08-19 12:46:42 +01:00
Michael Drake
65e825c0c5
Handle choice of whether to show status for loading content or request content.
2012-08-19 11:33:37 +01:00
Michael Drake
a2906b3994
Add paste request content message.
2012-08-18 22:19:15 +01:00
Michael Drake
142a0bf859
Add content message for setting mouse pointer.
2012-08-17 10:01:15 +01:00
Michael Drake
e177fa49c2
Move mouse pointer enums to mouse header.
2012-08-17 09:45:15 +01:00
Michael Drake
402de7572d
Use new content message for saving of hyperlink target URL.
2012-08-16 23:26:05 +01:00
Michael Drake
d9bd357802
Move browser window related control over mouse pointer out of html content handler.
2012-08-16 22:44:25 +01:00
Michael Drake
35fd2ad7f2
Don't use GUI_POINTERs in content handlers.
2012-08-16 22:21:08 +01:00
Michael Drake
cb9781e057
Move bw time recording to bw layer.
2012-08-16 21:35:42 +01:00
Michael Drake
1919c8e071
Add message for content wanting wanting drag save to start.
2012-08-16 20:20:49 +01:00
Michael Drake
049d5097b8
Don't need to include content.h
2012-08-16 19:36:25 +01:00
Michael Drake
d8872b6bab
Remove redundant legacy checking for bw->window.
2012-08-16 16:26:43 +01:00
Michael Drake
6daf6c178d
Frame drag start function can take child bw. Don't need to get root bw in html handler. Avoids bw dereferences.
2012-08-16 16:14:15 +01:00
Michael Drake
195a77a4cd
Make new function for starting a frames resize and use it.
2012-08-16 15:55:20 +01:00
Michael Drake
c1be4c9e77
Formatting changes.
2012-08-16 15:47:14 +01:00
Michael Drake
7277ce5dfc
Remove redundant "action" param.
2012-08-16 15:43:14 +01:00
Michael Drake
83c8e940f8
Don't pass status to frames handler.
2012-08-16 15:38:06 +01:00