Commit Graph

946 Commits

Author SHA1 Message Date
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
Vincent Sanders
0075eab194 move remaining gui operations to table 2014-01-14 23:31:54 +00:00
Vincent Sanders
8dfe225153 move download operations to download table 2014-01-14 16:04:02 +00:00
Vincent Sanders
d18c8ed452 move teh final optional window operations into the table 2014-01-13 22:54:19 +00:00
Vincent Sanders
e82d83f184 move four more optional window operations to table 2014-01-13 14:51:27 +00:00
Vincent Sanders
d70e371cd9 move two more mandantory window operations to table 2014-01-13 11:38:35 +00:00
Vincent Sanders
7227c29bba move window scroll getter and setter into operations table 2014-01-13 01:08:15 +00:00
Vincent Sanders
5a962586fb move mandantory window update and redraw operations into table 2014-01-12 23:50:54 +00:00
Vincent Sanders
4b49b4ac77 move more optional window operations into table including removing unused hide_pointer operation altogether 2014-01-12 22:55:26 +00:00
Vincent Sanders
b7736bae2f split gui operations into core and window and move more operations into tables 2014-01-12 17:07:34 +00:00
Vincent Sanders
56bb9582b1 move set title, set url, start and stop throbber window operations to gui table 2014-01-12 10:27:41 +00:00
Vincent Sanders
c8496df3df move window creation and destruction into table 2014-01-11 22:34:12 +00:00
Vincent Sanders
d3c392c3d3 Initial conversion of netsurf gui to callback vtable 2014-01-11 14:20:30 +00:00
Chris Young
a856439afb Re-add proper notification of ability to close public screen. 2014-01-10 20:46:58 +00:00
Chris Young
78e8077a5a Re-enable the RAmiga-U shortcut to activate the URL bar, now it is safe to do so. 2014-01-10 20:35:49 +00:00
Chris Young
9fd344172a Enforce the use of popupmenu.library >=53.11
Older versions have a dangerous bug which manifests itself as a deadlock or a crash.
2014-01-10 20:32:20 +00:00
Chris Young
ef76dd468d Tentatively enable AmigaGuide help 2014-01-10 20:03:22 +00:00
Chris Young
4eff5ddf71 Add file upload request on click 2014-01-05 23:04:28 +00:00
Daniel Silverstone
692d4a328c Fix some log statements 2014-01-05 17:22:30 +00:00
Rob Kendrick
550c8cd73c Change gui_file_gadget_interface to pass gui_window not browser_window, add GTK implementation that of course does not work. 2014-01-05 16:45:32 +00:00
Rob Kendrick
d8ad3b8e78 Add new gui entry point for file open dialogue requests 2014-01-05 16:01:03 +00:00
Chris Young
845923adfc Make the new tab button also use the new blank tab function. This fixes bug 2034 2014-01-03 18:20:47 +00:00
Chris Young
c25728b011 Move new blank tab into own function 2014-01-03 18:17:25 +00:00
Chris Young
24e5b2ec16 Create a layout group for favicon, URL and the new favourites star. This makes the balance bar work again. 2013-11-24 14:37:44 +00:00
Chris Young
8f6e17d405 Update favourites button when switching tabs 2013-11-23 13:46:57 +00:00
Chris Young
46a88fe8f4 Create the BitMapObjects and just switch between them.
Fix the themes so the images are correct.
2013-11-23 13:11:30 +00:00
Chris Young
616a9b0652 Make hotlist button do something 2013-11-23 12:34:00 +00:00
Chris Young
50e038538a Add hotlist favourites star button 2013-11-23 12:23:56 +00:00
Chris Young
b50743a253 tidy-up 2013-10-28 21:30:43 +00:00
Chris Young
20dabacb25 Correct some memory allocation parameters 2013-10-12 13:43:33 +01:00
Chris Young
ade86e496e Replace AllocVec with AllocVecTags. Remove some instances of MEMF_CLEAR where it is not necessary. 2013-10-12 13:11:13 +01:00
Chris Young
af2c37167b application.library fix for new SDK. Note that:
* application.library functionality will no longer be available on OS4.0, however that only extends to the Docky icon as notifications weren't supported anyway.
* CI builds may crash until the toolchain is updated.
2013-10-12 10:26:28 +01:00
Chris Young
bdf76965b4 Add Undo/Redo to Amiga version. NB: Clear selection no longer has a shortcut key. 2013-10-01 18:51:27 +01:00
Chris Young
87da43d373 Extra logging 2013-09-28 14:58:03 +01:00
Chris Young
69b0350a3c Make the hotlist toolbar work 2013-09-12 12:35:55 +01:00
Chris Young
0bc226def9 Make hotlist toolbar use the new functions 2013-09-12 12:29:47 +01:00
Michael Drake
4473f4b8a8 Remove tree icon_name globals from all the front ends. 2013-09-02 16:39:46 +01:00
Michael Drake
49c7994d05 Remove bulk of old treeview implementation. 2013-09-02 16:19:16 +01:00
Michael Drake
5c7ca39ada Remove tree_url_node module. Had to disable treeview scanning in amiga and cocoa front ends. Amiga front end very likely broken. 2013-09-02 14:17:09 +01:00
Chris Young
011ba501a7 Make some global DrawInfo local to the function it is needed in. 2013-08-20 19:43:13 +01:00
Chris Young
1761d390de Slightly better layouting 2013-08-20 19:39:18 +01:00
Chris Young
b11b18f258 Correct path 2013-08-15 18:21:12 +01:00
Michael Drake
65a94d5b02 Merge branch 'master' of git://git.netsurf-browser.org/netsurf 2013-08-13 14:11:34 +01:00
Michael Drake
40e4530433 Use new SSL certificate viewer. 2013-08-12 11:44:36 +01:00
Chris Young
344bcc87ae Show iconified windows when quitting (horrible flickery workaround for a recoverable alert) 2013-07-27 14:46:20 +01:00
Chris Young
7d9af63c16 Localise the description, mark it Amiga-only 2013-07-27 14:25:07 +01:00
Chris Young
2d33665b69 Remove any AppIcons on quit 2013-07-27 14:19:51 +01:00
Chris Young
17c4201fb8 When receiving a "To Front" message, don't open a window if none are active. 2013-07-27 14:14:26 +01:00
Michael Drake
3f45e53539 s/history_core/local_history/ 2013-07-10 11:55:42 +01:00
Chris Young
f2a6d645ae If a new browser window opens, bring the screen NetSurf is running on to the front 2013-06-02 16:26:25 +01:00
Chris Young
f31ab148cb Better logging for resource searching 2013-06-02 16:07:59 +01:00
Chris Young
94dc0795c1 Ensure treeview gets a palette rather than the built-in defaults 2013-06-01 18:56:53 +01:00
Vincent Sanders
9bd2969876 amiga is the only user of the very odd usage of the options API 2013-06-01 16:09:26 +01:00
Chris Young
31e3b27fad Set redraw tile size to default on screen change 2013-06-01 15:37:26 +01:00
Chris Young
40682a899e Remove unneeded parameter 2013-06-01 15:27:29 +01:00
Chris Young
173bfe3d3d Fix the new prefs hook 2013-06-01 15:18:09 +01:00
Chris Young
8179e51a75 Set default colours when screen changes 2013-06-01 15:11:26 +01:00
Chris Young
fe78657b08 Use default macros for updating window size 2013-06-01 14:58:51 +01:00
Chris Young
8b586b2d67 Fix a crash when edit settings if NetSurf is running on the WB screen
Rename use_pubscreen to make it clearer what the option is for
2013-05-31 23:25:05 +01:00
Chris Young
ac1865f361 Set more sensible default window size 2013-05-31 19:34:22 +01:00
Chris Young
2d483113ef Fix Guru on exit 2013-05-28 20:38:16 +01:00
Chris Young
2dec72b4d5 Re-order Messages loading to avoid a crash on launch 2013-05-28 20:13:34 +01:00
Vincent Sanders
a88fb2e0e8 add missing includes 2013-05-28 17:34:29 +01:00
Vincent Sanders
f3065a5cfd replace accidentallly removed function 2013-05-28 17:22:07 +01:00
Vincent Sanders
83ab7accf4 fix stupid mistake introduced in options API change 2013-05-28 17:09:42 +01:00
Vincent Sanders
b918f63f3e fixup atari option names 2013-05-28 17:00:55 +01:00
Vincent Sanders
a92e5930ff fixup issues with new options API merge 2013-05-28 16:44:46 +01:00
Vincent Sanders
91966b562e move amiga to new options code 2013-05-28 14:16:11 +01:00
Vincent Sanders
63d7247a9c fix mismatched option name and variable names
block_ads should be block_advertisments to match option name
toolbar_status_width should be toolbar_status_size to match option name
2013-05-28 14:16:11 +01:00
Vincent Sanders
ee6e6eec05 move options include 2013-05-28 14:16:10 +01:00
Vincent Sanders
35dacc3671 move the logging initialisation out to be call by frontends
This allows each frontend to pass a distinct callback to configure the
output file stream appropriately for their use.
2013-05-23 11:50:57 +01:00
Chris Young
ba0cf5c949 put it back in a state where it stays enabled 2013-05-12 20:36:49 +01:00
Chris Young
6d7adac89e Update the edit menu after every click, to be safe. 2013-05-12 20:36:47 +01:00
Chris Young
c2783ac1d4 change zoom button window dimensions test suff 2013-05-12 20:36:39 +01:00
Michael Drake
631265ef6b Front ends have no reason to include desktop/selection.h now. 2013-05-10 12:16:05 +01:00
Chris Young
4da186e28e Remove unneeded include 2013-04-16 00:29:26 +01:00
Chris Young
bbb0f4c2b9 The scheduled callback function doesn't need to do anything, because NetSurf is going to call hlcache_poll anyway after it returns. 2013-04-15 23:53:54 +01:00
Chris Young
6557bae1a2 missing include 2013-04-15 23:46:28 +01:00
Chris Young
dbebd4c1ce Schedule an immediate fetch poll if fetch is active 2013-04-15 23:42:46 +01:00
Chris Young
3b53d22260 Remove no-longer-needed code 2013-04-15 23:02:32 +01:00
Chris Young
6dcccd5051 test using amiga frontend 2013-04-15 19:51:40 +01:00
Chris Young
53e361b622 Fix build 2013-04-11 21:32:05 +01:00
Chris Young
a6179250d5 Remove scheduled redraws for destroyed windows 2013-04-11 21:26:42 +01:00
Chris Young
26dbb7a602 Avoid multiple schedules of redraws 2013-04-11 21:20:25 +01:00
Chris Young
a938b1a337 Make "resize with contents" a user option 2013-04-10 19:36:38 +01:00
Chris Young
b086d04d8a If we are reformatting, delay the redraw slightly to avoid excessive consectutive redraws 2013-04-09 20:49:28 +01:00
Chris Young
78e7019479 Test enable "resize with contents" now we have queued/delayed redraws. 2013-04-09 20:32:58 +01:00
Chris Young
2db0024651 document and add missing include 2013-04-04 19:59:35 +01:00
Chris Young
90266d117c Schedule browser-initiated reformats too, with the caveat that a message of some description needs to arrive at the message port before the reformat will be queued (think this only affects scale changes). 2013-04-04 19:47:46 +01:00
Chris Young
6686d9dad8 Schedule redraws from local history too, hide ami_do_redraw and friends as only gui.c needs to call those directly now 2013-04-04 19:46:33 +01:00
Chris Young
c297f45bb9 Schedule redraws to prevent expected redraws from not happening when no events are occuring 2013-04-04 19:31:42 +01:00
Chris Young
22c7c1259b We are opening on a public screen, not a custom screen (even our own screen is a public screen) 2013-03-20 08:22:03 +00:00
Michael Drake
037beb44fb Pass caret clip rect out to front ends. (Nothing actually using them yet.) 2013-03-05 22:54:51 +00:00
Chris Young
4d9b674997 Remove struct selection from ami_file_save and anywhere that feeds into it 2013-02-22 19:02:58 +00:00
Chris Young
a86ff2ac2c Add missing flag 2013-02-18 16:24:58 +00:00
Vincent Sanders
15d39c6ebf fix remaining errors introduced in refactor 2013-02-18 13:05:23 +00:00
Vincent Sanders
0eb0798873 fix errors introduced in refactor 2013-02-18 12:24:49 +00:00
Vincent Sanders
529ca251fc rename flags for browser_window routines to be shorter 2013-02-18 11:51:42 +00:00
Vincent Sanders
b112dec78d change browser_window_create and refactor all callsites 2013-02-18 11:23:48 +00:00
Vincent Sanders
3bfb5b96a7 browser_window_navigate refactor 2013-02-18 11:23:27 +00:00
Chris Young
9fe2873f04 rationalise the removal of the box redraw queue 2013-02-13 20:23:17 +00:00
Chris Young
1809143ff3 Implement triple-click 2013-02-12 19:12:14 +00:00
Chris Young
af3ef0fb41 Queue fast scroll redraws same as any other box redraw 2013-02-10 12:13:39 +00:00
Chris Young
02115a8958 Optimise box redraws some more by discarding simple subsets 2013-02-06 18:44:41 +00:00
Chris Young
7c671378aa Don't add the same box redraw to the queue more than once 2013-02-05 19:44:21 +00:00
Chris Young
9c7031143f Use last known scroll pos, not current 2013-02-03 22:19:31 +00:00
Chris Young
b704ad3e88 Correct fast scroll co-ordinates 2013-02-03 19:30:11 +00:00
Chris Young
4c27d6dd8e Ensure scale can be accssed from the keyboard 2013-02-03 19:14:25 +00:00
Chris Young
34f1e427f9 Un-fix scaled box redraw, as it cause more problems than it solves 2013-02-03 19:10:30 +00:00
Chris Young
ccaeced4bf Make fast scroll code easier to read 2013-02-03 18:50:16 +00:00
Chris Young
871a8e7cba Fix scaled redraw of boxes 2013-02-03 18:21:28 +00:00
Chris Young
43fe4490d3 Defer the redraw of boxes. This fixes a redraw problem with form select menus. 2013-02-03 14:01:48 +00:00
Chris Young
89856f5592 ifdef some code that will never work under AmigaOS <4.0 2013-01-30 18:23:48 +00:00
Chris Young
a30d51cb50 Ensure we free the same size raster that we allocated 2013-01-27 11:09:54 +00:00
Chris Young
30dfa09008 Disable help for now, as it causes the popupmenu.class deadlock again 2013-01-24 20:16:35 +00:00
Chris Young
12890d3c60 Attempt fix screen close problem 2013-01-24 20:08:59 +00:00
Chris Young
18091ec1a9 Add basic context-sensitive help. 2013-01-24 20:00:09 +00:00
Chris Young
78e956607f Don't busy the pointer when removing the caret - it's pointless and flickery 2013-01-15 19:23:20 +00:00
Chris Young
8625933812 Expand the damaged area rectangle by one pixel each side to stop missing lines 2013-01-13 19:11:48 +00:00
Chris Young
e7ef916b53 Prevent deadlock during simple refresh damaged area redraw 2013-01-13 19:06:51 +00:00
Chris Young
453301f961 Fix fast scroll up 2013-01-12 14:06:48 +00:00
Chris Young
4011cc8671 Only set the busy pointer after we've decided not to bail out early 2013-01-06 11:40:37 +00:00
Chris Young
cc321d5f63 Track the mouse pointer on a per-window basis 2013-01-06 00:21:15 +00:00
Chris Young
07024b05c4 Change the mouse pointer back to what it was (and what NetSurf thinks it is) instead of to the default pointer. Additionally don't use ami_update_pointer for treeview windows as AmigaOS has a pointer setting per window, but NetSurf is only storing the current one as a single global variable. 2013-01-03 19:53:20 +00:00
Chris Young
dfc2fe6f97 gui_window_2 var should be gwin for consistency 2013-01-03 19:32:21 +00:00
Chris Young
625012a869 Set the busy pointer during redraws 2013-01-03 19:26:51 +00:00
Chris Young
8e416ec226 Ensure the menu checked state remain in sync with reality 2012-12-15 15:39:09 +00:00
Chris Young
ea5096fb8d These values shouldn't be declared static 2012-12-15 13:43:05 +00:00
Chris Young
08cb5a09b2 Work around a speedbar.gadget layout bug 2012-12-15 13:39:40 +00:00
Chris Young
ec7389a18f Update the current pressed qualifier keys at every RAWKEY event, as the update doesn't work during IDCMP_IDCMPUPDATE 2012-12-10 20:26:40 +00:00
Chris Young
02a4bfd375 Toggle the tab bar to the correct state if the option to always show it is changed and only one tab is currently open 2012-12-09 20:39:10 +00:00
Chris Young
083b7c0233 Enable persistent tab bar through tab_always_show option 2012-12-09 20:05:22 +00:00
Chris Young
0c54f2a902 Prevent multiple tabbars 2012-12-09 20:02:13 +00:00
Chris Young
24e1aff974 Reverse the logic as well as the req text 2012-12-09 20:00:59 +00:00
Chris Young
388ddc6dbd non-working "always show tabbar" option 2012-12-09 20:00:11 +00:00
Chris Young
3ef843fcb4 Switch Yes/No Replace/Don'tReplace so Esc operates the "don't do anything" operation as expected. 2012-12-09 19:41:06 +00:00
Chris Young
6b7e678476 Only bother with the delayed requester on OS4 2012-12-09 19:39:48 +00:00
Chris Young
083cf492f5 Allow ctrl-click on hotlist toolbar to open in a new tab 2012-12-09 18:52:07 +00:00
Chris Young
dfa287767f Warn the user and give them an option to stop NetSurf shutting down, if the TCP/IP stack has signalled that it is about to exit. 2012-12-08 18:08:00 +00:00
Chris Young
ff333828b7 Warn when closing multiple tabs 2012-12-08 17:47:57 +00:00
Chris Young
69647cc6a4 Respond to Ctrl-C by immediately quitting. TCP/IP stack exit expects this. 2012-12-07 23:35:57 +00:00
Chris Young
40076ea422 Allow the size of the web search gadget to be user-set 2012-12-06 23:40:13 +00:00
Chris Young
61723e01c1 Avoid NULL pointer access 2012-12-05 18:14:45 +00:00
Chris Young
c88c4fa214 Don't need to attempt to free on remove, as the only entry point has already done this. 2012-12-01 15:23:11 +00:00
Chris Young
ee79de5244 Attempt to do some re-layout if the toolbar is added after the window opens. 2012-12-01 15:15:12 +00:00
Chris Young
ffcb07b8b2 Make hotlist toolbar actually work 2012-12-01 00:27:46 +00:00
Chris Young
61872ab3a4 Debug 2012-11-29 22:44:30 +00:00
Chris Young
23dc635e1a Make hotlist toolbar work and update (only updates on hotlist window close currently) 2012-11-29 22:13:42 +00:00
Chris Young
168d09c878 Improve the look of the hotlist toolbar 2012-11-28 22:42:23 +00:00
Chris Young
2437ca84a8 Hotlist toolbar needs to be ABOVE the tab bar 2012-11-28 19:44:40 +00:00
Chris Young
4e4bc9c135 Don't force a redraw after adding the toolbar, because we (currently) only add it immediately at window creation. 2012-11-28 19:43:24 +00:00
Chris Young
56d5e6963a Actually show the toolbar. It looks awful. 2012-11-28 19:41:18 +00:00
Chris Young
09bc58f7c2 Create a toolbar from the "Toolbar" folder within the hotlist. Note: makes no attempt to either free the toolbar or make the toolbar work. 2012-11-28 19:29:43 +00:00
Chris Young
6641b082f8 Fix the display of the drag save icon 2012-11-11 23:17:00 +00:00
Chris Young
efbfbbc967 Fix a serious crash that occurs if the underlying window is closed during a hook function invoked from it. 2012-10-31 20:50:22 +00:00
Chris Young
df70c7daa3 Ensure stack size is at least 128KB 2012-10-19 20:27:10 +01:00
Michael Drake
35eb251244 Fix "error setting certificate verify locations" problem when the Choices file doesn't exist. Now there's a single place for front ends to set options overrides. Fix nsoption_setnull_charp leak. 2012-10-17 14:20:18 +01:00
Chris Young
a5bd3d112c fix warnings 2012-10-11 20:13:38 +01:00
Michael Drake
29356734eb Include desktop/browser_private.h. 2012-08-22 13:16:20 +01:00
Michael Drake
45736594a1 Get presence of text input cleanly. 2012-08-20 22:03:59 +01:00
Chris Young
59784ba852 fix mask 2012-08-11 17:19:54 +01:00
Chris Young
69ad5db2d1 convert throbber to use standard bitmap functions; remove p96 dependency 2012-08-10 22:59:38 +01:00
Chris Young
2364d68367 avoid scaled images getting incorrect mask 2012-08-10 18:30:01 +01:00
Chris Young
1547aebdbb remove depth gadget, as doesn't let us select <256 colours anyway 2012-08-07 23:13:42 +01:00
Chris Young
61c268269a display depth gadget on screenmode requester 2012-08-07 23:09:40 +01:00
Chris Young
6748845042 fix display of favicon in palette-mapped modes 2012-08-07 23:07:16 +01:00
Chris Young
0d8aca4f12 use abstracted function 2012-08-07 21:22:51 +01:00
Chris Young
dd7935bb1f abstract the native bitmap fetcher functions, and make the favicon collection use the new one. 2012-08-07 21:09:49 +01:00
Chris Young
1ef7336f22 revert begin/endrefresh image avoidance - this isn't the cause of the simplerefresh damage region deadlock 2012-08-05 23:06:01 +01:00
Chris Young
b777549cc2 avoid crash if pen list is not set 2012-08-05 22:59:09 +01:00
Chris Young
ff8d7d974c Avoid redrawing palette-mapped images during BeginRefresh/EndRefresh (ie. SimpleRefresh damage redraw) as one of the DataTypes functions are causing an Intuition deadlock. 2012-08-05 22:29:35 +01:00
Chris Young
a46c5ae09f Merge branch 'master' into chris/palette-mapped-plotters 2012-08-05 14:29:12 +01:00
Chris Young
1e02eba193 Ask GID_ICON to redraw itself before we draw over the top of it. Unfortunately it redraws itself as a grey box, rather than the underlying window's backfill hook. 2012-08-05 14:26:41 +01:00
Chris Young
55c08431ee Fix build 2012-08-05 11:37:27 +01:00
Chris Young
d577a48bb7 Abstract pen obtain/release and structure so we can add these to a physical browser window's list 2012-08-05 11:28:48 +01:00
Chris Young
da4968b8e0 Allow selecting <16-bit wcreenmodes so we can easily see what needs doing. 2012-08-04 15:44:57 +01:00
Chris Young
20e99e4f20 Remove visible and invalid uses of git revision hashes. Anybody who needs to know hich revision it is can check about:testament, to everybody else the string is meaningless. 2012-07-01 16:40:24 +01:00
Chris Young
560d5d2035 Allow a comma-separated list of fonts to be specified in font_unicode_list
to provide more preferred fonts.  eg. if a user has dedicated Japanese
and Korean fonts available they might want a config like:
font_unicode:Japanese
font_unicode_list:Korean,Code2000
This will scan Japanese and Korean fonts first, then fill in any blanks
with Code2000 (followed by alphabetically all other fonts installed)

