Commit Graph

244 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
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
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
Michael Drake
9062ae3c70 GTK: Page info: Change crtvrfy to pi throughout. 2020-02-23 17:38:14 +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
bcf82925a3 GTK: Remove unused minimum GIF delay option. 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
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
918b1d0fed remove long unused plugin option from gtk and monkey 2019-12-17 22:09:41 +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
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
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