Commit Graph

154 Commits

Author SHA1 Message Date
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
Michael Drake
0a91a057e9 Add support for delete key. 2013-05-12 19:49:47 +01:00
Michael Drake
9644d0594c Remove struct selection from gui_drag_save_selection, so gui.h doesn't need it now. 2013-05-10 11:54:26 +01:00
Michael Drake
fe1a40cbf4 Allow override of default window width/height individually. 2013-04-09 14:38:07 +01:00
Michael Drake
9178ede40b Avoid double/triple click stuff for scrollwheeling. 2013-03-28 10:13:41 +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
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
Michael Drake
15e61743a3 Add button to quit by default. Not having it confuses people who run it as intended on the framebuffer, and it can still be turned off should somone wish to. 2013-02-12 20:18:01 +00:00
Michael Drake
c2584d3f8b Add support for double and triple clicks. 2013-02-12 14:22:09 +00: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
Michael Drake
d9e7d58106 Fix up ripples from urldb change. 2012-10-11 11:20:02 +01:00
Michael Drake
84e1bf89d9 Add OSK icon. 2012-09-28 19:52:21 +01:00
Vincent Sanders
7604b76161 make the framebuffer resource path setting better 2012-08-22 16:58:11 +01:00
Michael Drake
153c444454 Move browser_window struct to private header. Places that shouldn't include it do, such as front end code.
Frontends that have been updated to build:
  framebuffer
  gtk
  monkey
  riscos

TODO:
  amiga
  atari
  beos
  cocoa
  windows
2012-08-22 12:22:58 +01:00
Michael Drake
36d3056526 Grab pointer during drag. 2012-08-02 16:29:37 +01:00
Michael Drake
1d827d2cf3 Fix click travel tolerance calc. Has to travel more than 5px to become drag. 2012-08-02 12:06:47 +01:00
Michael Drake
a92f2aa0a6 Simple clipboard support. Only used within browser window. 2012-08-01 23:45:09 +01:00
Michael Drake
75212235f8 Cleanup drag end. 2012-08-01 22:21:36 +01:00
Michael Drake
40a754a362 Convert move pointer during build and use it for page drag-scroll. 2012-08-01 21:48:16 +01:00
Michael Drake
30bc438ab0 Pass drags to core. Enables page drag-scrolling, text selection, frames scrollbars, etc. 2012-08-01 21:30:24 +01:00
Michael Drake
b238791002 Use enum instead of magic numbers for tracking key modifier states. Pass special keys to core (e.g. WORD_LEFT, SELECT_ALL, etc). 2012-08-01 14:47:20 +01:00
Michael Drake
9505fdcf84 Make browser window widget remove caret on "strip focus" event. 2012-07-31 22:16:06 +01:00
Michael Drake
9a92e7bdeb Core's gui_window_remove_caret should only remove caret if the bw in question owns the caret. 2012-07-31 21:02:19 +01:00
Michael Drake
941a48dabd When setting fbtk caret, register callback for redrawing caret removal. 2012-07-31 20:40:14 +01:00
Michael Drake
f6436d54c8 Add caret to browser window widgets. Caret now shows when editing forms. 2012-07-31 14:05:39 +01:00
Michael Drake
8660bed543 Change a couple of 'if's to 'else if's. 2012-07-26 19:04:45 +01:00
Michael Drake
305938bb48 Avoid a load of repeat operations when panning by greater than viewport size. 2012-07-26 19:00:38 +01:00
Michael Drake
d9d7dcb758 Avoid redrawing the whole screen when scrolling by zero pixels. 2012-07-26 18:37:51 +01: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
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
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
Michael Drake
3299b9493b Call core to see if handles scroll wheel event first.
svn path=/trunk/netsurf/; revision=13198
2011-11-29 14:22:08 +00:00
Vincent Sanders
820312eb35 Update for modified libnsfb API
Make thumbnailing work

svn path=/trunk/netsurf/; revision=13159
2011-11-21 08:45:08 +00:00
Michael Drake
4e6828e7e1 Remove unused variable.
svn path=/trunk/netsurf/; revision=13095
2011-10-29 12:04:33 +00:00
John Mark Bell
d5bb9d98e7 Build resource: map at start time
Remove stylesheet url globals -- the core will always use resource:{default,quirks,adblock}.css as appropriate