svn path=/trunk/netsurf/; revision=13917
2012-05-09 22:23:10 +00:00
Chris Young
36e9d114ea Stop abusing certain Messages; add some dedicated non-crazy HelpHints
svn path=/trunk/netsurf/; revision=13912
2012-05-07 15:06:48 +00:00
Chris Young
d5608581b9 Integrate Unicode font scanner into NetSurf.
NetSurf will now use any available font when trying to print
characters that are missing from the current font.
TODO: Preferred font list.

svn path=/trunk/netsurf/; revision=13905
2012-05-05 15:58:17 +00:00
Chris Young
9b984e8b3f Only struct gui_window_2 should use variable name 'gwin'. gui_window is
always 'g'.

svn path=/trunk/netsurf/; revision=13899
2012-04-29 16:13:53 +00:00
Chris Young
286a128e1b Change menus so menu functions are called internally by window.class
(RA_HandleInput). This makes menu selection more reliable and stops us
missing menu events which appeared to be getting lost within the
HANDLEINPUT method.

svn path=/trunk/netsurf/; revision=13898
2012-04-29 15:59:37 +00:00
Chris Young
2d854c549c Make simple refresh a configurable option
svn path=/trunk/netsurf/; revision=13896
2012-04-28 23:23:29 +00:00
Chris Young
682b2f2420 Fix simplerefresh. When dragging windows back on-screen, damaged areas are
still not repaired fully.  Overlapping windows have no such problem.
Menu events seem to be getting lost in simple refresh mode (this may be
related to event triggered for redrawing the area under the menu when it is
closed)

