Vincent Sanders
5b4d38b29b
stop using certificate data from the stack outside the message context.
2014-07-17 15:20:38 +01:00
Vincent Sanders
db01637343
remove content include from urldb header
2014-07-17 00:18:44 +01:00
Vincent Sanders
89a02c3a8f
when walking the css imports ensure the content is present before dereferencing it
...
css import entries may not have a valid content if the resource failed to load
or was unsuitable in some otehr way. The save_complete iterator did not cope with this.
fixes #2166
2014-07-08 13:25:54 +01:00
Vincent Sanders
3a9fa29ee5
try and improve usage of browser window internals
2014-07-06 18:34:34 +01:00
Vincent Sanders
18aefabd20
change reformat to be driven from the scheduler like redraw
2014-07-01 09:27:20 +01:00
Vincent Sanders
1b7aa7ffe5
make fetchers scheduled
2014-06-26 19:05:59 +01:00
Vincent Sanders
4b2101ba6a
clean up the fetcher factory and improve its API
2014-06-19 18:27:24 +01:00
Vincent Sanders
8e29e517d5
fix disc cache size option to be unsigned
2014-06-09 13:13:59 +01:00
Vincent Sanders
54fcb66d87
cleanup RISC OS frontend header usage
2014-06-05 15:14:49 +01:00
Vincent Sanders
f1c2dde13b
extend file table with mkdir all and make fs backing store use it.
...
enable fs backing store for RISC OS.
2014-06-05 12:06:47 +01:00
Vincent Sanders
7f55cb58a0
stop riscos uncesecarily including gui.h
2014-06-04 12:07:03 +01:00
Daniel Silverstone
d35b27d44e
Add iterator for search providers
2014-06-03 15:40:28 +01:00
Vincent Sanders
e2633a9a63
fix default search provider icon handling
2014-06-03 15:01:14 +01:00
Vincent Sanders
7d02ae916a
make launch_url core operation use nsurl
2014-05-27 23:52:35 +01:00
Vincent Sanders
662e950e48
ensure hlcache handle is not passed as NULL
2014-05-27 11:39:02 +01:00
Vincent Sanders
00b6cfc57e
rework path to url mapping functions to convert from and to nsurl
2014-05-26 23:52:36 +01:00
Michael Drake
1f337f292d
Fix fread error handling.
2014-05-26 14:03:20 +01:00
Chris Young
224f56934f
Ensure the search URL is NULL-terminated
2014-05-25 15:02:30 +01:00
Vincent Sanders
a6d3ceae0e
Completely re-write web search provider handling
2014-05-25 01:01:59 +01:00
Michael Drake
ce4d52e72a
Fix hotlist and global_history _get_selection functions.
...
Broken when selection was folder, rather than entry.
Renamed tree_node_flags lables to avoid TREE_NODE_NONE name clash.
2014-05-24 15:09:20 +01:00
Vincent Sanders
315877c822
reduce uncessary include usage
2014-05-18 23:17:15 +01:00
Vincent Sanders
706c92bf8f
remove uneeded includes
2014-05-18 18:51:18 +01:00
Vincent Sanders
6677eef89b
remove unecessary include
2014-05-18 17:30:53 +01:00
Vincent Sanders
966ed9449c
fix riscos mkpath and error reporting in save complete
2014-05-17 23:14:43 +01:00
Vincent Sanders
64f607760b
add backing store storage path to browser initialisation
2014-05-13 15:53:06 +01:00
Vincent Sanders
4a49ff5266
Extend low level source data cache with persistant storage
2014-05-13 15:52:58 +01:00
Vincent Sanders
657abbd245
low level source data cache backing store interface.
2014-05-12 23:47:43 +01:00
Vincent Sanders
16b11e7238
ensure operations tables are registered as early as possible.
2014-05-10 10:22:10 +01:00
Vincent Sanders
2326d3c503
remove unecessary utils/url.h includes
2014-05-09 10:15:42 +01:00
Vincent Sanders
1556055d91
fix nsurl references
2014-05-08 18:03:27 +01:00
Vincent Sanders
cd7f1eceea
make download_context_get_url() return an nsurl and adapt callers to cope
2014-05-08 17:54:44 +01:00
Vincent Sanders
096bd47ab0
refactor url utility functions to use standard nserror codes and have appropriate documentation.
2014-05-08 00:16:50 +01:00
Vincent Sanders
c56642819e
add file operations table and make all frontends use it.
...
This rationalises the path construction and basename file
operations. The default implementation is POSIX which works for all
frontends except windows, riscos and amiga which have differeing path
separators and rules.
These implementations are significantly more robust than the previous
nine implementations and also do not use unsafe strncpy or buffers
with arbitrary length limits.
These implementations also carry full documentation comments.
2014-05-07 16:24:51 +01:00
Vincent Sanders
283cd05d01
Improve documentation on mimetype fetcher table
2014-05-07 16:23:19 +01:00
Vincent Sanders
c0ac05d39c
update version info for next development cycle
2014-04-25 16:59:57 +01:00
Michael Drake
b828f6de02
Merge remote-tracking branch 'achal/fix-line-height'
2014-04-09 20:40:41 +01:00
Vincent Sanders
b7b3496a78
move testament output to object directory instead of modifying source
2014-04-08 11:41:58 +01:00
Achal-Aggarwal
763825e597
Fixes #2101 , evaluation of text field and textarea line height.
2014-03-31 01:53:06 +05:30
Michael Drake
b16cfd2d6e
Fix #0002097 , with thanks to Achal-Aggarwal for tracking this down.
2014-03-27 21:43:19 +00:00
Vincent Sanders
4d4d74c8cd
move page search gui callbacks to their own operations table
2014-03-18 22:32:52 +00:00
Vincent Sanders
87f6314dab
move scheduleing into browser operation table
2014-03-09 15:37:40 +00:00
Michael Drake
32a522241f
Rename function arguments to avoid using 'new'.
2014-02-19 14:08:52 +00:00
Michael Drake
b99357616c
Fix unchecked return. Coverity #1175740 .
2014-02-17 12:31:02 +00:00
Michael Drake
143f28572a
Fix redraw when selections are deleted.
2014-02-17 12:15:08 +00:00
Michael Drake
a38a63a37e
Make history internal to browser_window module.
2014-02-15 18:44:50 +00:00
Michael Drake
49bed056dd
Make browser_window_navigate (un)verifiable flag match browser_window_create.
2014-02-10 22:40:04 +00:00
Michael Drake
af014bce99
Allow tab creation without history clone. Changes browser_window_create and browser_window_navigate flags.
2014-02-10 14:08:45 +00:00
Michael Drake
3d2e416ea9
Move broser_window_initialise_common to browser_private.h
2014-02-09 13:28:37 +00:00
Michael Drake
56b2770722
Add flag for cloning a window.
2014-02-09 13:26:09 +00:00
Michael Drake
ea79e85fcd
Clean up gui_window creation API.
2014-02-09 13:07:39 +00:00
Michael Drake
3d7cd77982
Simplify local history interface.
2014-02-08 22:43:54 +00:00
Michael Drake
22d15380f4
Add function to get browser window's extents.
2014-02-08 16:03:06 +00:00
Michael Drake
022a303d60
Move browser_window_update_extent to browser_private.h
2014-02-08 16:01:14 +00:00
Michael Drake
43c3caa469
Function to determine whether bw has a content.
2014-02-08 15:31:44 +00:00
Michael Drake
8bc3a80320
Add function to get bw's URL.
2014-02-08 15:00:08 +00:00
Michael Drake
cf84e557fa
Simplify browser_window_refresh_url_bar.
...
Reduces front end need to access bw internals.
2014-02-08 12:07:13 +00:00
Vincent Sanders
25bc5b2b8c
remove unecessary desktop/browser.h includes
2014-02-04 15:30:53 +00:00
Vincent Sanders
3455d66921
reduce desktop/browser.h unecessary includes
2014-02-03 17:56:24 +00:00
Vincent Sanders
0b50b8f3f7
add missing stddef include for size_t
2014-02-02 15:48:26 +00:00
Vincent Sanders
886a3106db
move utf8 local conversion operations to table
2014-02-01 22:17:36 +00:00
Vincent Sanders
427f127fa9
remove further extraneous includes
2014-02-01 14:23:58 +00:00
Vincent Sanders
aaecf9e1af
add missing include for neturf_quit symbol
2014-01-29 23:36:59 +00:00
Vincent Sanders
d5a971c281
move verbose log global into logging module and remove netsurf.h include
2014-01-29 23:20:19 +00:00
Vincent Sanders
db33103fa3
clean up desktop/gui.h include usage
2014-01-29 21:35:53 +00:00
Vincent Sanders
654da2ffb5
move utf8 conversion routines to use nserror instead of their own error enum
2014-01-28 21:40:13 +00:00
Vincent Sanders
8ce0a10670
move path_to_url and url_to_path to fetch operation table
2014-01-25 23:01:32 +00:00
Michael Drake
96e5368d34
Use corestring.
2014-01-25 09:53:54 +00:00
Michael Drake
5787f8335e
Simplify and optimise icon handling.
2014-01-24 23:13:18 +00:00
Michael Drake
dab6d7961e
Actually use the fact scheme is interned.
2014-01-24 22:00:25 +00:00
Vincent Sanders
0475693394
create table for fetcher operations and move all operations into it
2014-01-23 00:00:18 +00:00
Michael Drake
aa380ed47a
More scaled rendering improvements. Partial redraws of scaled textareas can't work atm, since neither the textarea nor content is aware of scale.
2014-01-21 14:37:46 +00:00
Michael Drake
3f3b64bf22
Fix scaled rendering clip rect bottom calculation.
2014-01-21 11:13:36 +00:00
Vincent Sanders
4987a3a8a7
remove forward refs from content/fetch.c and cleanup doc comments
2014-01-19 21:18:47 +00:00
Chris Young
18c8f5f46f
Let the frontend construct the correct URL for the default search ico.
...
This fixes bug #2057
2014-01-18 21:23:02 +00:00
Vincent Sanders
a2247a75a3
cleanup copyright headers and some doc comments
2014-01-16 13:24:14 +00:00
Vincent Sanders
d47fed4524
move 401 login into operation table
2014-01-16 00:52:17 +00:00
Vincent Sanders
38cb39339a
move filename_from_path and path_add_part into gui operation tables
2014-01-16 00:01:25 +00:00
Vincent Sanders
bd065d4a43
split browser gui operations up
2014-01-15 19:37:05 +00:00
Vincent Sanders
68eaec5cb4
complete move of remaining core gui functions
2014-01-15 12:28:55 +00:00
Vincent Sanders
0075eab194
move remaining gui operations to table
2014-01-14 23:31:54 +00:00
Vincent Sanders
667d4a0a49
confine the gui table acessor to the gui factory header
2014-01-14 20:05:14 +00:00
Vincent Sanders
8dfe225153
move download operations to download table
2014-01-14 16:04:02 +00:00
Vincent Sanders
d18c8ed452
move teh final optional window operations into the table
2014-01-13 22:54:19 +00:00
Vincent Sanders
e82d83f184
move four more optional window operations to table
2014-01-13 14:51:27 +00:00
Vincent Sanders
d70e371cd9
move two more mandantory window operations to table
2014-01-13 11:38:35 +00:00
Vincent Sanders
7227c29bba
move window scroll getter and setter into operations table
2014-01-13 01:08:15 +00:00
Vincent Sanders
5a962586fb
move mandantory window update and redraw operations into table
2014-01-12 23:50:54 +00:00
Vincent Sanders
4b49b4ac77
move more optional window operations into table including removing unused hide_pointer operation altogether
2014-01-12 22:55:26 +00:00
Vincent Sanders
b7736bae2f
split gui operations into core and window and move more operations into tables
2014-01-12 17:07:34 +00:00
Vincent Sanders
56bb9582b1
move set title, set url, start and stop throbber window operations to gui table
2014-01-12 10:27:41 +00:00
Vincent Sanders
c8496df3df
move window creation and destruction into table
2014-01-11 22:34:12 +00:00
Vincent Sanders
d3c392c3d3
Initial conversion of netsurf gui to callback vtable
2014-01-11 14:20:30 +00:00
Vincent Sanders
277bcec7c6
stop system colours being anything to do with frontends
2014-01-10 14:32:29 +00:00
Vincent Sanders
b415c2f9ff
fixup logic error in save complete as directed by jmb
2014-01-06 22:22:41 +00:00
Michael Drake
69da9a55e1
Assert a bit earlier when front end tries to redraw SSL cert viewer that it's destroyed.
2014-01-06 13:41:11 +00:00
Daniel Silverstone
9a9cb399f9
Merge branch 'rjek/click-file-gadget'
2014-01-05 17:03:17 +00:00
Rob Kendrick
550c8cd73c
Change gui_file_gadget_interface to pass gui_window not browser_window, add GTK implementation that of course does not work.
2014-01-05 16:45:32 +00:00
Rob Kendrick
0d7f1cfc93
Add infrastructure for calling front ends to set file gadget filenames via clicking in addition to drag-and-drop
2014-01-05 16:04:35 +00:00
Rob Kendrick
d8ad3b8e78
Add new gui entry point for file open dialogue requests
2014-01-05 16:01:03 +00:00
Rob Kendrick
1bd4a34a27
Remove asserts for default cases from all content message handlers; this is laborious and is no longer useful for catching bugs.
2014-01-05 14:39:08 +00:00
John-Mark Bell
32468516e3
Speculatively start image fetches as we parse the document.
2014-01-05 14:34:49 +00:00
Michael Drake
838359194e
Return message to client when textarea is modified.
2014-01-04 14:48:58 +00:00
François Revol
d6561e51e0
Fix for gcc2 flexible array declaration
2013-12-07 01:16:22 +01:00
Chris Young
3f591e575d
Modify conflicting Messages entry
2013-11-17 16:36:51 +00:00
Michael Drake
b547e1205b
Use messages for translations instead of string literals.
2013-11-11 14:32:07 +00:00
Michael Drake
61b5a5e98f
Visual indication of hotlist's folder for unsorted entries, with special icon.
2013-11-08 18:53:34 +00:00
Vincent Sanders
36a061e7db
fix local history error return leak (coverity 1109890)
2013-11-03 15:29:17 +00:00
Michael Drake
2277fb0284
Apply plot offsets to overlays.
2013-10-26 22:39:48 +01:00
Michael Drake
26cecc9f95
Log thumbnail creation.
2013-10-24 11:50:35 +01:00
Michael Drake
1ae1d06ca4
Reduce leaking of thumbnails to only for URLs that urldb rejects.
...
Previously leaked thumbnails for all urls not previously visited.
2013-10-24 11:48:23 +01:00
Michael Drake
3dc4ba2989
Remove unrequired NULL check.
2013-10-23 14:40:46 +01:00
Michael Drake
e37fb89f46
Remove unreachable code.
2013-10-23 14:36:46 +01:00
Vincent Sanders
8cb2d52483
fix coverity #1111069
2013-10-23 13:48:26 +01:00
Michael Drake
53a6d6becd
Show "-" for last visit date/time when visits count is 0.
2013-10-23 13:20:43 +01:00
Michael Drake
5cddb4ff3c
Assert that root node is non-NULL.
2013-10-23 11:40:22 +01:00
Michael Drake
df4975b8d4
Remove unnecessary check.
2013-10-23 11:36:42 +01:00
Michael Drake
e5823beb61
Fix deref before NULL check.
2013-10-23 11:25:40 +01:00
Michael Drake
89b669919e
Fix NULL check after deref.
2013-10-23 11:21:11 +01:00
Michael Drake
640bb77330
Dodge Coverity scan issue.
2013-10-23 11:16:34 +01:00
Michael Drake
f814debfe2
Remove unreachable safty net.
2013-10-23 10:21:36 +01:00
Michael Drake
441e0dcbed
Assert target node is non-NULL.
2013-10-22 15:22:42 +01:00
Michael Drake
4cc0d9c233
LOG init/fini messages.
2013-10-11 22:41:09 +01:00
Michael Drake
cd9971293d
Set unused channel to 0xff, so that rendering isn't broken in front ends that don't heed the OPACITY flag.
2013-10-05 11:44:15 +01:00
Michael Drake
1e4c733fc0
Appease gtk front end's broken bitmap behaviour.
2013-10-03 11:45:55 +01:00
Michael Drake
a2b4c63fcc
Init unused alpha channel to 0, even though we set the bitmaps as opaque.
2013-10-03 11:39:28 +01:00
Michael Drake
69e3963dae
Avoid NULL deref when deleting a node, causing empty ancestor nodes to be deleted.
2013-10-03 00:13:18 +01:00
Michael Drake
2a4fb9ecd1
Generate anti-aliased triangles in bitmaps and plot via bitmap plotter. (Without anti-aliasing was too ugly to be endured.)
2013-10-02 23:34:34 +01:00
Michael Drake
506a0e7d94
Add accessors for individual colour channels.
2013-10-02 23:33:46 +01:00
Michael Drake
f19e827983
Use polygon plotter for treeview furniture (node expansion/contraction triangles), instead of triangle text glyphs.
2013-10-02 13:34:51 +01:00
Michael Drake
0c4f32fb1d
Make undo and redo share common implementation.
2013-10-01 18:29:22 +01:00
Michael Drake
5809bcefa6
Wipe undo buffer on textarea_set_text.
2013-10-01 14:03:02 +01:00
Michael Drake
3bdc61a131
Ensure cut can be undone.
2013-10-01 13:54:34 +01:00
Michael Drake
6a4601c3ce
Implement textarea undo and redo.
2013-10-01 13:30:20 +01:00
Michael Drake
308a24e661
Start implementing undo/redo. For now it just records changes, the actual undo/redo handling is not yet done.
2013-09-30 21:38:41 +01:00
Michael Drake
b96222d857
We return client data, not node.
2013-09-14 23:22:13 +01:00
Michael Drake
951ad51cd4
Add functions to get first selected hotlist/global_history node data.
2013-09-13 14:24:25 +01:00
Michael Drake
3d123d72fc
Enable front end to select treeview text size.
2013-09-09 13:11:36 +01:00
Michael Drake
b10252e325
Protect against attempt to initialise twice.
2013-09-09 13:00:24 +01:00
Michael Drake
172551870b
Squash warning from older GCC.
2013-09-08 19:34:43 +01:00
Michael Drake
7f31b2c776
Fix use after unref.
2013-09-08 19:28:57 +01:00
Michael Drake
2468d00675
Check for error as soon as we have return value.
2013-09-05 13:06:53 +01:00
Michael Drake
411e367add
Various tidyups to make ownership more clear.
2013-09-05 12:54:15 +01:00
Michael Drake
9c855df691
Remove dead assignment.
2013-09-05 12:01:13 +01:00
Michael Drake
2fce8cccbc
Remove dead assignement.
2013-09-05 11:58:49 +01:00
Michael Drake
5d3362be81
Fix dead assignments.
2013-09-05 11:55:49 +01:00
Michael Drake
84b90853b5
Fix dead assignement.
2013-09-05 11:53:19 +01:00
Michael Drake
33c383357d
Express logic to avoid confusing static analyser.
2013-09-05 11:39:44 +01:00
Michael Drake
8007027f84
Express logic so that the static analyser can understand and not report NULL deref.
2013-09-05 11:34:38 +01:00
Michael Drake
e94528518d
Remove a couple of dead stores.
2013-09-05 11:27:33 +01:00
Michael Drake
decb4d40f3
Ensure correct field is edited when more than one hidden field is editable.
2013-09-05 11:26:05 +01:00
Michael Drake
267c630b88
Tidy up compatibility layer.
2013-09-04 15:13:53 +01:00
Michael Drake
e8071e676c
Remove some redundancy.
2013-09-03 20:06:42 +01:00
Michael Drake
393dee4fd7
Squash leak in error case.
2013-09-03 20:01:05 +01:00
Michael Drake
541724fb0d
Add hotlist iteration function.
2013-09-03 19:43:59 +01:00
Michael Drake
f477fd2570
Remove height getters from treeview client modules API.
2013-09-03 14:44:53 +01:00
Michael Drake
b9e3f7ae3d
Ensure tree height is provided when treeview building is complete.
2013-09-03 14:38:01 +01:00
Michael Drake
42afcf918f
Make externally induced node expand/contract cause redraw.
2013-09-03 14:08:44 +01:00
Michael Drake
1569e9e2a8
Change recursife node collapse behaviour slightly.
2013-09-03 13:32:46 +01:00
Michael Drake
11b784a167
Node collapsing needs to happen when leaving nodes.
2013-09-03 12:36:29 +01:00
Michael Drake
c2375339a1
Add recursive expand/contract functions to hotlist, global history, and cookie manager modules.
2013-09-03 11:28:02 +01:00
Michael Drake
b56d684a31
Add a pair of recursive expand/contract functions.
2013-09-03 11:06:07 +01:00
Michael Drake
472108576e
Make it more clear that tree.c is deprecated.
2013-09-02 22:58:18 +01:00
Michael Drake
cf8ffa412a
Remove old hotlist, cookies, and history_global_core modules.
...
New versions of expand/collapse node functions for these modules aren't yet implemented.
2013-09-02 22:41:04 +01:00
Michael Drake
e9f65ff9cb
Remove cookies, history_global, and hotlist_old _initialise and _cleanup functions.
2013-09-02 18:57:43 +01:00
Michael Drake
49c7994d05
Remove bulk of old treeview implementation.
2013-09-02 16:19:16 +01:00
Michael Drake
46e569c481
Use TREE_HOTLIST directly.
2013-09-02 14:42:53 +01:00
Michael Drake
9f35fd3fee
Use TREE_HISTORY directly.
2013-09-02 14:39:04 +01:00
Michael Drake
128fdbec43
Select TREE_COOKIES directly.
2013-09-02 14:33:53 +01:00
Michael Drake
5c7ca39ada
Remove tree_url_node module. Had to disable treeview scanning in amiga and cocoa front ends. Amiga front end very likely broken.
2013-09-02 14:17:09 +01:00
Michael Drake
28a948bd32
Reduce old hotlist to skeleton.
2013-09-02 13:35:49 +01:00
Michael Drake
29328e5077
Reduce to skeleton.
2013-09-02 13:15:07 +01:00
Michael Drake
ec3547ec9d
Remove unused type.
2013-09-02 13:08:36 +01:00
Michael Drake
81b2a859c0
Reduce old cookie manager to skeleton.
2013-09-02 13:06:40 +01:00
Michael Drake
452c89aa83
Remove unused hotlist_old_visited.
2013-09-02 12:53:47 +01:00
Michael Drake
6a4a297b2f
Remove temp_treeview_test option. Now it's always "enabled".
2013-09-02 12:47:36 +01:00
Michael Drake
fadaa306d0
Always redirect to the new treeview implementations.
2013-09-02 12:46:33 +01:00
Michael Drake
5d76b448b1
Use new hotlist.
2013-09-02 12:44:40 +01:00
Michael Drake
4ce2f6fd55
Update to use new hotlist and global history manager.
2013-09-02 12:29:16 +01:00
Michael Drake
9a59103c6a
Polish node deletion.
2013-08-30 13:29:19 +01:00
Michael Drake
09f5b0e95f
Improve callback suppression options. Reduce unnecessary callback usage.
2013-08-30 12:51:40 +01:00
Michael Drake
e2fbd3a266
Avoid copying rectangle for redraw_request calls.
2013-08-30 11:38:02 +01:00
Michael Drake
b4a3c94cf0
Various redraw improvements.
2013-08-29 20:43:25 +01:00
Michael Drake
67cbc779be
Make client-requested node deletions issue a redraw request.
2013-08-29 19:58:43 +01:00
Michael Drake
db2f47ab27
Use treeview height instead of REDRAW_MAX for rectangle's y1.
2013-08-29 19:12:49 +01:00
Michael Drake
8cc6ac8980
Redraw on node creation, unless suppressed.
2013-08-29 19:05:04 +01:00
Michael Drake
afaf24378b
Add flag to suppress redraw on node creation.
2013-08-29 18:31:58 +01:00
Michael Drake
895954a1e1
Don't bother trying to keep old hotlist in sync -- the old one isn't saved when new one is used anyway.
2013-08-29 14:13:09 +01:00
Michael Drake
7d0f0b08e2
Redirect most interaction with the old hotlist to the new one, when the new one is enabled.
2013-08-29 13:09:24 +01:00
Michael Drake
38e4bbe74d
Make clear that title is copied.
2013-08-29 13:08:49 +01:00
Michael Drake
bc0571b9dc
Better handling of added entry titles.
2013-08-29 13:08:04 +01:00
Michael Drake
7a25b6aaee
Fix one px missmatch between click and drag handling of node selection.
2013-08-28 15:59:00 +01:00
Michael Drake
eaa04e3208
Fix pass-through for drag end.
2013-08-28 15:37:41 +01:00
Michael Drake
bd39d108db
Add a few functions for front ends to use.
2013-08-28 14:23:22 +01:00
Michael Drake
91018643db
Expose a bit more core treeview functionality for hotlist clients.
2013-08-28 14:13:02 +01:00
Michael Drake
bc14d492d2
Add height getter.
2013-08-28 14:12:30 +01:00
Michael Drake
28dec67c64
Remove select all and clear selection functions from public API. Clients can send KEY_SELECT_ALL and KEY_CLEAR_SELECTION to the keypress handler.
2013-08-28 13:36:15 +01:00
Michael Drake
826b392b57
Simple treeview_edit_selection implementation.
2013-08-28 12:58:41 +01:00
Michael Drake
fbfe5ab17b
Function for global history export.
2013-08-28 11:43:34 +01:00
Michael Drake
45d3b9162c
Move default title generation from _fini to _export.
2013-08-28 11:14:33 +01:00
Michael Drake
a61e74714d
Give export walk ctx clearer name.
2013-08-28 11:05:21 +01:00
Michael Drake
eec80c561c
Expose hotlist_export.
2013-08-28 10:59:56 +01:00
Michael Drake
39b68d0b83
Ensure url is unreffed.
2013-08-27 21:01:35 +01:00
Michael Drake
77a090e9d0
Functions to add entry/folder at y-coord or at selection.
2013-08-27 20:56:43 +01:00
Michael Drake
43d1e777df
Function to get releations for node entry.
2013-08-27 20:56:20 +01:00
Michael Drake
52937b9763
Update new hotlist
2013-08-27 13:46:36 +01:00
Michael Drake
fd1a94a751
Update the new hotlist on visits.
2013-08-27 13:38:23 +01:00
Michael Drake
4bf5ec0dad
Unset default folder when it gets deleted.
2013-08-27 13:31:40 +01:00
Michael Drake
fb9353f220
Use Messages for default folder name.
2013-08-27 12:44:01 +01:00
Michael Drake
00f108f4a2
Add new entries to default folder.
2013-08-27 11:57:31 +01:00
Michael Drake
b7bc3deb7f
Load and save default folder ID.
2013-08-27 11:40:12 +01:00
Michael Drake
2c3d2e5f8e
Add function to update visited data for hotlist entries.
2013-08-23 19:49:06 +01:00
Michael Drake
44e33001d7
Add function to remove any entries with given URL.
2013-08-23 18:26:18 +01:00
Michael Drake
184650c7d8
Add function to determine whether URL is in hotlist.
2013-08-23 17:30:31 +01:00
Michael Drake
f0749394d1
Add Hotlist export/save support.
2013-08-22 16:06:06 +01:00
Michael Drake
1212f1d321
Expose leaving node callback in public treeview walker interface.
2013-08-22 16:05:03 +01:00
Michael Drake
1e27299cf1
Inform when textarea drag is happening.
2013-08-21 13:54:00 +01:00
Michael Drake
7e6079ea49
Complete editing of entry title and URL values.
2013-08-20 20:04:42 +01:00
Michael Drake
50efc3be3c
Act on node edit request message for folders.
2013-08-20 20:04:42 +01:00
Michael Drake
71676165c1
Add folder node update function.
2013-08-20 20:04:42 +01:00
Michael Drake
9e29ef4bdd
Pass edit message to treeview client, when editing ends.
2013-08-20 15:44:24 +01:00
Michael Drake
a9e92e335c
Fix node insertion ancestor height updating having cumulative effect.
2013-08-20 15:02:09 +01:00
Michael Drake
9f3a83da66
Tidy edit start click behaviour, with existing selections.
2013-08-19 14:41:12 +01:00
Michael Drake
385af23fbe
Start of treeview node edit support. Internal treeview part is mostly done. It now needs to inform the client (only hotlist allows edit), of the change. And the hotlist needs to handle the change request message and update the node.
2013-08-19 14:23:44 +01:00
Michael Drake
5beac3085e
Implement get window dimensions for treeview test parasite.
2013-08-19 14:04:20 +01:00
Michael Drake
0e00654681
Mention behaviour when params are NULL in comment.
2013-08-19 14:03:36 +01:00
Michael Drake
0ae3bfde8a
Use extern on tree.c globals. (These go away when front ends can use the new treeview modules directly.)
2013-08-18 17:17:41 +01:00
Michael Drake
f389c7ad6e
Set allow edit flag on title and url fields.
2013-08-18 17:16:47 +01:00
Michael Drake
fd961c6dfa
Ensure ctrl modifier is handled, by dealing with it before no-modifiers case.
2013-08-18 13:22:57 +01:00
Michael Drake
5aa5eb9d6f
Ensure nodes within contracted nodes are unselected.
2013-08-17 23:52:48 +01:00
Michael Drake
5f32ac1858
Fix clang warning.
2013-08-17 20:20:49 +01:00
Michael Drake
4ab7ad6bd2
Implement node moving drags.
2013-08-17 19:39:17 +01:00
Michael Drake
e5a4c3d4c9
Find the top y value of selections for indicator pos.
2013-08-17 14:37:24 +01:00
Michael Drake
d1cd950327
Improve keyboard nav slightly.
2013-08-17 13:40:05 +01:00
Michael Drake
e1468a78df
Fix keyboard nav redraw when treeview height decreases as a result of keypress. Reduce some variable name lengths.
2013-08-17 13:27:38 +01:00
Michael Drake
e17e56b0cc
Move drops over selection target top of selected run.
2013-08-17 13:22:40 +01:00
Michael Drake
59ea55ef3d
Propagate selection to visible descendant nodes when a move drag is started with folder selected.
2013-08-17 12:51:08 +01:00
Michael Drake
dee0cb0380
Optimise drop indicator redraw area.
2013-08-17 11:48:16 +01:00
Michael Drake
d8bf6c2216
Remove unused structure member.
2013-08-16 23:13:25 +01:00
Michael Drake
29b6185ab1
Do indicator redraw after everything else is done, to simplify things.
2013-08-16 23:08:57 +01:00
Michael Drake
b699169d0b
Group the move details, for clarity.
2013-08-16 21:40:45 +01:00
Michael Drake
304523553c
Start optimising drop indicator redraw.
2013-08-16 20:34:41 +01:00
Michael Drake
a9cad3cfa8
Begin move handling. Currently only moves the drop target indicator during drags. Nothing actually gets moved.
2013-08-16 20:06:08 +01:00
Michael Drake
7169b2fb01
Make treeview test parasite convert move drag enum type.
2013-08-16 20:03:18 +01:00
Michael Drake
15c1ad7eea
Add move drag type.
2013-08-16 20:02:49 +01:00
Michael Drake
7bd57563e1
Set appropriate treeview flags.
2013-08-16 20:01:58 +01:00
Michael Drake
5f4c624c5b
Slight refactor of drag end handling, for future handling of more types of drag.
2013-08-16 12:23:37 +01:00
Michael Drake
2dc8b64153
Add comment.
2013-08-16 11:17:45 +01:00
Michael Drake
285fe734bc
Rename "section" to "part".
2013-08-16 11:15:16 +01:00
Michael Drake
9d624ce17f
Inform front end when drag starts below nodes too.
2013-08-16 08:25:26 +01:00
Michael Drake
2ba2fcc7b6
Add selection to enum.
2013-08-16 08:25:26 +01:00
Michael Drake
2a3ff41e14
Flag a TODO.
2013-08-16 08:25:26 +01:00
Michael Drake
2c695bc2fa
Use abstracted folder creation.
2013-08-16 08:25:26 +01:00
Michael Drake
32ae7b5117
Add generator for default hotlist.
2013-08-16 08:25:25 +01:00
Michael Drake
e13e72357d
Set built=false after destruction.
2013-08-16 08:25:25 +01:00
Michael Drake
82f5cd33a0
Implement simplisitic hotlist_add function. Need to improve where new entries are placed. (See TODO comment.)
2013-08-16 08:25:25 +01:00
Michael Drake
952ab7b6e4
Move urldb data acquisition so it doesn't need to be duplicated when there are other entry points.
2013-08-16 08:25:25 +01:00
Michael Drake
ec7e1f71c4
Tidy some comments.
2013-08-16 08:25:25 +01:00
Michael Drake
da557af967
Slight simplification.
2013-08-16 08:25:25 +01:00
Michael Drake
58315b9673
Minor tweaking.
2013-08-16 08:25:25 +01:00
Michael Drake
8b83456c02
Beginnings of new hotlist module, implemented with new treeview.
...
Currently it can only open, display and launch entries in an existing hotlist file.
TODO:
- Generate defualt hotlist when file not found.
- Add hotlist saving.
- Allow adding to hotlist.
- Allow hotlist editing.
- Allow hotlist nodes to be moved by dragging.
- Allow hotlist visit data to be updated.
2013-08-16 08:25:25 +01:00
Michael Drake
ee7df2761f
Make dom node children iterator return nserror.
2013-08-16 08:25:24 +01:00
Michael Drake
473738083b
Fix several comments about return type.
2013-08-16 08:25:24 +01:00
Michael Drake
298ac7c329
Use the new ssl certificate viewer in all situations.
2013-08-13 14:09:15 +01:00
Michael Drake
1e64ca5f44
Remove old sslcert module.
2013-08-13 13:52:21 +01:00
Michael Drake
bf11033987
Remove unused flags.
2013-08-13 13:43:08 +01:00
Michael Drake
eaae716989
Move old hotlist out of the way.
2013-08-13 12:41:04 +01:00
Michael Drake
da84e1a00a
Add SSL cert handling to treeview test hack.
2013-08-12 10:32:54 +01:00
Michael Drake
5520b2ca92
Clear out most of old sslcert module.
2013-08-12 10:31:32 +01:00
Michael Drake
d89b5e2678
Build SSL certificate viewer module.
2013-08-12 10:30:24 +01:00
Michael Drake
4a9e4a676f
First pass at new ssl certificate chain viewer module.
2013-08-11 22:11:05 +01:00
Michael Drake
b770130a8b
Improve namespacing of enum values.
2013-07-26 15:20:19 +01:00
Michael Drake
2bd587add5
Make the parasitic hack of the old tree code more robust. Now if the temp_treeview_test option is set, the global history and cookie manager will be replaced with their respective new implementations.
2013-07-26 14:48:26 +01:00
Michael Drake
bb870de150
Move remaining string literals over to FatMessages.
2013-07-26 12:49:41 +01:00
Michael Drake
f2476a1e20
Yield ownership of value to field builder, since date strings were already allocated.
2013-07-26 12:23:00 +01:00
Michael Drake
b0baa839e8
Avoid snprintf and having buffer on stack.
2013-07-26 12:16:53 +01:00
Michael Drake
7bbcec90c4
Use prefabricated field text for common values.
2013-07-26 12:11:14 +01:00
Michael Drake
0d681fb38e
Log old cookie manager init timings for comparison.
2013-07-25 22:51:54 +01:00
Michael Drake
44fa2a9b91
Optimise cookie tolder and entry node search by comparing lengths before strings.
2013-07-25 22:31:27 +01:00
Michael Drake
3f0e70706d
Abstract field building.
2013-07-25 22:22:36 +01:00
Michael Drake
f3a3272dd3
Flag a todo. (Move some string literals to messages.)
2013-07-25 16:09:43 +01:00
Michael Drake
92ee6e953c
Build new cookie manager.
2013-07-25 16:08:22 +01:00
Michael Drake
219f5dac32
Add initial version of new cookie manager.
2013-07-25 16:07:46 +01:00
Michael Drake
4697d1ccc1
Expose treeview walker.
2013-07-25 16:06:34 +01:00
Michael Drake
17abee0045
Namespace treeview node callback table.
2013-07-25 15:06:09 +01:00
Michael Drake
ba576ad5d6
Guard for uninitalised history case.
2013-07-25 11:45:07 +01:00
Michael Drake
a399e5aa70
Fix return type.
2013-07-25 11:42:04 +01:00
Michael Drake
a4b5a8aed7
Unset built bool when fini is called.
2013-07-25 11:41:16 +01:00
Michael Drake
ef05c2f6e6
Return correct error.
2013-07-25 11:07:40 +01:00
Michael Drake
c6820e8402
Replace magic numbers with enum.
2013-07-24 23:03:16 +01:00
Michael Drake
df2efd03c4
Update header guard.
2013-07-22 11:12:57 +01:00
Michael Drake
68078d7ea7
Fix up for cookies_old rename.
2013-07-22 10:21:37 +01:00
Michael Drake
01159ff589
Move cookies viewer module.
2013-07-21 23:24:07 +01:00
Michael Drake
9ac58865a7
Remove unused function declaration.
2013-07-17 11:42:42 +01:00
Michael Drake
5aed142560
Document callbacks.
2013-07-17 11:42:20 +01:00
Michael Drake
618ef54983
Update new global history, if the treeview test option is set.
2013-07-16 13:15:22 +01:00
Michael Drake
07c2add5cc
Add function to add to global history. Fix add_entry to actually add new entry after removing an existing one. Implement directory deletion.
2013-07-16 13:13:33 +01:00
Michael Drake
28a04f6da7
Reset entry url's urldb visit data when user deletes entry from global history.
2013-07-15 21:51:45 +01:00
Michael Drake
ec9608c4de
Make node delete callback msg differentiate between deletes caused by user interaction and other deletes (e.g. treeview destruction).
2013-07-15 14:34:56 +01:00
Michael Drake
9f72b5e046
Fix namespace of old global history add function.
2013-07-15 12:57:40 +01:00
Michael Drake
094ef9a64b
Minor wrapping fix.
2013-07-12 15:31:43 +01:00
Michael Drake
716776a181
Remove forward declaration.
2013-07-12 13:50:17 +01:00
Michael Drake
55592d5a8d
Move hotlist_visted from browser.h to hotlist.h
2013-07-12 12:07:54 +01:00
Michael Drake
d6d9378e9b
Move global_history_add out of browser.h into global_history_core.h
2013-07-12 12:01:54 +01:00
Michael Drake
3a0bda9771
Move local history over to nsurl.
2013-07-11 23:38:32 +01:00
Michael Drake
3f45e53539
s/history_core/local_history/
2013-07-10 11:55:42 +01:00
Michael Drake
ed557f090a
Cursor down moves to next after noncontinuous selections.
2013-07-09 14:24:48 +01:00
Michael Drake
0df23dda20
Cursor right toggles expansion.
2013-07-09 13:47:06 +01:00
Michael Drake
11eed50de4
A couple of tidyups.
2013-07-09 12:46:30 +01:00
Michael Drake
541bc8e283
Initial keyboard navigation support.
2013-07-09 12:42:22 +01:00
Michael Drake
e9401de768
Move mix_colour macro out of treeview for other stuff to use.
2013-07-08 17:41:06 +01:00
Michael Drake
81a1506c5c
Launch selection launches entries within contracted folders.
2013-07-08 15:22:25 +01:00
Michael Drake
e8f2297d0f
Improve doc comments.
2013-07-08 13:01:00 +01:00
Michael Drake
7bd01a0e75
Return key launches current selection.
2013-07-08 12:53:19 +01:00
Michael Drake
de1f0afde2
Change how nodes are deleted.
2013-07-06 23:00:43 +01:00
Michael Drake
3e33721ab6
Make tree walker use nserror.
2013-07-03 14:18:33 +01:00
Michael Drake
5616221064
Typedefs for internal treeview and treeview_node structs.
2013-07-03 13:48:53 +01:00
Michael Drake
c256320b08
Treeview walker now takes two callback function pointers. One called in fwd direction, one called in bwd direction.
2013-07-03 13:23:26 +01:00
Michael Drake
4f238758db
Don't allow empty folders.
2013-07-03 12:38:30 +01:00
Michael Drake
657d6ed587
Implement DEL_EMPTY_DIRS flag.
2013-07-03 12:37:58 +01:00
Michael Drake
520503bc7e
Allow empty folders to be open.
2013-07-03 12:14:07 +01:00
Michael Drake
26befde81c
Make READ_ONLY flag a combinator for NO_MOVES and NO_DELETES. Implement NO_DELETES.
2013-07-03 11:50:23 +01:00
Michael Drake
c010535fbe
Add treeview behaviour flags.
2013-07-03 11:19:16 +01:00
Michael Drake
4313d4c4ec
Make flags for suppress resize.
2013-07-02 17:30:52 +01:00
Michael Drake
6014a35ed3
Implement entry launching. Currently only launches in new window.
2013-07-02 12:20:44 +01:00
Michael Drake
2476af4c65
Use messages for treeview labels.
2013-07-01 20:05:09 +01:00
Michael Drake
21cd01a9b3
Add quite param to insertion calls to suppress treeview height callback.
2013-07-01 16:16:11 +01:00
Michael Drake
bc37046c6c
Pass drag state to core window user.
2013-07-01 15:10:45 +01:00
Michael Drake
6e5e741d53
Add temporary option to enable test of new treeview in bookmarks window.
2013-07-01 14:07:25 +01:00
Michael Drake
b6219f6685
Delete and backspace keys delete selected nodes.
2013-07-01 13:00:46 +01:00
Michael Drake
c862cd60ad
Make treeview test parasite trap keyboard action too.
2013-07-01 11:49:14 +01:00
Michael Drake
743ffa2a46
Pass keypresses on to treeview.
2013-07-01 11:48:43 +01:00
Michael Drake
df1667bd58
Start keypress handling.
2013-07-01 11:47:46 +01:00
Michael Drake
6599f415f7
Handle mouse action below last node.
2013-07-01 10:37:40 +01:00
Michael Drake
31450767c9
Update ancestor heights on node deletion.
2013-06-30 22:07:53 +01:00
Michael Drake
a1f5272f78
Update treeview test parasite to pass tree height changes on to front end.
2013-06-30 17:54:08 +01:00
Michael Drake
db83497645
Inform front end when treeview height changes.
2013-06-30 17:53:41 +01:00
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
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