Commit Graph

260 Commits

Author SHA1 Message Date
Vincent Sanders
84ec9c2b2a tidy up GTK frontend initialisation 2021-02-22 23:04:02 +00:00
Vincent Sanders
3cf92011c2 split out gtk misc operations from gui module 2021-02-22 23:04:02 +00:00
Vincent Sanders
5db541a6d7 Improve target setup in makefiles
split out HOST TARGET and SUBTARGET generation into separate file.
split out target(frontend) specific tool settings into separate files.
2021-01-17 20:06:24 +00:00
Vincent Sanders
25c21e5fef add back/forward mouse button processing to GTK frontend 2021-01-02 09:49:25 +00:00
Daniel Silverstone
32d52bf055
gtk: In path plotter, maintain cairo transformation offset
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-10-03 21:42:46 +01:00
Daniel Silverstone
58fee8749f
gtk/bitmap: Assert surface width/height non-zero
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-10-03 14:25:43 +01:00
Vincent Sanders
b0b271274c Make GTK UI resources more consistent
The GTK UI resources have to be different resources between major versions.

When kept in one directory with slightly different filenames they were
  difficult to distinguish and resource definition was difficult to update.

The resources for both gtk versions were stored in both builds resulting in
  unneccessary increased binary size.

The new stratagy lists the UI files once in a single gresources file and only
  includes what is required. If a UI file is added it must be provided in both
  gtk2 and 3 or a build failure will occour rather than a runtime error.
2020-09-04 08:26:04 +01:00
Zixing Liu
50f5e3f1a6 Makefile: add Chinese (Simplified) translation target
Signed-off-by: Zixing Liu <liushuyu@aosc.io>
2020-09-02 08:59:38 +01:00
Weiyi Xu
4d224afba3 resources: add Chinese (Simplified) translations
Signed-off-by: Weiyi Xu <xuweiyi0923@gmail.com>
Signed-off-by: Zixing Liu <liushuyu@aosc.io>
Signed-off-by: Mingcong Bai <jeffbai@aosc.io>
2020-09-02 08:58:53 +01:00
Vincent Sanders
410cb9a8fd gtk compile din resource list was missing pageinfo for gtk2 build 2020-08-15 09:49:27 +01:00
Daniel Silverstone
a4e9f41948
gtk: Implement handling of new present_cookies callback
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-23 21:18:46 +01:00
Daniel Silverstone
9c0fa9c939
gtk: Do not attempt to use now-freed scaffolding when iterating them to quit
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-22 20:29:20 +01:00
Daniel Silverstone
a35f35fec0
frontends/gtk: Defocus search before selecting all in relevant core windows
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-22 11:36:43 +01:00
Daniel Silverstone
e6c666d4f4
chore: Perform sslcert_viewer-ectomy
This removes the sslcert_viewer entirely from the code. Where
possible I've also trimmed out of frontends any code I think
should not be present.

Frontends should check and remove any further references that I
have failed to catch.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-22 09:01:39 +01:00
Daniel Silverstone
a98003674b
GTK: Add transient popup behaviour for local history too
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-09 19:38:26 +01:00
Daniel Silverstone
d2e5446bfb
GTK: Change toolbar page-info to use compat allocation function
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2020-05-09 11:58:44 +01:00
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