Commit Graph

943 Commits

Author SHA1 Message Date
Daniel Silverstone
4b8ed9b777
GTK: Cause the page-info popup to appear in the right place
To position the page-info window we have to tunnel all the
way from the current scaffolding, via its top-level gui window,
through to the toolbar.  In the toolbar we look up the URL bar
and then determine the screen coordinates of the scaffolding
via the top level widget GTK semantics.

Finally we place the page-info window 4 pixels down and right of
the bottom-left of the entry box, which should look nice.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-08 20:46:37 +01:00
Daniel Silverstone
14e506f89f
GTK RES: Make page info windows popup type
In order for GTK windows to be styled properly, in the context
we use them, the page-info windows need to be marked as popup
windows (typically used for transient popups such a menus, so
ideal for us).

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-08 20:43:43 +01:00
Daniel Silverstone
524688098a
GTK: Make page info transient properly, handle events, etc.
This makes the page info properly transient and causes it
to handle activity in the corewindow and outside itself
properly.  This includes ensuring that actions outside
the window will close it, etc.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-08 20:42:49 +01:00
Vincent Sanders
ab952e0634 improve content header usage 2020-05-07 20:55:44 +01:00
Daniel Silverstone
309fcd6d42
monkey: Catch some signals and backtrace
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-04-25 21:04:41 +01:00
Vincent Sanders
529b94be73 fixup riscos image configuration dialog gadget id
when minimum GIF delay was removed in
 38c632a7da the
 remaining gadget identifier numbers were not updated.

Fixes #2745
2020-04-14 22:03:24 +01:00
Vincent Sanders
84f0c760e6 use form of window create which returns an error instead of aborting 2020-04-14 21:08:51 +01:00
Vincent Sanders
34508fc3cd For some reason atari mkdir_all operation was using the wrong path separator 2020-03-25 21:54:12 +00:00
Daniel Silverstone
d3a80a9aae
Monkey: Clean up on completion of downloads
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-03-22 13:08:36 +00:00
Michael Drake
ca29c3b512 Framebuffer: Make some log messages deep debug. 2020-03-12 17:21:28 +00:00
Vincent Sanders
2c549b28fb add page information ui elements to GTK frontend 2020-03-11 08:33:58 +00:00
Michael Drake
f59c415ef7 GTK: Initial page-info display. 2020-03-11 08:33:58 +00:00
Chris Young
b371454344 AmiSSL implies OpenSSL 2020-03-06 20:42:34 +00:00
Chris Young
9664a8ac76 Mod os3support files so file.c builds 2020-03-06 20:29:45 +00:00
Daniel Silverstone
0b4d1fbb1b
monkey: Enable disc cache optionally on monkey
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-24 15:37:11 +00:00
Michael Drake
79821cd9cf Frontends: Delete maps resource links. 2020-02-24 15:02:12 +00:00
Michael Drake
a47270c93e About fetches resources: Drop maps resource.
It had bitrotted.
2020-02-24 14:21:27 +00:00
Daniel Silverstone
e59e52b853
windows: Convert the remaining NoMemory warnings which aren't about memory
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-24 12:10:35 +00:00
Daniel Silverstone
2fa06ed503
windows: Use nserror reporting rather than always NoMemory
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-24 11:57:18 +00:00
Daniel Silverstone
56a9a25192
Windows: Add nserror reporting function
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-24 11:57:02 +00:00
Daniel Silverstone
8ca778197c
framebuffer: Use new enumerate feature of libnsfb
1. Select as default the most useful compiled in surface
2. If the selected surface is unavailable, report the valid
   surface list to the user.  Also do this if the user specifies
   -f ? on the CLI.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-24 10:58:07 +00:00
