Michael Drake
cca6707585
Update documentation for update_size callback.
2013-06-30 17:52:55 +01:00
Michael Drake
64eab40b18
Fix typo.
2013-06-18 20:10:08 +01:00
Michael Drake
4e0f960e3c
Write up the rest of the fucntion comments.
2013-06-18 19:53:57 +01:00
Michael Drake
7cd0bacaf6
Create folders as they're required when entry is inserted.
2013-06-18 19:26:49 +01:00
Michael Drake
8c114cdfd8
Ensure global_history_delete_internal checks treeview node is NULL. Add various documentation comments.
2013-06-18 18:54:06 +01:00
Michael Drake
a642cab1b7
Point at header for exported function commentary.
2013-06-18 17:26:36 +01:00
Michael Drake
146fea758f
Global history finaliser does not need core_window stuff.
2013-06-18 17:25:23 +01:00
Michael Drake
d6ee11de93
Add documentation comments.
2013-06-18 17:22:56 +01:00
Michael Drake
99e1246cab
Document static functions.
2013-06-18 17:08:35 +01:00
Michael Drake
0b730caf2d
More documentation.
2013-06-18 16:49:42 +01:00
Michael Drake
beceec8c8e
Say which functions are documented in the header.
2013-06-18 16:08:21 +01:00
Michael Drake
ec02cf9e4c
Remove unused function.
2013-06-18 16:04:14 +01:00
Michael Drake
1f3265f2a5
Add documentation.
2013-06-18 16:02:31 +01:00
Michael Drake
d064e9ac78
Add support for selection drags. Not yet implemented move drags.
2013-06-18 14:58:43 +01:00
Michael Drake
55dd035686
Add triple click to mouse event logger.
2013-06-15 15:55:05 +01:00
Michael Drake
a3c72894b9
Make test parasite pass drag end event to new treeview.
2013-06-15 15:50:41 +01:00
Michael Drake
44e4ca5f05
Merge branch 'master' of git://git.netsurf-browser.org/netsurf
2013-06-05 12:28:08 +01:00
Michael Drake
b04acde228
Set visits and last visited values.
2013-06-04 21:53:28 +01:00
Vincent Sanders
4e24869524
Add and use no proxy list option
2013-06-04 18:11:15 +01:00
Michael Drake
db62a386bf
Reduce redraw area.
2013-06-04 15:43:52 +01:00
Michael Drake
d398caf146
Ensure there's a title.
2013-06-04 15:31:29 +01:00
Michael Drake
9919b77f19
Update for launch msg.
2013-06-04 15:11:24 +01:00
Michael Drake
29185f75cf
Fixup and remove unused defines.
2013-06-04 15:11:05 +01:00
Michael Drake
23a0520b40
Enable double click to launch from treeview.
2013-06-04 15:03:07 +01:00
Michael Drake
8692bb6876
Add support for clicking node expansion toggle.
2013-06-04 14:33:02 +01:00
Michael Drake
add9e72837
Allow ctrl + select to toggle selection.
2013-06-04 13:26:02 +01:00
Michael Drake
abf5512aff
Make releationship enum meanings clearer.
2013-06-04 12:24:14 +01:00
Michael Drake
cdf9c9ba72
Sort so newest at top.
2013-06-04 12:12:20 +01:00
Michael Drake
a86dd68165
Lose excess logging.
2013-06-04 12:01:45 +01:00
Michael Drake
d9a66a7ce8
Different text colour for an expanded entries' fields.
2013-06-04 11:15:44 +01:00
Michael Drake
c011f45860
Store inset on node.
2013-06-04 10:37:16 +01:00
Michael Drake
f947259ef2
Get line height from font size.
2013-06-03 21:56:18 +01:00
Michael Drake
abe003cc8d
Remove selected area styles.
2013-06-03 20:24:34 +01:00
Michael Drake
8b940b5f11
Don't pass INT_MAX to redraw_request. RO WIMP doesn't like it.
...
TODO: Make treeview aware of the window size.
2013-06-03 20:21:00 +01:00
Michael Drake
aeb09c7329
Remove logging.
2013-06-03 20:10:19 +01:00
Michael Drake
c7b57ff681
Include full expanded entry height in clip test.
2013-06-03 20:06:36 +01:00
Michael Drake
99d85697d2
Use plot coordinate correctly and use the shifted offset clip rect.
2013-06-03 20:00:23 +01:00
Michael Drake
ab39827bd8
Fix use of wrong enum value.
2013-06-03 19:51:46 +01:00
Michael Drake
8fda149bae
Make heights signed, to simplify comparison with struct rect values, which are signed.
2013-06-03 19:49:36 +01:00
Michael Drake
088d60ec96
Simplify redraw node walk.
2013-06-03 18:54:19 +01:00
Michael Drake
fd453beb97
Squash warnings for things that can't happen.
2013-06-03 18:42:02 +01:00
Michael Drake
1726304d72
Simplify tree walker.
2013-06-03 18:41:08 +01:00
Michael Drake
dafe9a6208
Fix string length.
2013-06-03 18:40:49 +01:00
Michael Drake
8f3b8c8cfa
Clean up history node deletion -- now treeview driven. Add select all, selection clear, has selection functions. Improve selection handling. Enable double click to toggle node expansion. Improve redraw behaviour. Make treeview call node callback for deletion. Fix redraw issues.
2013-06-03 17:06:47 +01:00
Michael Drake
b959e6946d
Squash warning.
2013-05-31 21:02:56 +01:00
Michael Drake
d3b8a493af
cw handle can't be const.
2013-05-31 21:02:29 +01:00
Michael Drake
e684218169
Merge branch 'master' of git://git.netsurf-browser.org/netsurf
2013-05-31 20:58:39 +01:00
Chris Young
864762cbe6
Merge branch 'chris/gadtools-53-5'
2013-05-31 19:59:58 +01:00
Michael Drake
910b31f63e
Rename treeview_walk --> treeview_walk_internal.
2013-05-31 18:16:22 +01:00
Michael Drake
03eb4ec30f
Implement redraw request hander for treeview test parsite.
2013-05-31 17:57:28 +01:00
Michael Drake
ab403b2517
Call redraw function on clicks. Enable treewalker to skip the children of collapsed nodes.
2013-05-31 17:56:22 +01:00
Michael Drake
a669a7d12c
Make treeview test parasite sit on mouse input too.
2013-05-31 13:26:14 +01:00
Michael Drake
cf57827187
Add function to pass mouse input to treeview.
2013-05-31 13:25:49 +01:00
Michael Drake
ab9efd19fe
Make node flags for expanded and selected. Start mouse action support. (Little more than a stub.)
2013-05-31 13:24:27 +01:00
Michael Drake
d939460872
Add parasitic hack to allow the new treeview to be tested in the Hotlist window.
...
(Tested with GTK front end only, so far.)
2013-05-31 10:11:22 +01:00
Michael Drake
9031221267
Build the new treeview and global history.
2013-05-31 10:11:01 +01:00
Michael Drake
f656d8ca04
Add global history client for new treeview.
...
Loads from urldb. Much faster load than old treeview based history.
TODO: Keep it up-to-date as you browse.
2013-05-31 10:08:59 +01:00
Michael Drake
55aa7af80f
Add first pass at new treeview.
...
Only supports creation, destruction, and redraw atm.
TODO: input handling (mouse, keyboard), editing, using the node callbacks.
Also includes new core_window.h.
2013-05-31 10:05:15 +01:00
Michael Drake
817e85f882
Ensure readable default colours.
2013-05-29 13:33:43 +01:00
Michael Drake
ec3491280a
Move NetSurf to CSS colour conversion macro. Make both conversion macros the same.
2013-05-29 12:10:40 +01:00
Vincent Sanders
92d6c14c8d
remove ambiguity in subtraction and masking
2013-05-29 11:40:28 +01:00
Vincent Sanders
44badddbdf
fix transparancy on css colour lookup
2013-05-29 11:33:17 +01:00
Vincent Sanders
1502b08925
move option init out of netsurf_init
2013-05-28 14:16:11 +01:00
Vincent Sanders
ea0f541309
add common system colour implementation
2013-05-28 14:16:11 +01:00
Vincent Sanders
4ae69da5ea
build new options code and remove old
2013-05-28 14:16:11 +01:00
Vincent Sanders
ee6e6eec05
move options include
2013-05-28 14:16:10 +01:00
Vincent Sanders
a5355ec557
change all core and frontend options headers to new format
2013-05-28 14:16:10 +01:00
Michael Drake
ba9769bc8c
Pass fetch redirect info up to content layer as content_msg. Mark redirect origin URLs as visited in browser window content callback. Note this doesn't mean we track redirects, it just lets us get the :visited link style on links that redirect.
2013-05-27 14:51:00 +01:00
Vincent Sanders
35dacc3671
move the logging initialisation out to be call by frontends
...
This allows each frontend to pass a distinct callback to configure the
output file stream appropriately for their use.
2013-05-23 11:50:57 +01:00
Vincent Sanders
12ff7a47f4
removed unsuded memdebug utilities
2013-05-23 09:29:00 +01:00
Vincent Sanders
af75070bee
add script_timeout option and use it
2013-05-22 19:12:26 +01:00
Vincent Sanders
ce0fe06349
create javascript heartbeat and hook a script timeout to it
2013-05-22 19:12:26 +01:00
Chris Young
36b40e219a
Get URL node icon
2013-05-18 16:38:03 +01:00
Chris Young
034ba7c2f2
Allow getting the node's icon
2013-05-18 16:35:48 +01:00
Daniel Silverstone
dd5ec71a1f
Add logging to hotlist_cleanup() so we can narrow the field a little
2013-05-15 18:32:29 +01:00
Chris Young
6d7adac89e
Update the edit menu after every click, to be safe.
2013-05-12 20:36:47 +01:00
Chris Young
0b028e41c6
more fix of edit menu updates
2013-05-12 20:36:46 +01:00
Michael Drake
9644d0594c
Remove struct selection from gui_drag_save_selection, so gui.h doesn't need it now.
2013-05-10 11:54:26 +01:00
Michael Drake
8b6665fe03
Merge branch 'master' of git://git.netsurf-browser.org/netsurf into tlsa/selection-search-refactor
2013-05-07 14:56:42 +01:00
Michael Drake
3afd9c9731
Remove search context from browser window, simplify search interface for front ends.
...
Added content interface for search.
Removed bw->cur_search search context. Desktop layer now does nothing
except pass search requests from front end onto the bw's current_content
via the content interface.
Search API reduced to a pair of functions at each level:
{desktop|content|html|textplain}_search
and
{desktop|content|html|textplain}_search_clear
Updated front ends to use simplified search API. Only tested GTK and RO builds.
These confine the search stuff to render/. However search still uses struct
selection. The handling for which is still spread over desktop/ and render/.
Also the render/search code itself still fiddles inside html and textplain
privates.
2013-05-07 14:41:40 +01:00
Vincent Sanders
30b1fc1dbd
add assert to ensure API contract is met
2013-05-04 17:01:00 +01:00
Vincent Sanders
52c5cccdeb
cleanup tree_create_leaf_node text ownership
2013-05-04 09:49:11 +01:00
Vincent Sanders
5c57a30047
cleanup title string ownership madness in the tree_create_folder_node() API
2013-05-03 21:17:11 +01:00
Michael Drake
50d7a2288c
Remove redundant read-only test function.
2013-05-02 09:34:01 +01:00
Michael Drake
e92dd5bf6a
Remove dead stuff from the selection_ api surface.
2013-05-02 09:34:01 +01:00
Vincent Sanders
2f03a0bfaf
fix use after free on error path
2013-05-01 22:32:28 +01:00
Michael Drake
2cb4a11d1d
Remove unused #includes.
2013-04-29 14:55:20 +01:00
Michael Drake
6784e90a3a
Remove unused selection_get_{start|end} APIs and their helper function.
2013-04-29 14:47:06 +01:00
Michael Drake
a4a3bcd979
Update comments.
2013-04-29 14:00:36 +01:00
Michael Drake
a467363d5e
Remove block of code that have been commented out for years.
2013-04-29 13:41:27 +01:00
Daniel Silverstone
5e774272cd
Bump version.c to 3.1
2013-04-20 14:58:17 +01:00
Michael Drake
c8d76e68ca
Hide caret after reflow (textarea may have moved), but let textarea keep focus.
2013-03-27 13:57:10 +00:00
Michael Drake
3529d39759
Don't show caret when scrolling a textarea that hasn't been given focus.
2013-03-27 13:46:57 +00:00
Michael Drake
e2bcc5f5eb
Tidy up pointer beyond scrollbars.
2013-03-27 11:43:10 +00:00
Michael Drake
9a73da6347
Reduce multi-line textarea a bit more. When redrawing only one line, don't redraw unchanged text at the start of the line.
2013-03-26 14:07:08 +00:00
Michael Drake
0bb9543293
Further reduce redraw region for multi-line textareas when editing.
2013-03-26 12:54:19 +00:00
Michael Drake
53962009da
Trivial redraw optimisation for multiline textareas. Only redraw the line that was changed and below.
2013-03-25 12:37:18 +00:00
Michael Drake
cc4411c0c7
Remove some spaces.
2013-03-25 12:03:53 +00:00
Michael Drake
70fbca3606
Reduce redraw area for selection set/change/clear.
2013-03-22 18:14:42 +00:00
Michael Drake
b603cafbaa
Move line start calc into reflow handler.
2013-03-22 18:14:42 +00:00
Michael Drake
ad53da023d
Optimise redraw of single line textarea. When single line textarea is unscrolled, only the changed area is redrawn after edits.
2013-03-21 18:47:38 +00:00
Michael Drake
948f2dbed6
Split reflow into two functions for single or multi line textareas.
2013-03-21 14:15:36 +00:00
Michael Drake
8e360ff040
Robust detection of scroll changes.
2013-03-20 19:52:10 +00:00
Michael Drake
c568a9626b
Avoid double redraw when edit causes scroll.
2013-03-20 19:24:53 +00:00
Michael Drake
50efd110b8
Use cached line length to avoid some nsfont_width calls for selection rendering in redraw.
2013-03-20 18:09:52 +00:00
Michael Drake
3403891f63
Avoid redraw of scrollbars when they've not changed.
2013-03-20 17:53:38 +00:00
Michael Drake
71392160d0
Cache line widths. Fixes scrollbar issue introduced with partial reflow enablement. Will also be used for future redraw optimisations.
2013-03-20 17:32:18 +00:00
Michael Drake
8cfa964cdf
Start reflow on line before change in text, rather than always reflowing the entire textarea.
2013-03-20 12:41:06 +00:00
Michael Drake
0bcbdba424
Comment fixes.
2013-03-19 17:29:55 +00:00
Michael Drake
b1082c09e7
Fix warnings.
2013-03-19 16:28:05 +00:00
Michael Drake
2ad0d23915
Start reducing unnecessary redraws: when only start OR end of selection has changed, only redraw the lines affected. (Reduces redraw of vertical regions only. Still redraw full width for changed lines.)
2013-03-19 16:22:24 +00:00
Michael Drake
8d0c1f9207
Loads of changes including fixes, new functionality, and optimisation.
...
+ Refactor internals to be byte, rather than character based.
+ Don't need to hammer utf8_* functions everywhere
+ Optimises:
+ Redraw (lots)
+ Editing (insertion, replacement, removal)
+ Caret placement
+ Selection
+ Early avoid of zero length autoscroll during selection drag.
+ Optimised redraw to avoid nsfont_width when:
+ There's no selection at all.
+ We're on last part of line, and it's unselected.
+ Implemented WORD_LEFT and WORD_RIGHT keys (shift + cursor left/right)
+ Fixed UP and DOWN (cursor up/down) keys to handle non-monospace fonts.
(Now based on 'x' offset on line, rather than character offset on line.)
+ Fixed PAGE_UP and PAGE_DOWN to scroll without moving the caret.
+ Fixed redraw bug in text selection edge case.
+ Changed textarea_replace_text and textarea_insert_text to return
a byte delta for caret position changes.
+ Coordinate to text offset function handles global and viewport coords.
+ Many small improvements and tidying.
2013-03-17 22:06:48 +00:00
Michael Drake
2af4b5be01
Make textarea_get_caret private.
2013-03-13 11:23:07 +00:00
Vincent Sanders
95e726c7cc
split sources lists out to their subdirectories as first step towards using core buildsystem
2013-03-11 17:53:52 +00:00
Michael Drake
41e4928e25
Fix pointer shape and status bar messages for textareas and their scrollbars.
2013-03-11 12:57:33 +00:00
Michael Drake
490de208d0
Make autoscroll start at inside edge of border or scrollbar.
2013-03-06 21:31:20 +00:00
Michael Drake
e3cb0ba450
Pull scrollbar mouse handling out into helper function.
2013-03-06 15:41:51 +00:00
Michael Drake
5b7643634f
Textarea sends caret hide msg if caret completely outside visible area.
2013-03-06 14:28:34 +00:00
Michael Drake
951a584705
Don't show caret if there's a selection.
2013-03-06 13:10:37 +00:00
Michael Drake
037beb44fb
Pass caret clip rect out to front ends. (Nothing actually using them yet.)
2013-03-05 22:54:51 +00:00
Michael Drake
e8950dee22
Propagate native caret clip rect through core.
2013-03-05 22:54:51 +00:00
Michael Drake
541523f962
Less ambiguous flag documentation comment.
2013-03-04 15:12:58 +00:00
Michael Drake
69d653f4dc
Fix history.
2013-03-04 15:07:58 +00:00
Michael Drake
02f2cbec3f
Pedantic wrap.
2013-03-04 15:07:43 +00:00
John-Mark Bell
cd3e073354
Fix logging
2013-02-27 03:11:30 +00:00
John-Mark Bell
97978e858b
Use custom fetcher for inline CSS
2013-02-27 03:11:10 +00:00
John-Mark Bell
405fa12f8d
Fix handling of inline stylesheets with @import
2013-02-26 09:14:32 +00:00
Michael Drake
bba74b7a0b
Handle readonly attribute for text inputs and textareas.
2013-02-23 17:44:20 +00:00
Michael Drake
ffe3ce2615
Don't need initial caret pos now.
2013-02-22 22:26:03 +00:00
Michael Drake
c034fb87ad
No point in setting caret there.
2013-02-22 22:16:26 +00:00
John-Mark Bell
9303fc56dc
Remove redundant code.
2013-02-22 20:51:56 +00:00
Michael Drake
48bd5e1f10
Always set caret.
2013-02-22 16:41:35 +00:00
Michael Drake
04ca082416
Shove allocation step size into #define.
2013-02-22 16:16:10 +00:00
Michael Drake
00eb142661
Increase allocation increment step size.
2013-02-22 16:12:48 +00:00
Michael Drake
d48f3e3f49
Textarea tweaks for caret placement after selection removal.
2013-02-22 16:04:31 +00:00
Michael Drake
59fdbae1bc
Fix setting of empty selections.
2013-02-22 15:23:36 +00:00
Michael Drake
c2a718075a
A load of refactoring of how content selection and input work.
...
Keypresses now go via content interface.
Contents don't shove the selection object into browser windows any more.
Contents report selection existence by sending message.
HTML content keeps track of where selections in it exist.
Contents report whether they have input focus via caret setting msg.
Caret can be hidden (can still input/paste) or removed.
Consolidate textarea selection handling.
Make textarea report its selection status changes to client.
Various textarea fixes.
Changed how we decide when to clear selections, and give focus.
2013-02-22 12:19:35 +00:00
John-Mark Bell
2b0cc398bb
Fix handling of treeview launch actions.
2013-02-19 10:17:17 +00:00
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