svn path=/trunk/netsurf/; revision=12949
2011-10-05 08:32:52 +00:00
John Mark Bell
f27d5a3e15 Remove gui_multitask
svn path=/trunk/netsurf/; revision=12828
2011-09-21 00:25:09 +00:00
Michael Drake
0401d52f51 Remove gui_window_frame_resize_start() functions.
svn path=/trunk/netsurf/; revision=12738
2011-09-05 15:35:34 +00:00
Michael Drake
e9aa4936d5 Remove dead code from gui_create_browser_window().
svn path=/trunk/netsurf/; revision=12712
2011-09-04 18:30:19 +00:00
Michael Drake
5be6bd452d Remove gui_window_position_frame() definition from core and remove all implementations from front ends.
svn path=/trunk/netsurf/; revision=12711
2011-09-04 18:20:24 +00:00
Michael Drake
0057e15014 If no Cookies file path is set in Choices file, use default of "~/.netsurf/Cookies".
svn path=/trunk/netsurf/; revision=12675
2011-08-29 09:28:07 +00:00
Michael Drake
6fed775565 Don't need to set current_redraw_browser any more.
svn path=/trunk/netsurf/; revision=12653
2011-08-24 13:31:03 +00:00
Michael Drake
c9ff2da701 Fix up Framebuffer for r12574 API change.
svn path=/trunk/netsurf/; revision=12579
2011-07-06 12:51:11 +00:00
Michael Drake
eddae6af06 Remove plotter table global. Pass a redraw context around redraw functions. Knockout could be handled better. Note: untested on most front ends.
svn path=/trunk/netsurf/; revision=12543
2011-06-30 15:48:07 +00:00
Michael Drake
b57c2e0bee Move rectangle type to utils/types.h
svn path=/trunk/netsurf/; revision=12525
2011-06-28 15:18:48 +00:00
Michael Drake
dea7683985 Remove gui_window_set_scale().
svn path=/trunk/netsurf/; revision=12502
2011-06-24 12:01:24 +00:00
Michael Drake
66f6e9eff5 Rename utils/resource to utils/filepath to avoid confusion with resource: fetcher.
svn path=/trunk/netsurf/; revision=12088
2011-03-17 11:26:30 +00:00
Michael Drake
7f41b913c9 Scale mouse pointer position.
svn path=/trunk/netsurf/; revision=12081
2011-03-16 21:41:51 +00:00
Michael Drake
f6501e2d38 Beginnings of scale support.
- No front end to set scale, only global option.
 - No input (mouse pos) scaling.
 - Scaled of pos for update_box (e.g. animation) is wrong.
 - Off-by-1 in scaled scroll panning.

Perhaps we should look at moving all the scale logic into
the core.


svn path=/trunk/netsurf/; revision=12080
2011-03-16 20:37:44 +00:00
John Mark Bell
408f78b737 Move schedule.h to utils/
svn path=/trunk/netsurf/; revision=12039
2011-03-13 22:50:54 +00:00
Daniel Silverstone
93e9bfe323 Shunt the schedule function definitions to desktop/schedule.h. Shunt the hlcache/llcache to using schedule to get their cleanups run.
svn path=/trunk/netsurf/; revision=12029
2011-03-13 18:26:46 +00:00
Vincent Sanders
9660442e92 remove obsolete, unused gui_window_redraw API
svn path=/trunk/netsurf/; revision=11870
2011-03-01 14:31:54 +00:00
Vincent Sanders
0231675abf add resource handling
move gtk and framebuffer to use generic resource handling