svn path=/trunk/netsurf/; revision=13895
2012-04-28 22:53:50 +00:00
Chris Young
8d4678b04b Add AppWindow ourself rather than letting window.class create it. Initial
tests indicate we are no longer losing icon drop events although there is
still an "event leak" somewhere.
Fix warnings.

svn path=/trunk/netsurf/; revision=13894
2012-04-28 19:43:46 +00:00
Chris Young
b4977fbdcc Replace strncpy with strlcpy, as strncpy is not guaranteed to be
NULL-terminated. (thx Colin Wenzel)

svn path=/trunk/netsurf/; revision=13881
2012-04-18 18:54:15 +00:00
Chris Young
5b79dbe36f Update NetSurf's system colours when OS prefs change
svn path=/trunk/netsurf/; revision=13822
2012-04-07 17:16:32 +00:00
Chris Young
183174b25a Move status basr left one pixel
svn path=/trunk/netsurf/; revision=13786
2012-04-02 18:05:09 +00:00
Chris Young
d434749953 Remove old commented out tags
svn path=/trunk/netsurf/; revision=13784
2012-03-31 21:51:44 +00:00
Chris Young
7a12cad439 Change the status bar frameiclass to a gaugeiclass, as it is more
aesthetically pleasing, and also allows us to show progress bar if it is
possible to get this data from the core in the future.

