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
Vincent Sanders
a8e186f120
fix customisation toolbar reset and remove unused code
2019-09-21 10:53:41 +01:00
Vincent Sanders
7b63f36a4f
toolbar customisation can now apply chnages
2019-09-21 10:53:41 +01:00
Vincent Sanders
db558f862b
fix dragging into customisation toolbar
2019-09-21 10:53:41 +01:00
Vincent Sanders
c7ad2553d8
allow toolbar customisation to remove widgets from the toolbar
2019-09-21 10:53:41 +01:00
Vincent Sanders
dbc5b5df6a
fixup gtk2 ui builder for toolbar customisation
2019-09-21 10:53:41 +01:00
Vincent Sanders
df398ed886
populate toolbar customisation with icons
2019-09-21 10:53:41 +01:00
Vincent Sanders
778c05a194
populate customize window toolbar
2019-09-21 10:53:41 +01:00
Vincent Sanders
608cc3cbbf
make handling of non browser window containing tabs reasonable
2019-09-21 10:53:41 +01:00
Vincent Sanders
747f135de5
make new browser window creation logic common
2019-09-21 10:53:41 +01:00
Vincent Sanders
fc4ad51a66
fix both gtk2 and 3 toolbar ui builder files
2019-09-21 10:53:41 +01:00
Vincent Sanders
c7c89daff3
allow toolbar customisation to open a tab
2019-09-21 10:53:41 +01:00
Vincent Sanders
46e1116aaa
change toolbar customization to tab approach
2019-09-21 10:53:41 +01:00
Vincent Sanders
65d5161558
remove unsused junk gtk_history_window structure and functions
2019-09-21 10:53:41 +01:00
Vincent Sanders
635be1dfb8
make toolbar and menubar hiding work appropriately
2019-09-21 10:53:41 +01:00
Vincent Sanders
bcb2b7a2c4
simplify toolbar items macros
2019-09-21 10:53:41 +01:00
Vincent Sanders
1119707410
add toolbar customize to main and burger menu
2019-09-21 10:53:41 +01:00
Vincent Sanders
5f5b94c2ae
simplify menu initialisation macros
2019-09-21 10:53:41 +01:00
Vincent Sanders
061499eef6
set menu activation handler using toolbar items
2019-09-21 10:53:41 +01:00
Vincent Sanders
64b2f355dc
use toolbar_items to generate more boilerplate code through macros
2019-09-21 10:53:41 +01:00
Vincent Sanders
ec62f346e1
fix toolbar property update
2019-09-21 10:53:41 +01:00
Vincent Sanders
f6a669464f
split burger menu from popup context menu
2019-09-21 10:53:41 +01:00
Vincent Sanders
85b65921ed
cleanup scaffolding a bit
2019-09-21 10:53:41 +01:00
Vincent Sanders
2e8861dc05
make web search icon setting work properly
2019-09-21 10:53:41 +01:00
Vincent Sanders
e84990bc89
make popup context menu work on toolbar
2019-09-21 10:53:41 +01:00
Vincent Sanders
e36338b617
complete toolbar button click handler implementation
2019-09-21 10:53:41 +01:00
Vincent Sanders
08d7c55cc5
another five handlers and fix menu sensitivity on throbber state change
2019-09-21 10:53:41 +01:00
Vincent Sanders
45bd456cd8
add five more handlers
2019-09-21 10:53:41 +01:00
Vincent Sanders
7f115dc926
implemented another seven signal handlers
2019-09-21 10:53:41 +01:00
Vincent Sanders
8f0c0734ea
implement more toolbar item handlers and make menus call them
2019-09-21 10:53:41 +01:00
Vincent Sanders
8eebe695f0
allow menu activation to use the toolbar button implementations
2019-09-21 10:53:41 +01:00
Vincent Sanders
b24b28e40e
clean up some more handler code and remove button push
2019-09-21 10:53:41 +01:00
Vincent Sanders
ff64341ed3
make menu sensitivity work
...
what remains is interfaces to make the toolbar appropriately sensative
2019-09-21 10:53:41 +01:00
Vincent Sanders
c297101c3a
make menus work again
2019-09-21 10:53:41 +01:00
Vincent Sanders
b389dd4116
make web search box work
2019-09-21 10:53:41 +01:00
Vincent Sanders
f3a68771e3
add home button clicked handler
2019-09-21 10:53:41 +01:00
Vincent Sanders
305190fe73
implement several more button press handlers
2019-09-21 10:53:41 +01:00
Vincent Sanders
07a9d5b3fb
connect button clicked events for local history and stop buttons
2019-09-21 10:53:41 +01:00
Vincent Sanders
8b5100a97e
fix url enttry completion
2019-09-21 10:53:41 +01:00
Vincent Sanders
869c16dae6
cleanup toolbar warnings
2019-09-21 10:53:41 +01:00
Vincent Sanders
bd90138b48
make url entry repond to navigate and update signals
2019-09-21 10:53:41 +01:00
Vincent Sanders
dd767acfee
make toolbar url entry display url
2019-09-21 10:53:41 +01:00
Vincent Sanders
02c75d0790
working throbber
2019-09-21 10:53:41 +01:00
Vincent Sanders
89fb88f6de
move toolbar to be in tab contents
2019-09-21 10:53:41 +01:00
Vincent Sanders
65d169da10
get the code to at least compile again. toolbar is completely broken
2019-09-21 10:53:41 +01:00
Vincent Sanders
1fc51d1f44
moved most of init to toolbar.c
2019-09-21 10:53:41 +01:00
Daniel Silverstone
8b0aec4bac
Monkey: Clean up various leaked blocks
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-09-07 15:24:37 +01:00
Vincent Sanders
6bce06b91f
fix spelling mistakes from miscellaneous event commit
2019-08-20 16:38:51 +01:00
Vincent Sanders
4dc4d8b318
add miscellaneous event to browser window callback table
...
extend the browser window callback table with a miscallaneous event
entry. This is used to replace all browser window callbacks which
take no parameters.
This reduces the API surface from seven separate calls to a single
call with an enumeration which may be readily extended.
The initial implementation in the frontends simply calls the original
implementations to reduce scope for errors.
2019-08-20 00:16:52 +01:00
Vincent Sanders
c0e27bd0da
access gtk throbber frames through an interface
...
This changes the gtk throbber frames to be accessed through an API
This removes teh nsgtk_throbber global and hides the implementation
details from the rest of the code.
2019-08-18 14:41:31 +01:00
Vincent Sanders
01f3879b64
Move favicon from url entry widget to notebook tab label
2019-08-15 23:02:04 +01:00
Vincent Sanders
22ae220bf6
fix atari removal of login window
2019-08-14 12:43:15 +01:00
Vincent Sanders
4094232e3d
remove login window from atari frontend
2019-08-14 12:31:59 +01:00
Vincent Sanders
1e9bfcda7e
remove login window from amiga frontend
2019-08-14 12:23:04 +01:00
Vincent Sanders
7f6222babe
remove login from riscos frontend
2019-08-14 12:18:39 +01:00
Vincent Sanders
ccd81015a1
remove login window from windows frontend
2019-08-14 12:09:04 +01:00
Vincent Sanders
6a1dbd377b
remove login window from gtk front end
2019-08-13 12:09:21 +01:00
Chris Young
ef75d670d6
Amiga: DebugPrintF is OS4-only
2019-08-10 14:51:15 +01:00
Chris Young
765c9c6654
Amiga: OS3 doesn't know FOREGROUNDPEN, so use TEXTPEN instead
2019-08-10 14:49:25 +01:00
Chris Young
bf9ccc57c8
Amiga: Implement a simple listbrowser log in the GUI
...
Can be revealed/hidden with F12 and is currently undocumented.
2019-08-10 14:29:58 +01:00
Chris Young
78199c0177
Amiga: Allow running JS from ARexx
...
Option arexx_allow_exec enables the EXEC command.
It is disabled by default and currently undocumented.
Theoretically this could be used by a form filler application.
2019-08-10 14:22:52 +01:00
Chris Young
faec17a903
Remove scale from Amiga frontend
...
Remove shadow scale variable
Redraw when scale is changed
This also fixes a long-standing bug where the window would not redraw correctly when scrolling if not at 100% scale
2019-08-10 13:22:12 +01:00
Daniel Silverstone
1cf1ec55bc
Support SSL verification through new about: handler
...
In doing this, also propagate why the certificates were bad
so that the page can display a reason. We will need FatMessages
for all these.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-06 13:15:23 +01:00
Daniel Silverstone
8469f4cc8e
Reimplement handling of BAD_AUTH inside browser_window
...
We now handle authentication requests via an `about:` page
which presents a nice form built into the browser window.
In order to do this, we add internal navigation as a concept
to the browser window and we strip the 401login support from all
frontends except monkey.
The 401login callback is now intended for password safe type support
rather than an immediately interactive prompt.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-06 11:26:47 +01:00
Daniel Silverstone
5775e39411
amiga: Fix more content error snafus.
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-05 22:19:58 +01:00
Daniel Silverstone
49a82109ce
riscos: Deal with silly typos. I'm too tired now.
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-05 22:18:50 +01:00
Daniel Silverstone
040d558d39
amiga: Try and catch the last content rework for amiga
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-05 22:16:00 +01:00
Daniel Silverstone
865844ede7
riscos: Try and fix up all the content changes
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-05 22:13:24 +01:00
Vincent Sanders
936cb3ce0c
remove shadow scale variable from beos
2019-08-05 09:36:25 +01:00
Vincent Sanders
243659763b
remove shadow scale variable from atari
2019-08-05 09:36:17 +01:00
Vincent Sanders
e78dc4f5a9
remove RISC OS scale shadow variable
2019-08-04 21:55:09 +01:00
Vincent Sanders
bf0e6be9ca
remove unecessary scaling in RISC OS get and set scroll offsets
2019-08-04 21:46:18 +01:00
Vincent Sanders
0aae3c370b
change RISC OS keypress handling for scale to not use shadow variable
2019-08-04 16:49:01 +01:00
Vincent Sanders
13276f5654
make risc os title setting not use shadow scale value
2019-08-04 15:17:40 +01:00
Vincent Sanders
98f8eaeb31
remove unused interface
2019-08-04 15:01:30 +01:00
Vincent Sanders
3be2b98cc2
change browser_window_drop_file_at_point() to take unscaled coordinates
2019-08-04 14:24:33 +01:00
Michael Drake
c88a55999a
RISC OS: Fix log message.
2019-08-04 14:12:31 +01:00
Michael Drake
1651dc2fb1
RISC OS: Try setting the caret position to give the window focus.
2019-08-04 14:11:01 +01:00
Vincent Sanders
f21c41a2e5
change browser_window_redraw to use unscaled coordinates
2019-08-04 11:25:35 +01:00
Vincent Sanders
b2f5c80ef8
trivial documentation cleanups
2019-08-04 11:25:35 +01:00
Daniel Silverstone
1905200154
Add content handlers for queries
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-04 11:22:40 +01:00
Michael Drake
6d81f87c73
RISC OS: Set window has focus in local history open.
2019-08-04 10:18:07 +01:00
Vincent Sanders
337c2ed7b1
remove unused gtk window interfaces and clean up documentation
2019-08-04 09:47:58 +01:00
Michael Drake
a1951f4c49
RISC OS: Fix ro_cw_get_window_dimensions to account for toolbar height.
2019-08-03 16:57:28 +01:00
Michael Drake
01485d06ba
RISC OS: Core window: X scroll is positive, Y scroll is negative.
2019-08-03 16:40:05 +01:00
Michael Drake
11ecf0b671
Amiga: Fix the corewindow get scroll call.
2019-08-03 16:18:50 +01:00
Michael Drake
3938d5340b
Corewindow: Sanitise scrolling API.
...
Now the core has a helper so that all the front ends don't need
to implement the scroll to show area API.
Now they simply have get and set scroll APIs.
2019-08-03 15:57:23 +01:00
Vincent Sanders
641f5fb072
make use of improved browser_window_set_scale API in frontends
2019-08-03 15:53:07 +01:00
Vincent Sanders
d4c01894c2
change browser_window_get_features to use unscaled coordinates
2019-08-03 14:29:06 +01:00
Vincent Sanders
0ebfff259f
change browser_window_mouse_track to use unscaled coordinates
2019-08-03 14:29:05 +01:00
Vincent Sanders
0a8ed41a1a
change browser_window_mouse_click to use unscaled coordinates
...
this means frontends no longer need to scale mouse click events thus
simplifying their implementation.
2019-08-03 14:29:05 +01:00
Michael Drake
54daff0e97
RISC OS: y scroll is negative.
2019-08-03 14:04:36 +01:00
Michael Drake
f984873799
RISC OS: Attempt to implement ro_cw_scroll_visible().
...
Untested.
2019-08-03 13:50:37 +01:00
Daniel Silverstone
69d1d5f626
monkey: Support clicking in windows
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-03 12:31:02 +01:00
Michael Drake
404fc65771
Framebuffer: Remove bogus comment.
2019-08-03 11:07:04 +01:00
Michael Drake
3a4477413a
Framebuffer: Add keyboard controls for scaling.
2019-08-03 11:00:09 +01:00
Daniel Silverstone
a08a1a1d14
amiga/history_local: Scroll to cursor on open
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 21:04:58 +01:00
Daniel Silverstone
f98de0d347
riscos/local_history: Scroll to cursor on open.
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 21:03:37 +01:00
Daniel Silverstone
99cb0d6bc6
windows/local_history: Scroll to cursor on open
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 21:02:24 +01:00
Daniel Silverstone
7c2811f5f6
framebuffer/local_history: Scroll to cursor on open
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 21:01:46 +01:00
Daniel Silverstone
5e8b2d4653
gtk/local_history: Scroll local history to cursor on display
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 21:00:34 +01:00
Daniel Silverstone
c078c3f509
gtk/corewindow.c: Correctly handle scroll_visible
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 21:00:06 +01:00
Daniel Silverstone
6bbdf08cb0
gtk, beos: Run scheduler before fetching fdset
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 17:06:45 +01:00
Daniel Silverstone
f7d97d6483
monkey: Report the errno when select() returns -1
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 16:57:38 +01:00
Daniel Silverstone
6a9137f431
monkey: Run scheduler before extracting fdsets
...
We need to run the scheduler *before* we extract the fdsets from
the fetchers, otherwise fetch aborts might result in EBADF
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 16:56:54 +01:00
Vincent Sanders
3114e78ded
fix missed get dimensions call in amiga frontend
2019-08-02 12:58:50 +01:00
Vincent Sanders
552aab42e1
remove scaled parameter from get_dimensions
2019-08-02 12:26:20 +01:00
Vincent Sanders
955cf5f97b
RISCOS: change invalidate to cope with unscaled rectangles
2019-08-01 22:34:13 +01:00
Vincent Sanders
654840e845
AMIGA: Update to remove rectangle scaling from browser window invalidate
2019-08-01 22:34:13 +01:00
Michael Drake
2943e9ae46
GTK: Update for unscaled bw invalidate rectangle.
2019-08-01 22:34:13 +01:00
Vincent Sanders
5742762070
split browser and browser_window operations
2019-08-01 19:51:19 +01:00
Samuel Dionne-Riel
87177d8aa1
GTK: prefer using curl's intrinsic defaults for CURLOPT_CA*
...
On distributions that ship only a ca-bundle in `/etc/ssl`, the
configuration set at initialization will force curl to look for
certificates that are not present in this directory.
Removing the setting instead makes curl use its internal default.
The framebuffer frontend will not set this option, and the only
other frontend that sets it is BeOS.
This issue can be observed (likely among other) on the NixOS Linux
distribution.
2019-08-01 12:03:06 +01:00
brabo
ba9f5f8ef0
gtk/fetch.c & monkey/filetype.c: ascii_is_space already checks for newline.
2019-08-01 10:42:08 +01:00
brabo
c90bfb23ad
gtk/fetch.c & monkey/filetype.c: small comment correction.
2019-08-01 10:42:08 +01:00
Daniel Silverstone
6c951f7a15
monkey/browser.c: Handle failed calloc more gracefully
...
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-01 09:23:58 +01:00
Vincent Sanders
f4878b4c17
Update version for next development cycle
2019-07-17 11:39:46 +01:00
Vincent Sanders
f7d4b485cb
update copyright years for release
2019-07-17 11:19:06 +01:00
Michael Forney
6a53b447e5
Declare global variables as extern in headers
...
Otherwise, each source file that includes the header will create a
new definition, which are usually merged together by the linker.
Multiple definitions of an object is not allowed in ISO C.
2019-06-30 09:52:06 +01:00
Vincent Sanders
ca2cbac232
fix freetype pkg-config usage in atari frontend
2019-06-29 18:01:22 +01:00
Vincent Sanders
a57940a468
fix atari STRIP makefile target to not have a spurious close bracket
2019-06-25 16:59:22 +01:00
Vincent Sanders
8b31e18ad6
stop the atari toolchain from matching the cstrip binary for the strip one
2019-06-25 16:56:06 +01:00
Chris Young
24590a1145
Check callback memory is allocated before trying to use it.
2019-06-09 20:30:46 +01:00
Chris Young
93494790f3
Fix memory leak in Amiga frontend
2019-06-09 20:17:47 +01:00
Chris Young
7314651b95
NULL drawhandle after free
2019-06-09 19:29:56 +01:00
Vincent Sanders
dddc5eac94
Update schedulers return codes
...
The GTK and monkey frontends schedulers now return NSERROR_NOT_FOUND
when a caller is using a negative schedule time to remove a callback.
2019-06-08 13:33:16 +01:00
Vincent Sanders
eeeca4b712
add ability to stop a navigation in monkey frontend
2019-06-06 17:17:27 +01:00
Vincent Sanders
2db39b1f7d
quieten down windows debug
2019-05-17 18:15:58 +01:00
Chris Young
a5e4bf8220
Make SimpleRefresh the default.
...
This reduces memory use.
2019-05-12 16:43:01 +01:00
Chris Young
f139c4fa4d
Add a render hook to ensure the browser window is redrawn when needed
...
This fixes the occasional damaged areas in SimpleRefresh mode
2019-05-12 16:38:48 +01:00
Chris Young
336a7dc170
Mark functions as static
2019-05-10 22:11:21 +01:00
Chris Young
6ac65a3674
Hide the message port which is shared amongst all Amiga NetSurf windows
2019-05-10 21:59:03 +01:00
Chris Young
24b910f4ff
Make the window list more private
...
TODO: fix arexx.c to not need it
2019-05-10 21:49:00 +01:00
Chris Young
a5051c7128
Use new beep function
2019-05-10 21:34:22 +01:00
Chris Young
97010ecef5
Make screen pointer accesible through an accessor function only
2019-05-10 20:59:30 +01:00
Chris Young
c5a07fac76
Replace global current gui_window with an accessor function
2019-05-10 20:32:40 +01:00
Vincent Sanders
8f9d434b12
make win32 keyboard handling in browsing window functional
...
makes the drawable area widget for the browser display use windows
unicode input and copes with surrogate pairs for full unicode input
coverage.
fixes the keydown handling to only the necessary navigation operations
like left, right up and down etc.
2019-05-09 23:27:59 +01:00
Vincent Sanders
95b8d12950
implement windows clipboard functionality
...
This allows clipboard to operate (cut, copy, paste and delete) in the
win32 front end. The clipboard is set and read in windows unicode
mode and then converted to/from utf-8 for the browser core.
2019-05-09 23:11:05 +01:00
Chris Young
896e531a7f
fix os3 build
2019-05-08 18:35:51 +01:00
Chris Young
944d8fc412
try storing form_control in the hook data
...
it doesn't appear to be needed anywhere else
2019-05-08 18:12:22 +01:00
Chris Young
19742c826a
Make gadget object enum private to gui.c
2019-05-08 17:51:53 +01:00
Chris Young
76618d9588
make gui_window_2 private to gui.c
2019-05-08 17:48:50 +01:00
Chris Young
df5c18315f
Pass ptr to clicktab var instead of func calls
2019-05-08 17:29:14 +01:00
Chris Young
d0df3fa4b3
more accessor for gui_window_2
2019-05-08 01:44:44 +01:00
Chris Young
1cd30fdb3c
Move ami_(re)set_pointer (back?) into gui.c as they need to set/read the gui_window_2 structure
2019-05-08 00:59:04 +01:00
Chris Young
ae36d35728
throbber crap
2019-05-08 00:56:07 +01:00
Chris Young
a5aa53657c
get the window title from a gui_window
2019-05-08 00:35:09 +01:00
Chris Young
1edf8f2848
set find window function
2019-05-08 00:30:51 +01:00
Chris Young
c64d48005c
Try moving form_control into gui_window
2019-05-08 00:18:43 +01:00