Commit Graph

1246 Commits

Author SHA1 Message Date
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
Michael Drake
4872bc30b8 Remove redundant scrollbar widget message. 2012-08-16 13:13:25 +01:00
Michael Drake
e5374cc042 Let contents broadcast explicit status messages as well as announce that their internal status has been updated. 2012-08-15 19:00:50 +01:00
Michael Drake
5526d7e6f2 Stop render/search.c from dereferencing bw and remove dependency on html & text contents' bw pointer. 2012-08-14 14:03:54 +01:00
Michael Drake
b51816c222 Clean up search gui callbacks. 2012-08-14 13:41:30 +01:00
Michael Drake
8c12ecd5cd Let browser window handle content scroll request message. 2012-08-13 23:32:58 +01:00
Michael Drake
3f9565753f Make selection_traverse internal to desktop/selection.c. 2012-08-13 17:48:03 +01:00
Michael Drake
86f3e70f1a Tolerate NULL selection context in selection_get_copy. 2012-08-13 17:38:09 +01:00
Michael Drake
e9b036a794 Fix selection string struct init. 2012-08-13 17:21:04 +01:00
Michael Drake
4c945bd16f Function to get copy of selection as string. 2012-08-13 17:09:42 +01:00
Michael Drake
d106091d6e Pass font plot style out to front end clipboard append function. 2012-08-13 14:43:04 +01:00
Michael Drake
68947c377e Obtain font style in copy handler. 2012-08-13 13:55:57 +01:00
Vincent Sanders
d3b4a286f9 check return from lwc operation 2012-08-09 18:00:55 +01:00
Michael Drake
efaca1c1fa Add core function for copy to clipboard, so we don't need to expose render/box.h internals to front ends. 2012-08-02 14:23:42 +01:00
Vincent Sanders
25cdea3351 doxygen serious warning cleanup 2012-07-24 16:19:49 +01:00
Daniel Silverstone
2363301c94 Show refcnt in lwc iterator at netsurf exit. 2012-07-22 20:24:33 +01:00
Michael Drake
2ad24f39da Interned string cleanup, phase 2: Create utils/corestrings and use it in css handler. 2012-07-22 15:48:55 +01:00
John-Mark Bell
1ecc94b187 Use case insensitive string comparisions for nodes 2012-07-15 01:39:25 +01:00
Vincent Sanders
1fc96acf47 hlcache handle is not a content, do not treat it as one - oops 2012-07-07 00:14:50 +01:00
John Mark Bell
05ee98d1d6 Add support for selecting text fragments (based on a patch from Ole Loots)
svn path=/trunk/netsurf/; revision=14016
2012-06-30 10:24:15 +00:00
Daniel Silverstone
8551b9dff0 Move js_finalise(). Fix provided by Ole Loots (mono)
svn path=/trunk/netsurf/; revision=14014
2012-06-29 20:37:32 +00:00
Vincent Sanders
638e135c60 correctly setup window object as global
svn path=/trunk/netsurf/; revision=13987
2012-06-26 18:55:57 +00:00
Chris Young
08f18009c8 Fix typo
svn path=/trunk/netsurf/; revision=13970
2012-06-19 20:00:53 +00:00
Vincent Sanders
49effe103a restructure javascript binding layout to be more explicit
fix html content so it correctly loads all the script tags


svn path=/trunk/netsurf/; revision=13968
2012-06-19 09:35:51 +00:00
Vincent Sanders
4c89c9d5df improve javascript support
svn path=/trunk/netsurf/; revision=13962
2012-06-10 22:17:30 +00:00
Chris Young
9458ed77ab Add support for sending DoNotTrack header.
svn path=/trunk/netsurf/; revision=13928
2012-05-20 16:29:57 +00:00
Michael Drake
387c85ae0b Pass correct width/height values to textarea redraw callback when setting caret position. Reduces flicker.
svn path=/trunk/netsurf/; revision=13851
2012-04-12 10:30:20 +00:00