svn path=/trunk/netsurf/; revision=13783
2012-03-31 21:49:50 +00:00
Chris Young
e8d90a532a Search user data dir first for resources
svn path=/trunk/netsurf/; revision=13779
2012-03-30 19:28:37 +00:00
Chris Young
e30905be75 Use 'user' env-var to determine username
svn path=/trunk/netsurf/; revision=13778
2012-03-30 18:18:15 +00:00
Chris Young
38b310ad5f Move user-specifics out of Resources
svn path=/trunk/netsurf/; revision=13768
2012-03-28 22:17:27 +00:00
Chris Young
307df869c3 fix build
svn path=/trunk/netsurf/; revision=13729
2012-03-26 20:25:10 +00:00
Vincent Sanders
1490b52a6b NetSurf options rework (a=vince r=daniels,jmb)
svn path=/trunk/netsurf/; revision=13548
2012-03-22 09:34:34 +00:00
Chris Young
3db30dfd84 Fix scaled fast scrolling. Curiously this has solved the form select menu
problem :S

svn path=/trunk/netsurf/; revision=13505
2012-03-03 15:50:05 +00:00
Chris Young
2cd44ec454 Fix offsets when page scaled and scrolled
svn path=/trunk/netsurf/; revision=13504
2012-03-03 15:41:14 +00:00
Chris Young
3e77ceeb81 allow both x and y dimensions of redraw tiles to be configured
svn path=/trunk/netsurf/; revision=13502
2012-02-29 19:09:55 +00:00
Chris Young
b7f7293802 random changes
svn path=/trunk/netsurf/; revision=13474
2012-02-26 15:44:14 +00:00
Chris Young
bb17cc2529 Don't do schedule message handling on a while loop.. it sometimes causes
long pauses in user input.