Michael Drake
9062ae3c70 GTK: Page info: Change crtvrfy to pi throughout. 2020-02-23 17:38:14 +00:00
Vincent Sanders
8a834918e3 missed a certificate change on amiga frontend 2020-02-23 17:37:33 +00:00
Vincent Sanders
338dd004f2 fix windows and amiga frontends to cope with certificate chain changes 2020-02-23 17:25:19 +00:00
Vincent Sanders
7039973a1f fix frontends to cope with certificate chain update 2020-02-23 17:19:45 +00:00
Vincent Sanders
0c34d06494 Keep the complete certificate chain from a fetch
Instead of extracting information from the X509 certificate chain in
the fetcher the entire chain is propagated in Distinguished Encoding
Rules (DER) format.

This allows all the information contained in a certificate chain to be
retained which can subsequently be presented to the user
2020-02-23 16:23:50 +00:00
Daniel Silverstone
614ca752f3
GTK: When we update the dimensions, resize the grid
By doing this, we ensure the scrollbars update their thumbs
properly, otherwise they can lag behind the page shape somewhat.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 21:41:17 +00:00
Daniel Silverstone
486aff5efc
GTK: Drain GTK events before schedule_run()
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 21:01:27 +00:00
Daniel Silverstone
6321243bbd
GTK: Catch a couple of missed flag renames
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 21:01:27 +00:00
Daniel Silverstone
98c1bd1b5c
GTK: Update preferences dialog to use GtkBox
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 17:26:33 +00:00
Michael Drake
194dfad4a5 Core window: Constify the core_window handle through the getters. 2020-02-22 16:37:37 +00:00
Daniel Silverstone
e87bc1bfda
GTK: Remove hack for url bar refresh on throbber stop
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 16:25:49 +00:00
Daniel Silverstone
c9e5fa9bc1
GTK: Ensure that we don't frob the URL bar from the scaffold
To correctly refocus the location box on tab switching we
need to not update the url of the tab when the scaffold updates
its global context.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 15:47:17 +00:00
Daniel Silverstone
a016445a82
GTK: Add a location focus state machine
Because the initial navigation process on new browser window
creation is somewhat complex, we need a small state machine in
the GTK UI to ensure that we handle the correct combination
of focussing needed to maintain selection through initial tab
opening.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 15:33:17 +00:00
Daniel Silverstone
5239163f4d
GTK: Request and honour location focus
So that when we create a new tab we automatically focus the
location box, pass the flag into create, and honour it when it
comes back to us.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 15:12:22 +00:00
Daniel Silverstone
5c377cd285
GTK: Use new BW_CREATE_FOREGROUND flags
This gets rid of temp_open_background which was, frankly, a bit
of an eyesore.  In addition it makes the open-in-new-tab context
menu action behave like Firefox's with respect to the user's preference
regarding whether or not to immediately focus new tabs.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-22 11:51:10 +00:00
Michael Drake
cbaf33e02d Windows: Attempt to remove unused minimum GIF delay option. 2020-02-21 11:45:20 +00:00
Michael Drake
62a32a2a8a Atari: Attempt to remove unused minimum GIF delay option. 2020-02-21 11:45:20 +00:00
Michael Drake
bcf82925a3 GTK: Remove unused minimum GIF delay option. 2020-02-21 11:45:20 +00:00
Michael Drake
d1e8c84ea6 Amiga: Try removing unused minimum GIF delay option. 2020-02-21 11:45:20 +00:00
Michael Drake
38c632a7da RISC OS: Remove unused minimum gif delay from Choices.
The templates might need work to remove empty space.
2020-02-21 11:45:20 +00:00
Daniel Silverstone
4ba326d71d
GTK3: Also enable focus for other core windows.
This should enable keyboard support for the other core windows
such as cookies, global history and the hotlist.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-21 09:01:35 +00:00
Daniel Silverstone
525118cff0
GTK3: Permit Local History to be focussed
In order to let keypresses operate the local history window on
GTK3 we have to permit the drawing area to get focus so that
the keypresses actually make their way into the event loop in
the correct place.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-02-21 08:57:12 +00:00
Vincent Sanders
d71d2632b4 limit monkey backtrace generation to libc where it is available 2020-01-11 10:23:14 +00:00
Daniel Silverstone
ccffb95f03
monkey: On assert failure, print a backtrace
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-01-10 21:53:30 +00:00
John-Mark Bell
fb4f1d28ba fix parent pointer use after free in RISC OS dialog handling 2019-12-22 11:13:12 +00:00
Vincent Sanders
3fdbef0566 remove unused render_resample option from beos, gtk and monkey frontends 2019-12-21 20:52:22 +00:00
John-Mark Bell
fd510b27ee GTK: fix missing includes 2019-12-21 19:52:57 +00:00
Vincent Sanders
bacd8d229c make RISC OS specific window_screen_ options limited to that frontend 2019-12-20 12:59:28 +00:00
Vincent Sanders
918b1d0fed remove long unused plugin option from gtk and monkey 2019-12-17 22:09:41 +00:00
Vincent Sanders
0e304aba42 add page info button to url entry and update on change for win32 2019-12-16 00:31:48 +00:00
Vincent Sanders
dba2df4b9a add page info resources to win32 frontend 2019-12-16 00:28:10 +00:00
Vincent Sanders
f081ffb7e8 fix win32 font measurement of non ascii strings.
This greatly improves line breaking and font measurement in the
windows frontend.
2019-12-14 12:51:59 +00:00
Vincent Sanders
4c68def432 extend search for certificate file to include resource paths 2019-12-10 23:12:10 +00:00
Vincent Sanders
77d184913b rename global resource path variables in win32 frontend 2019-12-10 23:12:10 +00:00
Vincent Sanders
56ddeed96c separate out construction of command line argument string vector 2019-12-10 23:12:10 +00:00
Vincent Sanders
2f7de349ea update resource search path to remove users directory
it is no longer suitable to search the users home directory for
 general browser resources as the correct config path is now
