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
a73f22c966
make gtk commandline filename loading use snprintf
2014-04-30 13:56:01 +01:00
Vincent Sanders
56b42943d0
improve iconv library handling
2014-04-30 11:56:57 +01:00
Vincent Sanders
1fd565cba7
make GTK configuration handling conform to XDG specification.
2014-04-28 16:37:00 +01:00
Michael Drake
97c12b975c
Add 1px to caret height.
2014-03-27 22:05:35 +00:00
Michael Drake
119b8af2db
Merge remote-tracking branch 'achal/fix-2098'
2014-03-27 20:08:54 +00:00
Achal-Aggarwal
7bcefbf72d
Fix caret cropping using clip rectangle.
2014-03-21 22:57:41 +05:30
Vincent Sanders
6f9a93e332
fix formatting of defaults makefiles
2014-03-20 11:05:39 +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
a67c49eacf
Fix gtk web page searching
2014-03-18 16:02:21 +00:00
Vincent Sanders
87f6314dab
move scheduleing into browser operation table
2014-03-09 15:37:40 +00:00
John-Mark Bell
b928095652
GTK: add some support for input methods.
...
We do not currently support pre-edit texts, or
retrieving/modifying text surrounding the caret.
This does, at least, finally allow the use of
dead keys during text input, but probably is
insufficient for useful input of CJKV &c.
2014-02-17 00:21:49 +00:00
John-Mark Bell
c47a497bca
GTK: more endian fixes for bitmap conversion.
2014-02-16 00:54:07 +00:00
John-Mark Bell
1511a74203
GTK: fix pre-multiplication of alpha.
2014-02-16 00:24:11 +00:00
John-Mark Bell
5e0efcbd6c
GTK: make image component manipulation endian-safe.
2014-02-16 00:00:21 +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
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
5e495f0ab9
Avoid dereffing bw in a few places.
2014-02-08 19:52:17 +00:00
Michael Drake
616335c9ca
Don't use bw internals.
2014-02-08 19:21:22 +00:00
Michael Drake
5f517cc714
Don't need browser_private.h any more.
2014-02-08 17:13:04 +00:00
Michael Drake
8deb9ec25c
Native select menu interface shouldn't force front end to dig inside bw struct.
2014-02-08 17:11:55 +00:00
Michael Drake
ec7a02e550
Use get_scale function instead of derefing the bw.
2014-02-08 16:21:46 +00:00
Michael Drake
a505ea49df
Use browser_window_get_extents function.
2014-02-08 16:05:58 +00:00
Michael Drake
e33737ef23
Use browser_window_has_content.
2014-02-08 15:41:32 +00:00
Michael Drake
3697f543d6
Use browser_window_has_content.
2014-02-08 15:33:39 +00:00
Michael Drake
72b5bc85f2
Remove pointless variable.
2014-02-08 15:18:46 +00:00
Michael Drake
41d70c741f
Use browser_window URL accessor.
2014-02-08 15:16:05 +00:00
Michael Drake
7a81fe9165
Use clean accessor for bw URL.
2014-02-08 15:06:51 +00:00
Michael Drake
7794f3fb14
Remove includes of browser_private.h and hlcache.h
2014-02-08 15:02:20 +00:00
Michael Drake
2cc6b04a49
Avoid includes of desktop/browser_private.h and content/hlcache.h
2014-02-08 14:28:38 +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
6a7ca8b2a8
remove unecessary includes
2014-02-03 16:57:45 +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
00bdf39dc2
remove unnecessary includes
2014-02-01 13:06:51 +00:00
Vincent Sanders
8bb0e87b1a
make clipboard table operations static and remove unecessary includes
2014-02-01 12:41:23 +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
Vincent Sanders
0475693394
create table for fetcher operations and move all operations into it
2014-01-23 00:00:18 +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
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
Rob Kendrick
d24ee91311
Under GTK, file gadgets are more like buttons
2014-01-05 17:16:26 +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
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
Vincent Sanders
5a408069c9
remove lcms dependancy as NetSurf does not directaly use it.
...
The dependancy probbaly comes from our historical use of libmng,
even then the libmng pkg-config should bring it in.
2014-01-04 16:13:10 +00:00
Vincent Sanders
f725c2dcde
check stat error return (coverity 1109835)
2013-11-27 22:21:59 +00:00
Vincent Sanders
47c17ad889
check return of chmod (coverity 1109836)
2013-11-27 22:09:21 +00:00
Michael Drake
3eb65bb54f
Fix Coverity #1129524 , resource leak.
2013-11-18 14:19:27 +00:00
Daniel Silverstone
4b3a7666dc
Use realpath and stuff file:// on the front of file arguments in GTK frontend
2013-11-17 15:07:09 +00:00
Vincent Sanders
8702eedf67
fix leak in error path (coverity 1109889)
2013-11-06 10:52:29 +00:00
Vincent Sanders
41bda017d1
fix error path resource handling in gtk browser window creation (coverity 1109888)
2013-11-03 16:30:34 +00:00
Vincent Sanders
5c3daf9013
fix memory leak in error path (coverity 1109889)
2013-11-03 15:00:40 +00:00
Vincent Sanders
401d1fd1a6
fix coverity 1109883
2013-10-31 23:17:14 +00:00
Vincent Sanders
9c707c8df0
fix coverity 1109891
2013-10-31 23:17:14 +00:00
Michael Drake
0f166ad6b0
Remove comment. Background only used with alpha channel when printing via Tinct on RISC OS.
2013-10-28 14:30:31 +00:00
Vincent Sanders
f29306cc9a
improve gtk source save to use gtk overwrite protection feature coverity 1109873
2013-10-25 21:25:56 +01:00
Vincent Sanders
2962faed63
fix gtk title setting to cope with null titles coverity 1109897
2013-10-25 15:44:52 +01:00
Vincent Sanders
88bd4e2ee2
fix resource leak coverity 1109883
2013-10-25 12:42:53 +01:00
Vincent Sanders
2e4c1cf950
fix resource leak coverity 1109884
2013-10-25 12:42:53 +01:00
Vincent Sanders
2cd2846122
fix coverity 1109906 uninitialised pointer read
2013-10-25 12:42:53 +01:00
Michael Drake
2d14f0bb2e
Fix Ctrl+Shift+Z.
2013-10-01 13:15:25 +01:00
Michael Drake
10b422b163
Pass KEY_UNDO and KEY_REDO to core. (Currently ignored.)
2013-09-30 21:37:31 +01:00
Michael Drake
f2b4a7a997
Port to new recursive expand/contract functions.
2013-09-03 12:36:55 +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
4473f4b8a8
Remove tree icon_name globals from all the front ends.
2013-09-02 16:39:46 +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
cb92b7d341
Cleanup mouse handling a bit.
2013-08-28 15:20:41 +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
4a01ef9e7a
Avoid sslcert_get_tree_flags.
2013-08-13 13:48:53 +01:00
Michael Drake
eaae716989
Move old hotlist out of the way.
2013-08-13 12:41:04 +01:00
Michael Drake
d7f73d77bc
Use new ssl certificate viewer.
2013-08-12 11:43:41 +01:00
Michael Drake
68078d7ea7
Fix up for cookies_old rename.
2013-07-22 10:21:37 +01:00
Michael Drake
3f45e53539
s/history_core/local_history/
2013-07-10 11:55:42 +01:00
Vincent Sanders
a93e32de37
work round missing functionality
2013-06-28 13:20:05 +01:00
Vincent Sanders
2f280f16eb
completely rework scaffolding window destruction using gtkwidget destroy signals
2013-06-28 12:13:02 +01:00
Vincent Sanders
3d7f79683c
add new tab tab
2013-06-27 16:42:08 +01:00
Vincent Sanders
59dc293156
fix status/toolbar bottom split position and setting user option in gtk
2013-06-25 19:01:41 +01:00
Vincent Sanders
4e24869524
Add and use no proxy list option
2013-06-04 18:11:15 +01:00
Vincent Sanders
bccaa05fdb
add finalisation to options and document the API better
2013-06-01 16:09:39 +01:00
Michael Drake
b2aa0c129c
Remove 0.5px vertical displacement of text.
2013-05-31 15:12:40 +01:00
Vincent Sanders
8b43b732bc
move gtk frontend to use new options API
2013-05-28 14:16:11 +01:00
Vincent Sanders
63d7247a9c
fix mismatched option name and variable names
...
block_ads should be block_advertisments to match option name
toolbar_status_width should be toolbar_status_size to match option name
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
Vincent Sanders
e2957762ba
remove extraneous debug
2013-05-23 12:07:08 +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
Michael Drake
7ee2573f17
Convert image format to core format, when the core requests it.
2013-05-20 13:07:40 +01:00
Michael Drake
631265ef6b
Front ends have no reason to include desktop/selection.h now.
2013-05-10 12:16:05 +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
47783096e8
fix cookies and bookmarks windows on gtk3
2013-05-04 20:42:00 +01:00
Vincent Sanders
85030ea2de
Fix mouse wheel scrolling on gtk3 by implementing the smooth scroll direction
...
Fix mouse wheel scrolling on gtk2 by setting a reasonable default step
2013-05-04 19:42:01 +01:00
Vincent Sanders
32eaf611b4
fix theme adding dialog
2013-04-29 16:02:20 +01:00
Michael Drake
ef363460f1
Remove another unused inuclude of render/textplain.h.
2013-04-29 14:58:10 +01:00
Vincent Sanders
8df67ca801
Ensure default C language is installed
2013-04-28 22:06:30 +01:00
Vincent Sanders
d2ffd402b3
add fallback language
2013-04-28 21:55:49 +01:00
Vincent Sanders
ad74fa4d6f
fix scrolling on gtk3
2013-04-17 14:16:45 +01:00
Vincent Sanders
69a26c50a3
add translation tokens for GTK preferences dialog
2013-04-17 12:02:53 +01:00
Vincent Sanders
d6f9ae3793
attach scrollbar and layout to the same adjustment so it need not be done in code
2013-04-17 12:02:53 +01:00
Vincent Sanders
fc9097fb1f
provide gettext hooks to use the netsurf localisation system
...
This means the internal message system is used for gettext calls from
gtk libraries.
2013-04-14 11:27:42 +01:00
Vincent Sanders
38d0a299df
remove unecissary glib internationalisation include
2013-04-14 11:27:42 +01:00
Vincent Sanders
bf75ba31ac
update gtk3 preferences dialog
2013-04-14 11:27:41 +01:00
Daniel Silverstone (parasomnia chroot)
78149141f9
all-program now splits fatmessages for generic in-tree execution
2013-04-10 23:24:49 +01: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
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
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
0c0e988ea5
Pass double and triple clicks to the browser window.
2013-02-12 13:20:36 +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
4843658742
Don't need to break on space any more. This gives us unicode line breaking from pango.
2013-02-10 18:23:34 +00:00
Michael Drake
d899ebb5fa
Pass correct mouse button for button 2.
2013-01-16 11:54:30 +00:00
Michael Drake
e2e7aa135c
Update GTK front end to implement new clipboard API.
2013-01-08 17:02:27 +00:00
Michael Drake
8314101ada
Pass various control keys to core for clipboard control, etc.
2013-01-08 12:07:56 +00:00
Vincent Sanders
33934e1271
implement the GTK preferances dialog with signals
2013-01-01 00:59:47 +00:00
Vincent Sanders
f12be4ed85
restructure GTK frontend options dialog to be compiant with the gnome HIG and actually work
2012-12-28 01:08:23 +00:00
Vincent Sanders
0402b5ca91
fixup combo boxes to have content, missed in conversion from glade
2012-12-26 17:47:41 +00:00
Vincent Sanders
484fa8b110
move common include path setup to core Makefile
2012-12-20 15:27:07 +00:00
Vincent Sanders
c87cbe5655
split target defaults out
2012-12-13 19:26:24 +00:00
Vincent Sanders
16d67095a6
add pkg-config macro for libraries which are not controled by configuration
2012-12-13 17:23:47 +00:00
Vincent Sanders
45906b9dc2
make macro name more correct
2012-12-13 16:31:05 +00:00
John-Mark Bell
617d655c7b
Remove libxml
2012-11-10 00:11:57 +00:00
Anthony J. Bentley
4c82afa287
Fix GNUisms to make things more portable.
...
On OpenBSD, install does not take a -v flag, and tar does not default to
stdin/stdout.
2012-11-07 08:43:28 +00:00
Vincent Sanders
f16d560f6f
add math library to link
2012-11-05 17:20:33 +00:00