svn path=/trunk/netsurf/; revision=13472
2012-02-26 11:03:09 +00:00
Chris Young
79c5485e27 Add tiled refresh, with tiles of max size option_redraw_tile_size. This
reduces the size of our off-screen bitmap and associated memory.
Only works with browser windows at present. History and treeviews still
have full window refresh/bitmap.
Setting the option to 0 brings back the old behaviour.

svn path=/trunk/netsurf/; revision=13468
2012-02-25 18:42:33 +00:00
Chris Young
20e825c8f4 More simple refresh. This would work (provided the user hasn't scrolled),
however we appear to be losing events (refresh and menu events are not
always being received)

svn path=/trunk/netsurf/; revision=13466
2012-02-24 23:18:24 +00:00
Chris Young
ce0d219328 typo
svn path=/trunk/netsurf/; revision=13465
2012-02-24 20:03:38 +00:00
Chris Young
b517cf331a option_screen_compositing to enable switching compositing for NetSurf's own
screen on/off.

Some experimentation with compositing and simple/smart refresh reveals that
simple refresh windows with compositing on for the screen behave the same
as smart refresh windows. Smart refresh windows with compositing off use
more gfx memory than when compositing is on. Simple refresh windows with
compositing off will probably be more memory efficient, as we are using
an off-screen bitmap to render the browsing area anyway. However due to
this bitmap being re-used over multiple tabs/windows, it does not always
reflect what should be on the window, so performing a redraw of damaged
areas may be the only option. Need to read damaged regions from layer
(probably through struct Region *DamageList) and check on performance vs
memory or make the window refresh type configurable.  Simple refresh code
#ifdefed out for now for further investigation later.

svn path=/trunk/netsurf/; revision=13464
2012-02-24 20:00:51 +00:00
Chris Young
b0b08b4eaf Remove "NetSurf" from release version string, that's on the splash anyway.
svn path=/trunk/netsurf/; revision=13443
2012-02-12 18:02:49 +00:00
Chris Young
9c7ced69d2 Shift status bar text over by a pixel and reposition the frame slightly.
Don't use WBorBottom as that is not particulary relevant to what we're
trying to do.

svn path=/trunk/netsurf/; revision=13441
2012-02-11 23:17:47 +00:00
Chris Young
efa55dd3f1 Fix build
svn path=/trunk/netsurf/; revision=13403
2012-01-15 15:57:02 +00:00
Chris Young
9f08a052d0 Allow confining the pointer to part of the window during drags. Actually
we aren't acting on this for any current drag types, but if we need to do
so in the future (eg. frame resizing), this is the code to do it.  The trap
lasts 10 IntuiTicks so is re-asserted on every mouse move when an active
drag is in effect.  Drag type must be set to GDRAGGING_NONE to clear.

svn path=/trunk/netsurf/; revision=13401
2012-01-11 21:41:55 +00:00
Michael Drake
6794af012e Constify rect param to gui_window_drag_start.
svn path=/trunk/netsurf/; revision=13397
2012-01-11 16:45:17 +00:00
Michael Drake
04ece30fa9 Pass pointer constraints for drag out to front ends. Ensure content scrollbar drag termination always informs the browser window layer that the drag is over.
svn path=/trunk/netsurf/; revision=13395
2012-01-11 14:20:26 +00:00
Chris Young
13a2ceb766 Remove unnecessary cache of scroll position
svn path=/trunk/netsurf/; revision=13344
2011-12-24 13:24:09 +00:00
Chris Young
56b6970c92 Search for DejaVu Serif Italic before DejaVu Serif Oblique, this fixes the fonts used
on the splash screen if newer DejaVu fonts have been installed and the old ones
removed.

svn path=/trunk/netsurf/; revision=13342
2011-12-24 12:57:42 +00:00
Chris Young
135a11db35 Fix scrollbar scroll
svn path=/trunk/netsurf/; revision=13341
2011-12-24 12:49:55 +00:00
Michael Drake
67f2470d5a Pass whether background images are wanted in redraw_context.
svn path=/trunk/netsurf/; revision=13335
2011-12-23 22:39:25 +00:00
Chris Young
879383e21e Pass keyboard scroll events to the core
svn path=/trunk/netsurf/; revision=13334
2011-12-23 22:14:00 +00:00
John Mark Bell
f2993e6ed0 content_get_url -> hlcache_handle_get_url, content__get_url -> content_get_url
svn path=/trunk/netsurf/; revision=13236
2011-12-04 14:55:23 +00:00
Chris Young
8d685d7ac0 Use core file drop.
Loop through entire list of dropped files.
If multiple files are dropped and not handled by core, open in tabs;
Activate the window on first file drop to workaround a bug where the window needed to
be clicked before the file would appear.
As using core functionality, DataTypes no longer used to parse dropped files (likely
to be rarely needed anyway).


svn path=/trunk/netsurf/; revision=13218
2011-12-02 12:47:11 +00:00
Chris Young
a7af4ba0c1 Pass mouse scrollwheel events to the core first
svn path=/trunk/netsurf/; revision=13201
2011-11-29 20:58:57 +00:00
Chris Young
b14c4f0a0b Revert r13138
svn path=/trunk/netsurf/; revision=13144
2011-11-10 14:22:02 +00:00
Chris Young
87c5f14c08 Update the title of the initial tab, even when the tab bar is hidden (ensures the
correct title will be present if it is made visible)

svn path=/trunk/netsurf/; revision=13138
2011-11-09 19:22:49 +00:00
Chris Young
4cbe7d9d94 Remove any need for LangNames to be imported as a Messages file
svn path=/trunk/netsurf/; revision=13099
2011-10-29 14:14:13 +00:00
Chris Young
b84ebeed36 Stop abusing Messages with continual load of LangNames
svn path=/trunk/netsurf/; revision=13098
2011-10-29 13:51:19 +00:00
Chris Young
d0ad76a77a Simplify
svn path=/trunk/netsurf/; revision=13097
2011-10-29 13:35:55 +00:00
Chris Young
4a0de7cd5c Allow usage of a resource.map file to map resource: requests to other files.
svn path=/trunk/netsurf/; revision=13096
2011-10-29 13:32:53 +00:00
Chris Young
62900af515 Search the current theme dir for resources.
svn path=/trunk/netsurf/; revision=13091
2011-10-29 11:24:29 +00:00
Chris Young
c1afe81e06 Complete extended context menus
svn path=/trunk/netsurf/; revision=13076
2011-10-23 13:15:44 +00:00
Chris Young
a4f14eb0e9 Avoid horizontal pixel-height lines of the background appearing when "fast scrolling"
down the page.  There is a similar problem with scrolling up pages which may be a bug
in ami_do_redraw_limits or plotters (probably bitmap tile plotter), as drawing
additional pixel lines after scrolling is not redrawing the affected area.
Example sites where this problem is apparent:
http://www.nintendolife.com (border pattern does not redraw)
http://www.amigaos.net/content/72/supported-hardware (clouds show through the main
text area)

