Commit Graph

681 Commits

Author SHA1 Message Date
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
Chris Young
b1f67dab31 Remove Cairo from AmigaOS frontend. 2014-05-03 16:38:58 +01:00
Chris Young
9ba0d66c6d Ensure we don't get extraneous signals allocated 2014-04-06 15:24:24 +01:00
Chris Young
1ecd56bd71 Fix a case where the screen wouldn't close if NetSurf had been launched from Workbench 2014-04-06 15:22:18 +01:00
Chris Young
4ec70fd3a2 Fix some more cppcheck unread/unusedVariable warnings 2014-04-05 23:40:03 +01:00
Chris Young
3ea6ca89a0 Fix cppcheck constStatement warning 2014-04-05 23:12:07 +01:00
Chris Young
c2f9a39966 Fix some cppcheck variableScope warnings 2014-04-05 20:26:39 +01:00
Chris Young
f991abc53c Fix a bunch of cppcheck unusedVariable/unreadVariable warnings 2014-04-05 20:26:39 +01:00
Chris Young
268cda0f56 Fix cppcheck variableHidingTypedef 2014-04-05 20:26:39 +01:00
Chris Young
412df34298 Fix some cppcheck variableScope warnings 2014-04-05 20:26:39 +01:00
Chris Young
4575698f0f Fix cppcheck syntaxError 2014-04-03 19:06:09 +01:00
Vincent Sanders
4d4d74c8cd move page search gui callbacks to their own operations table 2014-03-18 22:32:52 +00:00
Chris Young
c44bbcdc08 Ensure any user-input URLs are passed to the core in UTF-8.
Everything else, including any content of the URL bar which hasn't just been entered by the user, is assumed to be in ASCII.
NB: The exception is the ARexx OPEN command.  This is because NetSurf uses the ARexx port and this command internally when multiple instances are opened.
file: addresses typed into the address bar containing non-ASCII characters will probably no loger work, but it is expected that under normal circumstances, users will either drag'n'drop files or use Project=>Open.  If it becomes an issue I will work around it at a later date.
2014-03-13 19:37:01 +00:00
Vincent Sanders
87f6314dab move scheduleing into browser operation table 2014-03-09 15:37:40 +00:00
Michael Drake
a38a63a37e Make history internal to browser_window module. 2014-02-15 18:44:50 +00:00
Michael Drake
2f66b6f6e2 Fix builds. 2014-02-10 22:53:22 +00:00
Michael Drake
49bed056dd Make browser_window_navigate (un)verifiable flag match browser_window_create. 2014-02-10 22:40:04 +00:00
Chris Young
76b5378996 Add some explanation for the future. 2014-02-10 21:12:02 +00:00
Chris Young
5087fde086 Force downloads to abort on quit 2014-02-10 21:08:36 +00:00
Chris Young
80fcfa7bce Tidy-up; ami_try_quit is checking the window list now 2014-02-10 20:46:24 +00:00
Chris Young
cbf423d4c6 Try quitting after downloading if there are no windows open 2014-02-10 20:40:08 +00:00
Chris Young
55a96a7eee screen_signal should be reset to -1 2014-02-10 20:31:06 +00:00
Chris Young
c384c5dd3e Force the GUI opts window closed on quit 2014-02-10 20:30:08 +00:00
Chris Young
7fa641616b Free help before attempting to close the screen, as it doesn't consider itself a visitor window. 2014-02-10 20:23:09 +00:00
Chris Young
e975b355f5 Don't wait for the screen to close unless we're actually quitting. 2014-02-10 20:18:18 +00:00
Chris Young
709665e5c0 Ensure we always free the screen notification signal 2014-02-10 19:21:47 +00:00
Chris Young
36e0715dfb Get and process AmigaGuide help messages 2014-02-10 18:42:50 +00:00
Chris Young
4aa59f5382 SA_PubSig needs setting at screen open time.
Potentially this fixes a screen closure problem.
2014-02-10 18:13:28 +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
7f2c977788 Unset tab flag in kiosk mode. 2014-02-09 13:31:48 +00:00
Michael Drake
ce41b8d431 Fix errors. 2014-02-09 13:19:46 +00:00
Michael Drake
ea79e85fcd Clean up gui_window creation API. 2014-02-09 13:07:39 +00:00
Michael Drake
987218e144 Fix amiga build. 2014-02-08 23:06:24 +00:00
Michael Drake
3d7cd77982 Simplify local history interface. 2014-02-08 22:43:54 +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
Chris Young
41d7084356 Initialise AmigaGuide help system only at the point of first use. 2014-02-07 17:51:12 +00:00
Chris Young
f5f7dc9931 Only allocate printing resources for the period of time we need them. 2014-02-07 17:45:00 +00:00
Chris Young
665f724a36 Brackets 2014-02-06 21:26:39 +00:00
Chris Young
cd9268761c Only allocate a signal for screen closure at the point we need it. This ensures there are enough free signals for popupmenu.library (at the moment, at least) 2014-02-06 21:23:24 +00:00
Chris Young
b937ed1d8d Avoid a potential crash when two tabs are opened and one of them is closed. 2014-02-06 19:35:52 +00:00
Vincent Sanders
7798dae86a fix missing includes 2014-02-01 22:44:43 +00:00
Vincent Sanders
886a3106db move utf8 local conversion operations to table 2014-02-01 22:17:36 +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
Chris Young
d64754aca4 Ensure the screen actually gets closed before NetSurf quits. 2014-01-24 20:35:31 +00:00
Vincent Sanders
0475693394 create table for fetcher operations and move all operations into it 2014-01-23 00:00:18 +00:00
Chris Young
e43fbb3914 Fix ReadArgs() argument parsing. Collect any parameters we're not interested in and pass those to nsoption_commandline directly. 2014-01-18 22:10:18 +00:00
Chris Young
96546838d1 Debug logging 2014-01-18 21:35:02 +00:00
Vincent Sanders
ba4788108b fixup amiga build errors 2014-01-16 14:43:48 +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