Commit Graph

116 Commits

Author SHA1 Message Date
Vincent Sanders
5bd7606103 Update GTK url bar completion to navigate on selection 2015-06-23 23:22:42 +01:00
Vincent Sanders
ee74f9ac8c Change gtk message and language handling to use resource names
The GTK resource handling can now provide the path to resources rather
than having to compute them separately. This reduces run time
allocation and allows for the resources to be built in if required.

Additionally this tweaks the resource scheme handling to redirect
favicon.ico to resource:favicon.png instead of rewriting directly to
file scheme path allowing the favicon to be a compiled in resource.
2015-06-23 11:53:41 +01:00
Vincent Sanders
8ef292b9ca Change GTK UI builder handling to use resource API
GTK UI builder resources have till now been exclusively stored on disc
requiring netsurf to ship numerous additional resource files. This
requires going to disc every time a UI action is performed which can
become a lot of unwanted file handling.

GLib/GTK has moved towards GResource handling for such resources
instead. It now seems that migrating to this style of usage is
expected and indeed the only portable way to include pixbufs.

This introduces an API to hide the various implementation details of
how resources are handled from the rest of the codebase.
2015-06-17 21:35:40 +01:00
Vincent Sanders
c105738fa3 Change LOG() macro to be varadic
This changes the LOG macro to be varadic removing the need for all
callsites to have double bracketing and allows for future improvement
on how we use the logging macros.

The callsites were changed with coccinelle and the changes checked by
hand. Compile tested for several frontends but not all.

A formatting annotation has also been added which allows the compiler
to check the parameters and types passed to the logging.
2015-05-28 16:08:46 +01:00
Vincent Sanders
89a3f250d2 Ensure GTK source viewer reports errors appropriately. 2015-04-17 10:40:11 +01:00
Vincent Sanders
997e8999d5 Refactor GTK toolbar handling to correctly cope with text labels 2015-04-12 01:12:43 +01:00
Vincent Sanders
f3158f79b6 remove usage of deprecated gtk alignment interface 2015-04-11 22:32:08 +01:00
Vincent Sanders
e193566de4 Improve the stock icon/icon name compatability logic to be explicit 2015-04-11 00:28:32 +01:00
Vincent Sanders
267fb0b00e cope with deprication of image menus in GTK 3.10 2015-04-10 16:20:55 +01:00
Vincent Sanders
44c0196dbf extend GTK 3 compatability with opacity and viewport helpers 2015-04-10 00:36:47 +01:00
Vincent Sanders
5a14a74ab1 Update gtk compatability header to cope with deprication of stock icon interface 2015-04-08 22:21:30 +01:00
Witold Filipczyk
befa5e6ed3 To avoid namespace conflicts with ncurses add NetSurf key prefix.
Adds a NetSurf key code prefix of NS_ to all key codes.
2015-03-27 09:36:19 +00:00
Michael Drake
30909f8ed5 Move FILE_SCHEME_PREFIX to corestrings. 2015-02-26 16:14:23 +00:00
Vincent Sanders
d1f2d29e10 Doxygen cleanups and documentation additions 2014-11-10 17:00:15 +00:00
Vincent Sanders
5562c9a553 Continue doxygen error cleanup. 2014-11-08 22:08:29 +00:00
Vincent Sanders
05a64bfde9 fix up more doxygen errors 2014-11-08 16:49:32 +00:00
Vincent Sanders
8c2cfecfb5 Allow content handlers to have debug values set through API
Previously content handler debugging features were accessed by global
variables. This allows the setting of debugging parameters via a
content API giving per content control over debugging features.
Currently only used by the html content handler to toggle global
redraw debugging.
2014-11-06 22:51:46 +00:00
Vincent Sanders
c14ddad660 change url setting api to take an nsurl instead of a text string 2014-11-02 22:30:45 +00:00
Vincent Sanders
c31c4babe1 Change contextual content retrieval to browser features.
Update the API which allows frontends to acquire the page features
(images, link urls or form elements) present at the given coordinates
within a browser window.

By making this an explicit browser_window API and using the browser.h
header for the associated data structure with a more appropriate API
naming the usage is much more obvious and contained.

Additionally the link url is now passed around as a nsurl stopping it
being converted from nsurl to text and back again several times.
2014-11-02 15:46:42 +00:00
Vincent Sanders
ce3d991918 use nsurl_nice and remove url_nice
change all callers over to using new API for generating nice filenames
from a url and remove the old API.
2014-10-31 00:24:57 +00:00
Vincent Sanders
7ace528729 Update url setting API to return nserror code instead of calling warn_user 2014-10-29 00:18:12 +00:00
Vincent Sanders
bbcb7d91b2 fix amiga pdf save include 2014-10-27 00:07:15 +00:00
Vincent Sanders
17be8cf216 Put the font operations table alongside all the other core API
The netsurf core is driven from numerous operation tables most of
which are now set through a common netsurf_register() interface. The
font and plotting interfaces are currently separate and unlike all the
other operation tables are modified for differing contexts.

This change moves the font operations alongside all the other
operations table and remove unnecessary interaction with the renderers
font internals. Further this also removes the need for css internals
to be visible in frontends.
2014-10-13 11:56:31 +01:00
Vincent Sanders
e825f38437 move about and preferences window handling to more sensible position 2014-09-22 23:18:03 +01:00
Vincent Sanders
a8101a99ea use gtk completion variable and remove uneeded include of netsurf.h 2014-09-22 18:11:39 +01:00
Michael Drake
b7b70a3ca8 Merge branch 'master' of git://git.netsurf-browser.org/netsurf 2014-08-26 17:59:19 +01:00
Vincent Sanders
91deff3797 fix menu and C-q gtk exiting (closes bug #2184) 2014-08-23 17:10:39 -07:00
Michael Drake
0b2aa6c61f Don't include browser_private.h 2014-08-22 14:27:24 +01:00
Vincent Sanders
af16c38d2d fix DOM tree dump debug 2014-08-04 00:37:21 +01:00
Vincent Sanders
c4d1ece421 extend viewdata to files and use it for box tree dump 2014-08-04 00:37:21 +01:00
Vincent Sanders
58eea873f8 rationalise source view 2014-08-01 01:00:13 +01:00
Vincent Sanders
55669387ff clean up gtk scaffolding interface, remove lots of cruft and globals 2014-07-27 18:07:00 +01:00
Vincent Sanders
06a1d75d52 stop gtk about dialog forcing navigation of existing browsing contexts 2014-07-27 18:07:00 +01:00
Vincent Sanders
235f3f6c57 update gtk frontend menu structure to be more standard 2014-07-23 20:37:02 +01:00
Vincent Sanders
9e010dc7a5 remove unused popup menu link context sensative change code. 2014-07-23 20:37:02 +01:00
Vincent Sanders
6ae1841b5a stop using invalid gdkpixbuf 2014-07-08 15:37:23 +01:00
Vincent Sanders
5ce4f11eac add link context menu to gtk and add link copying and bookmarking 2014-07-07 23:29:06 +01:00
Vincent Sanders
3a9fa29ee5 try and improve usage of browser window internals 2014-07-06 18:34:34 +01:00
Vincent Sanders
e2633a9a63 fix default search provider icon handling 2014-06-03 15:01:14 +01:00
Vincent Sanders
a6d3ceae0e Completely re-write web search provider handling 2014-05-25 01:01:59 +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
1fd565cba7 make GTK configuration handling conform to XDG specification. 2014-04-28 16:37:00 +01: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
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
3d7cd77982 Simplify local history interface. 2014-02-08 22:43:54 +00:00