Chris Young
098fbb628b
Move some init functions together for the sake of clarity
2014-11-10 19:01:30 +00:00
Chris Young
225161b05e
Move MIME cleanup before NetSurf's internal exit.
2014-11-10 18:58:58 +00:00
Chris Young
16e80452c2
Remove gui_init and merge the contents into main()
2014-11-10 18:57:38 +00:00
Chris Young
7bf92f6a04
Remove die()
...
Terminating execution abruptly on AmigaOS is dangerous.
2014-11-10 18:56:09 +00:00
Chris Young
e0833a7f2e
Fix warnings
2014-11-09 01:10:52 +00:00
Chris Young
4329c7a328
Terminate execution if an essential library fails to open
2014-11-09 00:06:56 +00:00
Chris Young
c2eb205685
Open libraries *before* we need them...
2014-11-09 00:06:56 +00:00
Chris Young
3c1aeebb1e
Fix headers
2014-11-09 00:06:55 +00:00
Chris Young
9601ddacad
Add new libs file to centrally open/close required libraries, and move a couple of the existing manual opens to it.
2014-11-09 00:06:55 +00:00
Vincent Sanders
c14ddad660
change url setting api to take an nsurl instead of a text string
2014-11-02 22:30:45 +00:00
Vincent Sanders
c31c4babe1
Change contextual content retrieval to browser features.
...
Update the API which allows frontends to acquire the page features
(images, link urls or form elements) present at the given coordinates
within a browser window.
By making this an explicit browser_window API and using the browser.h
header for the associated data structure with a more appropriate API
naming the usage is much more obvious and contained.
Additionally the link url is now passed around as a nsurl stopping it
being converted from nsurl to text and back again several times.
2014-11-02 15:46:42 +00:00
Chris Young
c3522ea747
Change min stack (again) to 128K
...
It has come to my attention that some websites (eg amigakit.com) are using marginally more than the 96K stack space set previously. This should give plenty of breathing space.
2014-10-30 21:51:52 +00:00
Vincent Sanders
7ace528729
Update url setting API to return nserror code instead of calling warn_user
2014-10-29 00:18:12 +00:00
Chris Young
29dfdd459d
Move scroller check into update_extent, where it makes more sense
2014-10-26 22:22:15 +00:00
Chris Young
bad7780378
Check scroller requirements as part of the reformat.
2014-10-26 21:30:19 +00:00
Chris Young
784d893eb7
Avoid a crash on exit in kiosk mode
2014-10-26 17:08:23 +00:00
Chris Young
36a3e58c06
Expand status bar to entire window width
2014-10-26 17:00:18 +00:00
Chris Young
340d74ae4f
Make the new hscroller work properly
2014-10-26 16:42:00 +00:00
Chris Young
80b195cdd5
Move the hscrollbar inside the window
2014-10-26 16:35:05 +00:00
Chris Young
17b87a60cf
Offset new windows as per style guide
2014-10-26 16:12:34 +00:00
Chris Young
0c77d85f89
Make window counting a generic function
2014-10-26 15:41:44 +00:00
Chris Young
b751513d6f
Schedule redraws for 1cs to ensure they take place after reformats (which are scheduled by the core for 0cs)
2014-10-26 13:22:02 +00:00
Chris Young
a01cb0f635
Don't need redraw_scheduld as the scheduler stops it being scheduled twice anyway
2014-10-26 13:18:19 +00:00
Chris Young
69c7b6b1f5
Fix button update, avoid forward decl
2014-10-26 13:11:05 +00:00
Chris Young
49873c8bf3
Cache size gadget width
2014-10-25 20:17:33 +01:00
Chris Young
d89f654fbe
Correct comment
2014-10-25 20:08:56 +01:00
Chris Young
a2e999584c
Use the correct size gadget width (thx tboeckel)
2014-10-25 20:07:58 +01:00
Chris Young
41b08da31a
Check scroller requirement after a resize
2014-10-25 20:03:14 +01:00
Chris Young
b2ff4877e4
Remove the vertical scroll bar if there's nothing to scroll
2014-10-25 19:59:11 +01:00
Chris Young
7e95b7ffb1
Remove some old VertProp tags
2014-10-25 19:29:51 +01:00
Chris Young
b7b4db8520
Merge branch 'chris/shorter-vscrollbar'
...
Move the vertical scroller into the window area and allow it to be removed when eg. framesets are being displayed.
2014-10-25 19:27:40 +01:00
Chris Young
d31aa9a959
Use more sensible default value for size gadget width
2014-10-25 19:24:58 +01:00
Chris Young
fa7d44702a
Fix warnings
2014-10-25 16:22:28 +01:00
Chris Young
2ad41a78c4
Returns bool, not void
2014-10-25 15:52:10 +01:00
Chris Young
8d930afb3d
Reduce code duplication
2014-10-25 15:49:42 +01:00
Chris Young
088c03a9b7
Reformat page after scrollbar add/remove
2014-10-25 15:47:05 +01:00
Chris Young
e22273c0ff
Remove scrollbar for framesets too
2014-10-25 15:38:57 +01:00
Chris Young
8590780ff5
Avoid forward decl, add comments
2014-10-25 15:29:12 +01:00
Chris Young
90e6cf85b6
Toggle vscroll on/off as needed
2014-10-25 15:23:31 +01:00
Chris Young
f5d866ab70
Rename OID_VSCROLL to GID_VSCROLL and ensure it exists before referencing
2014-10-25 15:08:04 +01:00
Chris Young
6034e69ad1
Creat ehte kiosk window similar to the normal one
2014-10-25 14:41:10 +01:00
Chris Young
78a8f1d967
Remove TODO: LM_REMOVECHILD disposes the objects already.
2014-10-25 14:30:17 +01:00
Chris Young
f787b22594
Add a TODO, don't break kiosk window
2014-10-25 13:29:10 +01:00
Chris Young
f9ed0af8d8
Remove built-in window scrollbar and replace with a scroller.gadget.
...
The style does not match the window border so looks a bit odd.
2014-10-25 13:17:49 +01:00
Michael Drake
94f32b8369
Move create_form_select_menu to window gui table.
2014-10-24 20:45:21 +01:00
Chris Young
7cfec69700
Ensure the throbber is stopped when destroying a gui_window. Fixes 2205.
2014-10-23 18:48:31 +01:00
Vincent Sanders
56a5ad11f3
remove unecessary include of browser.h in amiga frontend
2014-10-17 23:18:58 +01:00
Vincent Sanders
0b64df140c
Update amiga frontend for split operation table header changes
2014-10-16 22:33:44 +01:00
Vincent Sanders
30f118a86d
remove unecessary css includes from fronetends
2014-10-13 15:45:51 +01:00
Vincent Sanders
02bbaa3e88
split version info into its own header and remove unnecessary nesurf.h includes
...
The netsurf.h header should *only* contain the registration, core
initialisation and finalisation methods. Version information is best
placed in its own header.
Also remove any unneeded inclusion of this header limiting it to
solely the places the relevant API is required.
2014-10-13 15:08:16 +01:00
Vincent Sanders
265f63e679
remove use of deprecated netsurf_quit variable
...
The core no longer needs to run the event polling loop as fetches are now
scheduler driven. This is part of a series which will ultimately remove
netsurf_poll callback altogether.
The Amiga maintainer probably wants to look at moving the ami_quit
signalling inside ami_handle_msg() to further reduce overhead.
2014-10-12 10:05:01 +01:00
Chris Young
e994704d5c
void function
2014-09-20 13:44:28 +01:00
Chris Young
1b2225ea07
Move log init so it starts earlier
2014-09-20 13:38:38 +01:00
Chris Young
9e6b0fb8b0
Adjust min stack to 96K following evaluation.
2014-09-07 14:09:11 +01:00
Chris Young
93d7cf59ff
Reduce stack back down to 64K
2014-09-02 18:58:28 +01:00
Chris Young
5b815861f3
Ensure the favicon updates correctly when we close a tab
2014-08-25 20:20:16 +01:00
Chris Young
2353790a45
Reduce minimum stack to 128K.
...
This should make it easier to see if bug#2177 is fully resolved.
2014-08-03 12:24:08 +01:00
Chris Young
989e82544e
Increase minimum stack to 1MB
2014-07-26 13:11:44 +01:00
Chris Young
db28f295a8
Raise minimum stack to 512K
2014-07-26 00:24:19 +01:00
Chris Young
36411a2ba5
Fix tab title when "always show tabs" is enabled and only one tab is present
2014-07-12 16:09:08 +01:00
Chris Young
d61713d107
Don't update if there is no browser attached (fixes potential crash on startup)
2014-07-12 16:01:43 +01:00
Chris Young
c3514c2c50
Ensure tab titles are updated if the tab bar is newly added
2014-07-12 15:44:14 +01:00
Vincent Sanders
0f151e37cb
Merge branch 'vince/reformatpending'
...
Conflicts:
amiga/gui.c
2014-07-06 10:45:31 +01:00
Chris Young
ab5b2d9afe
Move favicon redraw to scheduled callback
2014-07-05 19:00:21 +01:00
Chris Young
21a21e8143
Move the throbber to proper scheduled operation
2014-07-05 18:44:44 +01:00
Chris Young
bdcb123f0a
Replace a flag for search ico refresh with a scheduled callback
2014-07-05 17:47:40 +01:00
Chris Young
f3508427f8
Ensure Ctrl-C does not terminate NetSurf abruptly.
2014-07-05 09:36:43 +01:00
Chris Young
eccfdec27a
Wait for network activity instead of polling.
2014-07-03 20:53:28 +01:00
Vincent Sanders
18aefabd20
change reformat to be driven from the scheduler like redraw
2014-07-01 09:27:20 +01:00
Vincent Sanders
2330503533
Merge branch 'vince/fetchschedule'
2014-07-01 09:03:47 +01:00
Chris Young
01088bb63b
Re-disable the favicon render hook
2014-07-01 08:28:07 +01:00
Chris Young
846b534854
Recreate the entire menu when the hotlist window is closed.
...
This ensures the hotlist entries in the menu are in sync with reality, and mirrors the existing hotlist toolbar update.
2014-06-30 22:37:05 +01:00
Chris Young
01271f4061
Re-enable favicon render hook. Not sure why or when this was disabled.
2014-06-30 22:21:10 +01:00
Chris Young
0c5bb37bea
Implement a very basic favicon cache for the hotlist menu to use
2014-06-29 22:35:52 +01:00
Vincent Sanders
8944edd649
convert all frontends to scheduled fetch operation
2014-06-26 19:05:59 +01:00
Chris Young
904cefd388
Enable temporary change of search provider from the main browser window
2014-06-15 15:48:55 +01:00
Chris Young
3de529d815
Change the search ico to be a chooser gadget with the icon as the display
2014-06-15 15:39:49 +01:00
Chris Young
ea01d6b3fc
Double the stack as it still runs out on occasion
2014-06-01 08:46:22 +01:00
Michael Drake
ee32aa43fe
Remove an unused variable.
2014-05-31 08:47:32 +01:00
Vincent Sanders
1966649c83
fix amiga build to use correct nsurl acessor function
2014-05-27 00:15:34 +01:00
Vincent Sanders
688f60d963
fix errors with path_to_url conversion
2014-05-27 00:08:04 +01:00
Vincent Sanders
00b6cfc57e
rework path to url mapping functions to convert from and to nsurl
2014-05-26 23:52:36 +01:00
Chris Young
4a9e1edbde
Redraw the favicon if the window is resized.
2014-05-25 15:07:40 +01:00
Chris Young
bd9acf594f
Try to ensure we get the correct search icon when the window opens.
2014-05-25 10:37:20 +01:00
Chris Young
ab5fb83037
Move search_web_init somewhere sane
2014-05-25 10:26:34 +01:00
Vincent Sanders
5d8d4d84b7
use new search web interface to refresh icon.
2014-05-25 01:16:32 +01:00
Vincent Sanders
b34a6bbe31
fix warnings in amiga build introduced in websearch changes
2014-05-25 01:14:01 +01:00
Vincent Sanders
649f4f8890
fix amiga build error
2014-05-25 01:11:24 +01:00
Vincent Sanders
a6d3ceae0e
Completely re-write web search provider handling
2014-05-25 01:01:59 +01:00
Vincent Sanders
0a2082d777
ensure all vmkpath implementations check their parameters
2014-05-17 22:28:32 +01:00
Chris Young
11f03cae0c
Create cache dir
2014-05-16 09:55:38 +01:00
Vincent Sanders
64f607760b
add backing store storage path to browser initialisation
2014-05-13 15:53:06 +01:00
Vincent Sanders
06a3f84e50
remove amiga specific mkpath wrapper as registration has been fixed and the generic netsurf)mkpath is available
2014-05-11 16:54:36 +01:00
Chris Young
318edea47e
Make mkpath allocate the string buffer for map_filename. Fixes 2119.
2014-05-10 15:22:38 +01:00
Vincent Sanders
16b11e7238
ensure operations tables are registered as early as possible.
2014-05-10 10:22:10 +01:00
Vincent Sanders
2326d3c503
remove unecessary utils/url.h includes
2014-05-09 10:15:42 +01:00
Vincent Sanders
096bd47ab0
refactor url utility functions to use standard nserror codes and have appropriate documentation.
2014-05-08 00:16:50 +01:00
Vincent Sanders
b9bade808f
missing comma
2014-05-07 16:47:44 +01:00
Vincent Sanders
6349704b5e
fix silly errors in atari and amiga file operation table change
2014-05-07 16:38:58 +01:00
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
Vincent Sanders
bd065d4a43
split browser gui operations up
2014-01-15 19:37:05 +00:00