svn path=/trunk/netsurf/; revision=11772
2011-02-23 22:27:55 +00:00
Michael Drake
5cefc9584a Pass clip rect to browser_window_redraw as pointer.
svn path=/trunk/netsurf/; revision=11672
2011-02-13 23:04:26 +00:00
Michael Drake
fedcbf6656 Pass clip rect to browser_window_redraw as struct.
svn path=/trunk/netsurf/; revision=11648
2011-02-11 19:36:33 +00:00
Vincent Sanders
9a183018ea improve browser_window_redraw width and height handling
svn path=/trunk/netsurf/; revision=11642
2011-02-11 00:14:22 +00:00
Vincent Sanders
2a8e8a5cf1 add browser_window_redraw() method to make content_redraw calls from frontends common RISC OS, atari, amiga and beos have not been updated
svn path=/trunk/netsurf/; revision=11640
2011-02-10 22:35:41 +00:00
Michael Drake
5eaeaed909 Remove Hubbub and Wapcaplet initialisation and finalisation.
svn path=/trunk/netsurf/; revision=10980
2010-12-04 20:14:33 +00:00
Michael Drake
71ea71540a Give the browser window widget input focus by defualt on startup.
svn path=/trunk/netsurf/; revision=10948
2010-11-20 18:50:45 +00:00
Michael Drake
908da609e7 Make click action happen on release.
svn path=/trunk/netsurf/; revision=10947
2010-11-20 17:27:36 +00:00
John Mark Bell
864f682465 Squash warnings
svn path=/trunk/netsurf/; revision=10866
2010-10-05 19:24:54 +00:00
Vincent Sanders
02ab2db00f Add flexible toolbar support and docuemnt it
svn path=/trunk/netsurf/; revision=10862
2010-10-04 15:50:39 +00:00
John Mark Bell
696a71c80d Load/save cookies file in framebuffer frontend
svn path=/trunk/netsurf/; revision=10685
2010-08-10 19:56:08 +00:00
Chris Young
004aee8281 Amiga: Add "cut" option; make cut/copy/paste menus context sensitive; allow dragging
selections within NetSurf window to text fields (does not work across windows).

todo: switching tabs will reset cut/copy/paste menus to initial state; cut option is
putting something on the clipboard which causes a crash when pasting it back

svn path=/trunk/netsurf/; revision=10660
2010-07-24 16:39:37 +00:00
Michael Drake
c77552d9f8 Bring throbber off screen edge by spacing_width.
svn path=/trunk/netsurf/; revision=10607
2010-07-07 18:20:43 +00:00
John Mark Bell
5bebf2f2fc Merge branches/vince/netsurf-fbtk-rework to trunk.
svn path=/trunk/netsurf/; revision=10605
2010-07-07 18:08:17 +00:00
Michael Drake
b010a25771 + Refactor input handling from browser window code into content
handlers.
+ Disentangle all box tree manipulation from browser window
  code and put it where it belongs.
+ Move other content specific and other irrelevant code from
  browser window handling to appropriate places.
+ Put mouse state enum in new mouse header, since it's not just
  used by browser window code, and it is used by treeview
  windows on the treeview branch.

svn path=/trunk/netsurf/; revision=10561
2010-06-04 09:35:08 +00:00
Vincent Sanders
0807b40513 rationalise callback routines to use a unified interface
svn path=/trunk/netsurf/; revision=10550
2010-05-04 22:41:58 +00:00
Daniel Silverstone
5e887908b3 Consolidate several 'myrealloc' functions into ns_realloc, rename one which *is* different, thereby eliminating the word 'myrealloc' from the NS codebase
svn path=/trunk/netsurf/; revision=10530
2010-04-30 16:06:03 +00:00
John Mark Bell
000e6ad3de It turns out that realloc(ptr, 0) --> free(ptr) is not actually required by the C standard (whereas realloc(NULL, size) --> malloc(size) is).
Therefore, explicitly model the behaviour expected by our libraries (that realloc of 0 size is equivalent to free).

svn path=/trunk/netsurf/; revision=10524
2010-04-30 07:00:58 +00:00
Vincent Sanders
0d3601a7ce fix pending redraw discovery
svn path=/trunk/netsurf/; revision=10515
2010-04-28 23:29:12 +00:00
Vincent Sanders
2fd1476f8c The schedule_run function is only called by the frontends so remove it from the core header and add its definition to the frontend headers.
Alter the framebuffer schedule_run to return the time untill the next event.