derived from the apropriate windows methods.

Additionaly the NETSURFRES environment variable is no longer part
 of the fixed path and is instead added from the makefile
 configuration option.
2019-12-10 23:12:10 +00:00
Chris Young
0154bed8d7 Add page info icon to Amiga frontend 2019-12-08 17:23:36 +00:00
Vincent Sanders
c95adedc06 add page info display to RiscOS frontend 2019-12-07 21:24:34 +00:00
Vincent Sanders
9dd701357e Update the default theme with page infor icons 2019-12-07 21:23:43 +00:00
Michael Drake
2c953cdf97 Buildsystem: GTK: Change gtk target to gtk2, which builds nsgtk2. 2019-12-02 10:39:39 +00:00
Vincent Sanders
614a563d2f set debug text to correct level 2019-12-01 21:49:20 +00:00
Vincent Sanders
fac20e8d38 make gtk frontend use page information icons 2019-12-01 21:44:55 +00:00
Vincent Sanders
38fb545e1b add gtk icon resources for page information 2019-12-01 19:22:06 +00:00
Daniel Silverstone
5063fc838e
monkey: Support reporting page info state
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-12-01 17:05:28 +00:00
Vincent Sanders
08e2cc32ba repurpose ssl certificate core window for nitial page infor window on gtk 2019-12-01 16:21:16 +00:00
Vincent Sanders
03f72abdb3 fix win32 frontend to allow setting unicode titles 2019-12-01 11:27:21 +00:00
Michael Drake
2277d69ba1 Framebuffer bitmap font: Add glyphs for http://wttr.in/ 2019-11-30 12:24:43 +00:00
Vincent Sanders
ad321c1b83 make gtk tab closeable with middle click
Implements feature request "Please add middle-click on tab to close."
Fixes: #2720.
2019-11-30 11:24:13 +00:00
Vincent Sanders
86f73b767a ensure caret is handled correctly on gtk when focus is removed from layout 2019-11-27 23:45:14 +00:00
Vincent Sanders
dae0ff3d26 remove warning callback from miscelaneous function table 2019-11-11 16:59:28 +00:00
Vincent Sanders
699cc7deee ensure save_complete resources are correctly finalised before quit 2019-10-24 22:20:57 +01:00
Vincent Sanders
69d31afcde fix gtk download window to cope with files larger than 2 gibibytes 2019-10-19 23:01:08 +01:00
Vincent Sanders
a54cbb5aea commit a neatness on the gtk download window code 2019-10-16 21:51:01 +01:00
Vincent Sanders
1f0dc9dd6e fix gtk download window dereferencing boolean as pointer 2019-10-15 20:09:26 +01:00
Vincent Sanders
6e31dcaec4 ensure gtk scaffolding destruction does not create memory errors 2019-10-13 01:52:22 +01:00
Vincent Sanders
8e986ae214 ensure menu resources are released
this ensures all the menu resources are freed when the containing
 window receives the destroy signal. Previously these resources
 were leaked.
