Commit Graph

980 Commits

Author SHA1 Message Date
Vincent Sanders
959af3dc28 Add XDG desktop file for GTK frontend
The XDG spec allows for software to specify how it is executed and
presented in a graphical environment by using a desktop file
http://standards.freedesktop.org/desktop-entry-spec/latest/

This version is taken from my Debian packaging but should be useful
for other operating systems.
2014-12-25 15:49:35 +00:00
Vincent Sanders
e467077a21 move host based default settings to core as tehy are not frontend dependant 2014-12-21 16:22:54 +00:00
Vincent Sanders
193a5c80b7 ensure gtk build on freebsd uses the correct iconv 2014-12-21 15:06:07 +00:00
Vincent Sanders
8e60d32831 remove some warnings from freebsd build 2014-12-21 02:01:45 +00:00
Vincent Sanders
c6ada5c089 Cope with freebsd gdk paths 2014-12-21 01:25:36 +00:00
Vincent Sanders
79e501075a make the form select menu API smaller.
By hiding all but the form selection menu option structure from code
outside of render this reduces the API to the absolute minimum to
support this feature.
2014-11-13 21:52:08 +00:00
Vincent Sanders
9fde3502b6 doxygen cleanups in utils 2014-11-12 23:27:13 +00:00
Vincent Sanders
1a7d00076d cleanup Doxygen warnings 2014-11-12 19:31:39 +00:00
Vincent Sanders
a99b1325d7 Doxygen cleanups 2014-11-12 11:45:07 +00:00
Anthony J. Bentley
ad414165f9 Typo fix: maintinance → maintenance in gtk frontend (closes #2217) 2014-11-10 22:39:28 +00:00
Vincent Sanders
33eb1f413a Doxygen warning fixes 2014-11-10 20:15:14 +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
8f64d5d223 Improve Doxygen documentation 2014-11-08 12:35:11 +00:00
Vincent Sanders
f287379a7c Fix several doxygen issues 2014-11-08 11:38:20 +00:00
Vincent Sanders
3405803280 Improve content encoding information API
Extend the content_get_encoding() API to retrieve the source of
the encoding as well as the actual encoding.
2014-11-07 12:33:34 +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
46f369ca9e move themse install to its own header 2014-11-06 14:19:15 +00:00
Vincent Sanders
8ec7ad053a Make the fetching of a contents encoding generic.
The frontends previously had to use an html renderer API to get the
encoding of a content. This also required the explicit checking of the
contents type rather than using the existing content API to abstract
this knowledge.
2014-11-05 23:44:31 +00:00
Vincent Sanders
ba3671d147 ensure gtk thumbnail content has a minimum render width. (fix coverity 1109861) 2014-11-04 20:41:31 +00:00
Vincent Sanders
b4f3eaf082 check stat return value (fixes coverity 1109842) 2014-11-04 20:41:31 +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
ad343eccb1 remove unecessary utils/types.h
This cleans up this header and moves the functionality into more
useful places while reducing the include complexity but only pulling
in whats required.
2014-11-02 20:10:32 +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
Michael Drake
3c82214998 Don't need the old url header. 2014-10-31 14:34:14 +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
d204d6d555 Clean up saving as PDF
This removes the global PDF_Password interface that had completely
bitrotted and moves it into the standard misc operation table with a
sensible defualt implementation.

This also cleans up and fixes the gtk frontend implementation of the
pdf password callback so it compiles.

Finally this moves the implementation to a sensible place alongside
the other exporters reducing target makefile complexity futher.
2014-10-26 23:53:14 +00:00
Vincent Sanders
14e2829489 remove the die API from the core.
The die() API for abnormal termination does not belong within the core
of netsurf and instead errors are propogated back to the callers.

This is the final part of this change and the API is now only used within
some parts of the frontends
2014-10-26 12:42:53 +00:00
Michael Drake
58c0fe8cc7 Don't take core/front-end choice away from user. 2014-10-24 21:03:21 +01:00
Michael Drake
94f32b8369 Move create_form_select_menu to window gui table. 2014-10-24 20:45:21 +01:00
Michael Drake
6b846c363d Add trivial maps facilitator at about:maps
This is a simple HTML front end for the Google Static Maps API, since
we don't yet have enough JS support for the full Google Maps.

See:
  https://developers.google.com/maps/documentation/staticmaps/
2014-10-22 20:42:21 +01:00
Vincent Sanders
f97c0109a6 Update gtk frontend to cope with split operations table headers 2014-10-16 22:33:44 +01:00
Michael Drake
63645c4c32 Fix core create_form_select_menu API to pass gw, rather than bw out to front ends. 2014-10-16 12:39:31 +01:00
Michael Drake
1b7ce53aad Remove seemingly unused global. 2014-10-16 12:21:37 +01:00
Vincent Sanders
02bbaa3e88 split version info into its own header and remove unnecessary nesurf.h includes
The netsurf.h header should *only* contain the registration, core
initialisation and finalisation methods. Version information is best
placed in its own header.

Also remove any unneeded inclusion of this header limiting it to
solely the places the relevant API is required.
2014-10-13 15:08:16 +01:00
Vincent Sanders
fa8d690005 remove unused include 2014-10-13 13:38:08 +01: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
3fa0ed01c0 add API to set DPI 2014-10-13 02:34:10 +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
9487076f2a remove old notes that are no longer relevant 2014-09-22 22:58:27 +01:00
Vincent Sanders
79c6617cfb move gtk to using its own main loop instead of core polling 2014-09-22 18:11:39 +01:00
Vincent Sanders
a8101a99ea use gtk completion variable and remove uneeded include of netsurf.h 2014-09-22 18:11:39 +01:00
Vincent Sanders
0de8cfc9d4 add flag to allow gtk loop to be signalled to exit 2014-09-22 18:11:39 +01:00
Vincent Sanders
841bc17090 move gtk execution loop to main() 2014-09-22 18:11:23 +01:00
Michael Drake
d3d682e51b Remove redundant code. 2014-09-06 11:26:02 +01:00
Vincent Sanders
4f530a3f8f Pull warning flags out into variables that can be overriden seperately for C and C++ 2014-09-05 16:01:44 +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
e5d2cba11f fix gtk install target to provide language fallback 2014-08-19 15:59:51 +01:00
Vincent Sanders
20f99a8e96 deal with ftell errors and short reads (coverity 1230589 1230588) 2014-08-18 17:28:06 +01:00
Vincent Sanders
984d87985c sanity check length os environment variable derived paths (Coverity 1231845) 2014-08-18 16:28:27 +01:00
Vincent Sanders
881b4d447d fix leaking of title text (coverity 1229480) 2014-08-18 15:03:15 +01:00
Vincent Sanders
035d14df0e fix resource leak of default application desktop file name. (coverity 1231844) 2014-08-18 14:55:11 +01:00
Vincent Sanders
d0da99beca extend gtk viewdata to open files in an editor using the freedesktop default app specification 2014-08-16 23:33:12 +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
ca077b0638 fixup preference dialog handling of Developer view options 2014-08-02 02:20:25 +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
e4920ae2c7 use public browser interface rather than private 2014-07-24 00:23:53 +01:00
Vincent Sanders
235f3f6c57 update gtk frontend menu structure to be more standard 2014-07-23 20:37:02 +01:00
Vincent Sanders
418925fa4b clean up attach parent macro 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
698b7c61f0 make gtk source viewer less explody. fixes #2159 2014-07-21 01:15:43 +01:00
Vincent Sanders
5b4d38b29b stop using certificate data from the stack outside the message context. 2014-07-17 15:20:38 +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
18aefabd20 change reformat to be driven from the scheduler like redraw 2014-07-01 09:27:20 +01:00
Vincent Sanders
8944edd649 convert all frontends to scheduled fetch operation 2014-06-26 19:05:59 +01:00
Vincent Sanders
8e29e517d5 fix disc cache size option to be unsigned 2014-06-09 13:13:59 +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
Daniel Silverstone
d96e805428 Use search provider iterator to populate preferences dialog 2014-06-03 15:40:41 +01:00
Vincent Sanders
e2633a9a63 fix default search provider icon handling 2014-06-03 15:01:14 +01:00
Vincent Sanders
95baa1113b add proxy excusion entry to GTK builder file. From Pavel Smolyar (bug #2122) 2014-05-29 18:02:07 +01:00
Vincent Sanders
7d02ae916a make launch_url core operation use nsurl 2014-05-27 23:52:35 +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
Vincent Sanders
a6d3ceae0e Completely re-write web search provider handling 2014-05-25 01:01:59 +01:00
Vincent Sanders
315877c822 reduce uncessary include usage 2014-05-18 23:17:15 +01:00
Vincent Sanders
a4be7f7d1a ensure new config directories can be created. 2014-05-13 17:49:23 +01:00
Vincent Sanders
6d3f5d2338 Enable filesystem based cache in gtk frontend 2014-05-13 15:53:06 +01:00
Vincent Sanders
64f607760b add backing store storage path to browser initialisation 2014-05-13 15:53:06 +01:00
Vincent Sanders
ccc9ad969b fix gtk options loading 2014-05-12 23:46:31 +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
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
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