svn path=/trunk/netsurf/; revision=10512
2010-04-28 22:39:37 +00:00
Vincent Sanders
dd61b8db20 fill bottom right hand corner of framebuffer furniture
svn path=/trunk/netsurf/; revision=10505
2010-04-28 08:57:50 +00:00
John Mark Bell
9c488e3d95 Make sure that an event occurred before inspecting it
svn path=/trunk/netsurf/; revision=10493
2010-04-27 06:27:54 +00:00
John Mark Bell
e692750d5f Ensure that we clean up the root browser window
svn path=/trunk/netsurf/; revision=10492
2010-04-27 06:23:52 +00:00
Vincent Sanders
fe151c135d First steps towards rationalising fbtk, split teh scrollbar widgets out
svn path=/trunk/netsurf/; revision=10466
2010-04-22 23:50:58 +00:00
John Mark Bell
a4503a1574 Fix framebuffer build
svn path=/trunk/netsurf/; revision=10404
2010-04-15 22:32:13 +00:00
John Mark Bell
2748fe4f64 Make downloads work again.
svn path=/trunk/netsurf/; revision=10243
2010-04-05 21:35:38 +00:00
Vincent Sanders
0194e4bb55 avoid diviosion by zero errors;
svn path=/trunk/netsurf/; revision=10223
2010-03-31 19:14:01 +00:00
Vincent Sanders
95e4a737de rationalise the usage of the file scheme
svn path=/trunk/netsurf/; revision=10221
2010-03-31 13:59:57 +00:00
Vincent Sanders
e00fb7bd2d second pass at startup refactor removing the gui_init callback
svn path=/trunk/netsurf/; revision=10205
2010-03-29 20:03:44 +00:00
Vincent Sanders
7e67527267 first part of initialisation refactor move gui_init2 into frontends
svn path=/trunk/netsurf/; revision=10202
2010-03-29 16:59:30 +00:00
Daniel Silverstone
270ef59a98 Merge jmb/new-cache; r=dsilvers,rs=vince
svn path=/trunk/netsurf/; revision=10180
2010-03-28 12:56:39 +00:00
John Mark Bell
babf642970 Process command line after loading options file.
svn path=/trunk/netsurf/; revision=9964
2010-02-10 07:22:50 +00:00
Vincent Sanders
e01d93f344 Refactor main into the frontends
remove unused embedded global

svn path=/trunk/netsurf/; revision=9851
2010-01-20 20:32:30 +00:00
Vincent Sanders
192d05c20c fix framebuffer command line/default option usage
svn path=/trunk/netsurf/; revision=9849
2010-01-20 17:07:26 +00:00
Michael Drake
da47d50cc2 Remove loads of magic numbers from gui_create_browser_window. Place toolbar icons according to their widths, rather than at fixed positions. Keep track of used width, and use that to get remaining width for URL bar. Use option_toolbar_status_width to determine scrollbar/statusbar proportion. Reduce and make consistent the spacing between toolbar icons.
svn path=/trunk/netsurf/; revision=9763
2009-12-28 23:13:02 +00:00
John Mark Bell
d7ddeebe76 Fix framebuffer build
svn path=/trunk/netsurf/; revision=9730
2009-12-18 00:06:57 +00:00
Vincent Sanders
ac50b0b3e4 ensure source rectangle on copy operations has its upper co-ordinates set
svn path=/trunk/netsurf/; revision=9721
2009-12-07 17:35:11 +00:00
Vincent Sanders
6c271f148b Make pan routines use new screen copy API
svn path=/trunk/netsurf/; revision=9715
2009-12-04 11:13:33 +00:00
John Mark Bell
0b4d623205 Make the gui click handlers responsible for deciding whether to act on DOWN or UP (or both), rather than having the fbtk forcibly prevent UP events being generated.
This fixes the inability to have clicks in the viewport acted upon, and also allows for useful future extensions such as drag scrolling and text selection.

svn path=/trunk/netsurf/; revision=9704
2009-11-23 22:56:29 +00:00
John Mark Bell
ea288ade79 Insert missing breaks. If these cases really should fall through, they need commenting, instead.
svn path=/trunk/netsurf/; revision=9699
2009-11-22 14:44:58 +00:00
Michael Drake
13afa0ff4c Merge Paul Blokus' selectscroll branch. Adds core select menu widget for forms and core scrollbar widget.
svn path=/trunk/netsurf/; revision=9289
2009-08-14 10:37:33 +00:00
John Mark Bell
ddeadd1c02 Merge LibCSS port to trunk.
svn path=/trunk/netsurf/; revision=8752
2009-07-23 23:05:34 +00:00
Michael Drake
9ec94e4dcf Use progress pointer.
svn path=/trunk/netsurf/; revision=8527
2009-07-14 16:18:35 +00:00
Vincent Sanders
c04b939c8c Fix by tlsa for content which is updated by the core like animated gifs and forms
svn path=/trunk/netsurf/; revision=8270
2009-07-02 21:23:54 +00:00
Michael Drake
3437f00c43 Use menu pointer image.
svn path=/trunk/netsurf/; revision=8157
2009-06-29 14:18:41 +00:00