2019-10-10 18:04:32 +01:00
Vincent Sanders
fed47dc35b make throbber visible in tab icon while active 2019-10-08 23:06:01 +01:00
Vincent Sanders
ca20dab9cf fix toolbar visibility checkboxes initial state 2019-09-22 11:58:23 +01:00
Vincent Sanders
f3cb3188c6 fix gtk install target 2019-09-21 22:16:45 +01:00
Vincent Sanders
6c470679ee fix menu signal handler prototype 2019-09-21 10:53:41 +01:00
Vincent Sanders
9dd936ae7c fix toolbar customisation 2019-09-21 10:53:41 +01:00
Vincent Sanders
9d3112a643 persist the menu and tool bar visibility as user settings 2019-09-21 10:53:41 +01:00
Vincent Sanders
e14416d43f fix gtk2 customisation window instruction box expansion 2019-09-21 10:53:41 +01:00
Vincent Sanders
bebb883d5a remove global edit mode and make customisation toolbox construction simpler 2019-09-21 10:53:41 +01:00
Vincent Sanders
cbb818aa64 improve how toolbar contents customisation is stored in user options 2019-09-21 10:53:41 +01:00
Vincent Sanders
9b03d6ba63 add combined reload and stop button 2019-09-21 10:53:41 +01:00
Vincent Sanders
4efb1d34c3 remove leftover sighandler code 2019-09-21 10:53:41 +01:00
Vincent Sanders
f6f8102ecb clean up tab focus setting 2019-09-21 10:53:41 +01:00
Vincent Sanders
25581133a1 remove unused signal handler api 2019-09-21 10:53:41 +01:00
Vincent Sanders
2bed178a33 fix resource release and stopping throbber on toolbar widget destruction 2019-09-21 10:53:41 +01:00
Vincent Sanders
d94afaa0e1 make the gtk_search structure private to teh gtk search object 2019-09-21 10:53:41 +01:00
Vincent Sanders
e9b5b56ba6 fixup the gtk2 ui builders 2019-09-21 10:53:41 +01:00
Vincent Sanders
a013a24d5f clean up find in page to operate nicely 2019-09-21 10:53:41 +01:00
Vincent Sanders
a20fe23ce6 move search toolbar to be per tab and move implementation to one place 2019-09-21 10:53:41 +01:00
Vincent Sanders
9bbc7eb9cb ensure pixbuf references are updated correctly to avoid leaks 2019-09-21 10:53:41 +01:00
Vincent Sanders
541acda906 add cookie icon and use it for show cookies toolbar button 2019-09-21 10:53:41 +01:00
Vincent Sanders
11aa682154 construct all toolbar items from data table
This changes toolbar item constuction to use toolbar_items.h
  instead of explicit macros.

Additionally all remenants of old stock item themeing are done
  away with and GTK icon names are used instead.
2019-09-21 10:53:41 +01:00
Vincent Sanders
9cd9a403e6 do not allocate toolbar items individually 2019-09-21 10:53:41 +01:00
Vincent Sanders
3df34e7dec cleanup some toolbar item creation bits 2019-09-21 10:53:41 +01:00