svn path=/trunk/netsurf/; revision=13072
2011-10-22 13:52:13 +00:00
Chris Young
6959a30b26 Move non-requester user file operations to file.c
svn path=/trunk/netsurf/; revision=13065
2011-10-15 15:27:56 +00:00
Chris Young
c3fafd63f8 Move all main file req save ops to file.c
svn path=/trunk/netsurf/; revision=13064
2011-10-15 14:55:03 +00:00
Chris Young
ad8a965548 Start to consolidate user file operation into one file
svn path=/trunk/netsurf/; revision=13062
2011-10-15 14:09:35 +00:00
Chris Young
70aad31df6 Default search ico should only come from theme
svn path=/trunk/netsurf/; revision=13011
2011-10-08 13:49:31 +00:00
Chris Young
3bb98823f7 correct filename
svn path=/trunk/netsurf/; revision=12996
2011-10-07 23:26:39 +00:00
Chris Young
39b490d1f0 Add favicon to iconification icon
svn path=/trunk/netsurf/; revision=12995
2011-10-07 23:12:12 +00:00
Chris Young
f9ca9f3595 comment removal
svn path=/trunk/netsurf/; revision=12988
2011-10-07 21:53:35 +00:00
Chris Young
c8d9e012e5 favicon fixes
svn path=/trunk/netsurf/; revision=12985
2011-10-07 21:41:31 +00:00